Загрузка данных


Ботик смотрит на строку из букв и пытается понять, где у неё «эхо»: иногда буква повторяется ровно через k
 позиций, словно кто-то заранее подмигнул из будущего.

Ботик особенно любит ситуации, когда клавиша как будто «залипла» и получился длинный блок одинаковых букв. Он хочет найти букву, которая стоит в самом длинном таком блоке, внутри которого хотя бы раз случается эхо через k
.

Входные данные
В первой строке вводится строка s
 (1≤|s|≤2∗105)
, состоящая из строчных латинских букв.

Во второй строке вводится число k
 (1≤k<|s|)
.

Блоком одинаковых букв назовём максимальный по включению подряд идущий фрагмент строки, состоящий из одной и той же буквы.

Блок считается подходящим, если существует позиция i
 внутри этого блока такая, что i+k≤|s|
 и si=si+k
.

Выходные данные
Если подходящих блоков нет, выведите −1
.

Иначе среди всех подходящих блоков выберите блок максимальной длины. Если таких блоков несколько, выберите самый левый (с минимальной начальной позицией). Выведите букву этого блока

s = input()
k = int(input())
lst = list()
b = list()
for i in range(k):
    mx_l = 1
    cur_l = 1
    mx_ch = i
    for j in range(i + k, len(s), k):
        if s[j] == s[j - k]:
            cur_l += 1
        else:
            cur_l = 1
        if cur_l > mx_l:
            mx_l = cur_l
            mx_ch = j
    lst.append(mx_l)
    b.append(mx_ch)
maxi = max(lst)
mini_i = 10 ** 100
for i in range(k):
    if lst[i] == maxi:
        if b[i] < mini_i:
            mini_i = b[i]

if maxi == 1:
    print(-1)
else:
    print(s[mini_i - (maxi - 1) * k])