Это интерактивная задача.
Инженер Поликарп работает в компании «Абак». Каждый день он должен придумывать N двоичных строк длины M. В один из таких дней он решил разнообразить свой рабочий процесс: после того как Поликарп придумывает очередную строку, он интерпретирует её как двоичное число (возможно, c ведущими нулями), поочерёдно складывает его с каждым ранее придуманным числом, и подсчитывает сколько раз результат сложения не поместился в двоичное число длины M.
Поликарп очень плохо складывает числа, поэтому он просит вас помочь ему.
В первой строке программа жюри передает два целых числа N и M (1 ≤ N × M ≤ 105) — количество придуманных Поликарпом двоичных строк и длину этих строк соответственно.
Далее N раз происходит следующeе: программа жюри в отдельной строке передаёт вашей программе очередное придуманное Поликарпом двоичное число, состоящее ровно из M бит, а ваша программа в отдельной строке должна выдать одно целое число — количество раз, когда при сложении данного числа и ранее переданных вам двоичных чисел результат не поместился в двоичное число длины M.
После обработки N запросов ваша программа обязана завершиться с кодом завершения 0. В противном случае результатом взаимодействия будет ошибка (даже если все ответы, выданные вашей программой, были правильными).
5 2
01
10
11
00
10
0
0
2
0
2
5 3
110
001
101
110
011
0
0
1
2
3
Для корректной работы программы после каждой операции вывода данных вам необходимо очищать буфер вывода, то есть делать следующие операции:
Также не забудьте выводить перевод строки после каждого ответа вашей программы.
| Название |
|---|


