|
Билетики
(Время: 0,5 сек. Память: 16 Мб Сложность: 37%)
В процессе установки турникетов в автобусах, разработчики столкнулись с проблемой проверки подлинности билета. Для ее решения был придуман следующий способ защиты от подделок.
Информация, записанная на билете, кодируется K числами (0 или 1). При этом непосредственно на билете записывается последовательность из N чисел (N ≥ K) так, что числа, записанные на расстоянии K, совпадают. Таким образом, для проверки подлинности билета достаточно проверить, что все числа на расстоянии K совпадают. К сожалению, при считывании информации с билета иногда могут происходить ошибки — считается, что одно из чисел может исказиться (то есть 0 замениться на 1, или 1 — на 0). Такой билет все равно нужно считать подлинным. Во всех остальных случаях билет считается поддельным.
Напишите программу, которая по информации, считанной с билета, устанавливает его подлинность, и указывает на то, при считывании какого из чисел могла произойти ошибка.
Входные данные
В первой строке входного файла INPUT.TXT записаны числа N и K (1 ≤ N ≤ 50000, 1 ≤ K ≤ 1000, K ≤ N). Во второй строке записано N чисел, каждое из которых является 0 или 1 — информация, считанная с билета.
Выходные данные
В первой строке выходного файла OUTPUT.TXT должно быть записано OK, если билет подлинный и FAIL, если поддельный. В случае, если билет подлинный, во второй строке выведите 0, если все числа были считаны правильно, или номер числа, в котором при считывании произошла ошибка. Если возможных искаженных номеров несколько, выведите наименьший из них.
Примеры
№ | INPUT.TXT | OUTPUT.TXT |
1 | 6 2
1 0 1 0 1 0
| OK
0
|
2 | 8 5
0 1 1 0 1 0 0 1
| OK
2
|
3 | 6 2
1 1 1 0 0 0
| FAIL |
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
| |