Дві містичні літери з дерева#6954

Дві містичні літери з дерева

1 секунда
128 мегабайтів
Легка

Вам потрібно витягти літери з бінарного дерева, складеного з беззнакових цілих чисел, дотримуючись наступних правил. Нехай - висота дерева. На рівні (1 \le k \le n) дерево містить вершин, кожна з яких має дітей (окрім вершин-листків на рівні , які не мають дітей). Нижче наведено приклад структури дерева. Деякі вершини можуть мати батьків.

Приклад:

Вам потрібно пройти по дереву шляхом максимальної суми (наприклад, 1 + 5 + 9 = 15). Числа в кожній сумі не можуть йти по посиланнях, що не перетинаються (тобто 5 + 7 не допустимо). Ваше проміжне завдання - обчислити числа для витягнення літер. Перше число обчислюється за формулою i^2, де - число вздовж шляху найбільшої суми, а - висота дерева.

Друге число - це сума по максимальному шляху (). Для наведеного вище прикладу перше число = 1 + 25 + 81 = 107, друге число = 1 + 5 + 9 = 15.

І, нарешті, ці два числа перетворюються в дві літери нижнього регістру від 'a' до 'z', де 'a' відповідає , а 'z' - . Оскільки всього є лише літер, числа більше будуть позначати ті ж самі літери. Наприклад, = 'd' і = 'p' (тобто першою літерою є 'a' = , або , або і так далі).

Напишіть програму, яка знайде містичні літери за заданим деревом.

Вхідні дані

Перший рядок містить висоту (0 < n < 100) дерева. Другий рядок містить послідовно беззнакові цілі числа (0 < i < 100) для кожного рівня дерева. Вважайте, що в дереві існує лише один максимальний шлях.

Вихідні дані

У першому рядку виведіть два цілі числа, обчислені за вищенаведеними правилами, а у другому рядку виведіть декодовані літери.

Приклади

Приклад 1

Loading
Loading