У маленькой Даши скоро день рождения. Целыми днями она обдумывает, кого бы ей пригласить, какое платье надеть, и пытается угадать, что же ей подарят. А в это время её старший брат Серёжа занят гораздо более печальными мыслями — мама сказала, что именно он будет развлекать детей после застолья.
Подойдя к этому делу со всей свойственной ему ответственностью, Серёжа разработал игру, призванную повысить навыки детей в работе со строками. Правила этой игры таковы:
Маме эта игра показалась очень забавной, но она сразу заметила два слабых места в плане Серёжи. Во-первых, может случится так, что игра никогда не закончится. Во-вторых, дети носятся очень быстро, и уследить за словами у них на лбах практически невозможно, поэтому ведущий (то есть сам Серёжа) может не заметить победителя. Для того, чтобы избежать подобных неприятностей, Серёжа попросил Вас, как своего друга-программиста, написать программу, предсказывающую исход игры по начальным данным.
В первой строке входного файла содержатся два целых числа N и K. 1 ≤ N ≤ 3·105, |K| ≤ 3·105. Следующая строка входного файла содержит строку из N строчных латинских букв. Первая буква соответствует буквам, лежащим на подносе перед первым игроком, вторая — перед вторым и так далее.
Если игра с имеющимися начальными данными когда-нибудь закончится, то выведите в первой строке слово «Finite» (без кавычек), а во второй строке номер победителя (игроки нумеруются начиная с единицы). В случае, если ребята обречены бегать бесконечно, выведите в первой строке слово «Infinite» (без кавычек), а во второй строке выведите номера игроков, которые на момент наступления Апокалипсиса будут иметь лексикографически минимальные строки на своих лбах. Номера необходимо выводить в возрастающем порядке. Игроки нумеруются с единицы.
3 3
aba
Infinite
1 3
3 2
aba
Finite
1
5 0
break
Finite
4