UOJ Logo LFYZ Online Judge

LFYZOJ

#55. 【2018年2月期末欢乐赛】你到底有没有毒

统计

题目背景

众所周知,Capella 这个人有毒,并且酷爱说别人有毒。

但实际上,被她说有毒的人之中,有相当一部分其实并没有毒,这就导致她总是错怪一些人。

起初,她试图在说每一个人有毒之前盘问个清楚——「你到底有没有毒?」

然而,她觉着不能这样下去了,于是她决定采取一些措施。

问题描述

qaq

Capella 为了确定下来究竟哪些人有毒,拿来许多毒药丸,以及足够多的图中三种板板。

她随意抓一把药丸,用以上三种板板来封装这些药丸,每种板板用多少个没有限制——甚至可以是 $0$ 个。

她数出封装方案总数,并断定,这个数字对应的人有毒。

Capella 是非常讲究封装顺序的,也就是说假如有 $3$ 个药丸,那么1 22 1算作 $2$ 种封装方案。

然而 Capella 觉着随意抓一把还不够,能确定下来的有毒的人还不够多,于是她数了 $1$ 个药丸的封装方案数、$2$ 个药丸的封装方案数、$3$ 个药丸的封装方案数…这些方案数对应的人,就是第 $1,2,3,\ldots$ 个有毒的人。

然而大约没有人用数字做名字,于是 Capella 对这些数字做了处理。

对于每一个数字,从低位开始,两位一截,高位不足两位则用 $0$ 补足,这样我们得到了一串两位数。

将每一个两位数对 $26$ 取余,得到的数 $0 \ldots 25$ 分别对应字母 a..z——这样我们便得到了一个名字。

人名首字母大写。

数字转人名举例:

chart

现在,Capella 想问你,第 $n$ 个有毒的人叫什么?

输入格式

第一行,一个正整数 $T$,数据组数。

接下来 $T$ 行,每行一个正整数 $n$。

输出格式

$T$ 行,每行一个字符串,对于每一组输入,输出第 $n$ 个有毒的人的名字,首字母大写

样例1

input

1
1

output

B

说明

$1$ 个药丸有 $1$ 种封装方法,$1$ 对应字母 B,因此第 $1$ 个有毒的人名字叫 B。

样例2

input

2
3
9

output

E
Bx

说明

$3$ 个药丸有 $4$ 种封装方法(1 1 11 22 13),$4$ 对应字母 E,因此第 $3$ 个有毒的人名字叫 E。

至于 $9$ 个药丸,各位可以跟着 Capella 一起手动清点。

数据范围与约定

数据规模约定如下表:

Data_Range

时间限制: $1\mathrm{s}$

内存限制: $256\mathrm{MB}$

来源

Capella, from KJHS.