Дві містичні літери з дерева
Вам потрібно витягти 2 літери з бінарного дерева, складеного з беззнакових цілих чисел, дотримуючись наступних правил. Нехай n - висота дерева. На рівні k (1 ≤ k ≤ n) дерево містить k вершин, кожна з яких має 2 дітей (окрім вершин-листків на рівні n, які не мають дітей). Нижче наведено приклад структури дерева. Деякі вершини можуть мати 2 батьків.
Приклад:
Вам потрібно пройти по дереву шляхом максимальної суми (наприклад, 1 + 5 + 9 = 15). Числа в кожній сумі не можуть йти по неперетинаючихся посиланнях (тобто 5 + 7 не допустимо). Ваше проміжне завдання - обчислити 2 числа для витягнення літер. Перше число обчислюється за формулою i^2, де i - число вздовж шляху найбільшої суми, а n - висота дерева.
Друге число - це сума по максимальному шляху (i). Для наведеного вище прикладу перше число = 1 + 25 + 81 = 107, друге число = 1 + 5 + 9 = 15.
І, нарешті, ці два числа перетворюються в дві літери нижнього регістру від 'a' до 'z', де 'a' відповідає 0, а 'z' - 25. Оскільки всього є лише 26 літер, числа більше 25 будуть позначати ті ж самі літери. Наприклад, 107 = 'd' і 15 = 'p' (тобто першою літерою є 'a' = 0, або 26, або 52 і так далі).
Напишіть програму, яка знайде 2 містичні літери за заданим деревом.
Вхідні дані
Перший рядок містить висоту n (0 < n < 100) дерева. Другий рядок містить послідовно беззнакові цілі числа i (0 < i < 100) для кожного рівня дерева. Вважайте, що в дереві існує лише один максимальний шлях.
Вихідні дані
У першому рядку виведіть два цілі числа, обчислені за вищенаведеними правилами, а у другому рядку виведіть 2 декодовані літери.