EduBrick

J. Код Хэмминга: исправление

1000 мс · 256 МБ · всё или ничего

Дано кодовое слово Хэмминга, в котором мог быть испорчен не более чем один бит. Найдите позицию ошибки и восстановите данные.

Формат ввода

В первой строке LL (1≤L≤1051 \le L \le 10^5) — длина кодового слова. Во второй — само слово из символов 0 и 1.

Гарантируется, что слово получено кодированием из предыдущей задачи, после чего не более одного бита могло измениться.

Формат вывода

В первой строке выведите позицию испорченного бита (нумерация с единицы) или 0, если ошибки нет.

Во второй строке выведите восстановленные данные — биты с непроверочных позиций. Если данных нет, выведите пустую строку.

Примеры

ввод
1
0
вывод
0
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.