EduBrick

A. Дровосек

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

Дано дерево с отмеченной вершиной — корнем. За ход игрок разрубает ребро, и из двух получившихся компонент остаётся только та, что содержит корень; вторая отваливается и в игре больше не участвует. Проигрывает тот, кто не может сделать ход.

Нужно определить, выигрывает ли первый игрок, и если да — указать любой его выигрышный ход.

Формат ввода

В первой строке nn и rr (2≤n≤1052 \le n \le 10^5, 1≤r≤n1 \le r \le n) — количество вершин и номер корня. В следующих n−1n-1 строках по два числа — концы очередного ребра.

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

В первой строке выведите 11 или 22 — номер выигрывающего игрока. Если выигрывает первый, во второй строке выведите номер ребра (в порядке ввода, с единицы), которое ему достаточно разрубить первым ходом.

Выигрышных рёбер бывает несколько; подойдёт любое. Ответ проверяет отдельная программа: она разрубает названное ребро и смотрит, стало ли значение Гранди нулём.

Примеры

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