Отправитель посылает по зашумлённой линии некоторые двоичные кодовые слова. Получатель на другом конце линии использует специальный метод восстановления исходных слов.
Каждое слово изначально состоит из символов 0 и 1. Все слова имеют одинаковую длину
N (4 ≤
N ≤ 1000). После передачи по зашумлённой линии со словом может случиться одно (но не более) из следующих изменений:
- Любой (но только один) символ 0 заменён символом 1.
- Любой (но только один) символ удалён.
- Дополнительный символ (0 или 1) вставлен в любую позицию.
Известно, что все исходные слова имеют следующее свойство: сумма позиций, на которых находятся символы 1, кратна (N + 1) или равна нулю.
Исходные данные
Ввод содержит число N, затем идут полученные слова. Слова разделены переводами строк. Слов не более 2001. Кроме описанного, ввод может содержать только дополнительные пробелы или переводы строк.
Результат
Ваша программа должна вывести исходную последовательность слов какими они были отправлены. Слова должны разделяться переводами строк.
Пример
исходные данные | результат |
---|
4
0000
011
1011
11011
| 0000
0110
1001
1111
|
Источник задачи: Чемпионат УрГУ 1997