시간 제한메모리 제한제출정답맞힌 사람정답 비율
60 초 (추가 시간 없음) 1024 MB0000.000%

문제

Napisz program, który dla danej liczby naturalnej n generuje niezbyt długi napis złożony z niewielkiej liczby znaków, który ma dokładnie n różnych podciągów.

Formalnie, niech w będzie napisem złożonym kolejno ze znaków w1, w2, . . . , wm. Podciągiem tego napisu nazwiemy dowolny napis postaci wi1wi2 . . . wik, gdzie 0 ≤ k ≤ m oraz 1 ≤ i1 < i2 < . . . < ik ≤ m. W szczególności napis pusty (0-literowy) jest podciągiem napisu w. Dwa podciągi uznajemy za różne, jeśli reprezentowane przez nie napisy są różne. Przykładowo, napis ioi ma siedem różnych podciągów: podciąg pusty oraz podciągi i, o, ii, io, oi i ioi. Zauważ, że podciąg jednoliterowy i pojawia się w napisie ioi dwukrotnie, a mimo tego jest liczony tylko raz.

입력

W pierwszym wierszu standardowego wejścia znajduje się jedna liczba naturalna q (1 ≤ q ≤ 10 000) określająca liczbę zestawów danych. W kolejnych q wierszach znajdują się opisy kolejnych zestawów danych. Każdy z nich składa się z jednej liczby naturalnej n (2 ≤ n ≤ 1018) – oczekiwanej liczby podciągów wygenerowanego napisu (licząc z pustym podciągiem włącznie).

출력

Twój program powinien wypisać na wyjście q wierszy, będących odpowiedziami do kolejnych zestawów danych z wejścia. W każdym z nich powinien znaleźć się napis złożony z co najwyżej 1000 znaków, przy czym można używać cyfr oraz małych i wielkich liter alfabetu angielskiego (wszystkie te znaki są rozróżnialne między sobą przy porównywaniu podciągów). Napis ten ma mieć dokładnie n różnych podciągów.

Jeśli istnieje wiele możliwych odpowiedzi, dowolna z nich zostanie zaakceptowana.

Jeśli nie istnieje odpowiedź spełniająca wszystkie warunki zadania, zamiast napisu należy wypisać ! (znak wykrzyknika).

예제 입력 1

5
7
10
42
15
512

예제 출력 1

ioi
Mmmmm
ERRATA
0000FF
R3GuLaM1N