ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

1007. Кодовые слова

Ограничение времени: 2.0 секунды
Ограничение памяти: 64 МБ
Отправитель посылает по зашумлённой линии некоторые двоичные кодовые слова. Получатель на другом конце линии использует специальный метод восстановления исходных слов.
Каждое слово изначально состоит из символов 0 и 1. Все слова имеют одинаковую длину N (4 ≤ N ≤ 1000). После передачи по зашумлённой линии со словом может случиться одно (но не более) из следующих изменений:
  1. Любой (но только один) символ 0 заменён символом 1.
  2. Любой (но только один) символ удалён.
  3. Дополнительный символ (0 или 1) вставлен в любую позицию.
Известно, что все исходные слова имеют следующее свойство: сумма позиций, на которых находятся символы 1, кратна (N + 1) или равна нулю.

Исходные данные

Ввод содержит число N, затем идут полученные слова. Слова разделены переводами строк. Слов не более 2001. Кроме описанного, ввод может содержать только дополнительные пробелы или переводы строк.

Результат

Ваша программа должна вывести исходную последовательность слов какими они были отправлены. Слова должны разделяться переводами строк.

Пример

исходные данныерезультат
4    
0000 
011  
1011 
11011
0000
0110
1001
1111
Источник задачи: Чемпионат УрГУ 1997