Лисиця Сіель стає командиром Древоземлі. У Древоземлі, як це випливає з назви, є міст, з'єднаних n - 1 ненаправленими дорогами, а між будь-якими двома містами існує шлях по дорогах Древоземлі.
Лисиця Сіель повинна призначити кожному місту офіцера. У кожного офіцера є ранг — літера від 'A' до 'Z'. Таким чином, існує різних рангів, найвищий — 'A', найнижчий — 'Z'.
У Сіель є достатньо офіцерів кожного рангу. Але не все так просто, повинна бути виконана особлива умова: якщо , — два різних міста і у їхніх офіцерів однакові ранги, то на простому шляху між і повинно бути місто , яке має офіцера з вищим рангом. Таким чином, спілкування між офіцерами одного рангу буде гарантовано проходити під наглядом офіцера з вищим рангом.
Допоможіть Сіель скласти відповідний план призначення офіцерів містам. Якщо це неможливо, виведіть "Impossible!".
У першому рядку записано ціле число n~(2 \le n \le 10^5) — кількість міст у Древоземлі.
У кожному з наступних n - 1 рядків записано два цілих числа і b~(1 \le a, b \le n, a \ne b) — це означає, що існує дорога між містами і . Вважайте, що міста пронумеровані від до певним чином.
Гарантується, що заданий граф буде деревом.
Якщо відповідний план існує, виведіть символів, розділених пробілами: -й символ позначає ранг офіцера в місті .
В іншому випадку, виведіть "Impossible!".
Приклад 1
Приклад 2