luogu#P4984. 转换

转换

题目背景

hdxrie \rm hdxrie\ 最近在为新建的宇宙购物中心编写价格系统。

题目描述

购物中心汇聚了来自各个星球的商品,但是由于不同的星球采用的进制各不相同,导致商品价格计算起来比较困难,因此价格系统是必不可少的。

由于甲方所给的期限太短,hdxrie \rm hdxrie\ 便找到你来做他的助手,他只需要你帮忙编写一个进制转换的程序就行,其它的各个系统版块全部由他自己负责,你能在规定期限内写出转换程序吗?

输入格式

第一行一个数nnnn表示有多少个物品的价格需要转换。

接下来nn行,每行三个数字a,l,ra,l,r和一个价格串SS

aa表示这个价格串为aa进制数(保证aa不为1,0,1-1,0,1),你需要把它转化为llrr的所有进制(请自动跳过输出为1,0,1-1,0,1这些进制的情况)。

由于价格为实数,所以难免会出现小数,并且若一个小数为循环小数,我们会将小数的循环节使用 <,> 括起来。

如果不是循环小数则没有尖括号,如果没有小数部分则没有小数点,保证不会出现尖括号之间没有数字情况。

保证循环节以及循环节前面的小数部分都是最短的,例如1010进制下的0.1231230.123123\cdots,那么所给的读入形式为0.0.<123123>,保证不会出现类似于0.10.1<231231>或0.0.<123123123123>这些情况。

对于正进制aa,保证不会出现循环节为a1a-1的情况,例如1010进制不会出现0.0.<99>这样的输入,但是负进制没有这样的要求。

为了方便转换,当用正进制表示负数的时候,规定在价格前加上负号,但是由于负进制既可表示正数也可表示负数,所以规定负进制前不允许出现负号。

规定任意进制的每一位不能为负,规定大于99的值按照大写字母从小到大编写。

输出格式

对于每一个需要转换的价格,在给定范围内按进制从小到大的顺序输出转换为该进制后的价格串(请自动跳过输出为1,0,1-1,0,1这些进制的情况)。

对于输出格式你也应该严格按照上面输入格式的要求输出每一个价格串。

2
10 2 4 72451
-3 -4 2 123456

10001101100000011
10200101101
101230003
2021
122000
10001001
-10000111
2
8 2 2 176336030760401.6
30 35 36 HQA9MBFD3SEC.<GAR85DJ2LO>

1111110011011110000011000111110000100000001.11
39SAWRJ5CPP7.<J36CPFVSM9>
2EMEUXKKZHA0.<JMWQ6>
1
-26 -6 -6 1PMMK.<L15>

1213400.<511>

提示

  • 对于5%5\%的数据,保证没有小数部分,1n20,2a36,2lr361≤n≤20,2≤a≤36,2≤l≤r≤36

  • 对于15%15\%的数据,保证没有小数部分,1n100,2a36,36lr361≤n≤100,2≤|a|≤36,-36≤l≤r≤36

  • 另有15%15\%的数据,保证转换前和转换后都是有限小数,1n550,2a36,2lr361≤n≤550,2≤a≤36,2≤l≤r≤36

  • 另有20%20\%的数据,1n550,2a36,2lr361≤n≤550,2≤a≤36,2≤l≤r≤36

  • 对于100%100\%的数据,1n550,2a36,36lr361≤n≤550,2≤|a|≤36,-36≤l≤r≤36

保证所有数据中,价格的绝对值都不会超过26312^{63}-1,且转换前和转换后的小数部分的字符串长度均不超过loga262\left\lfloor\log_{|a|}2^{62}\right\rflooraa表示进制,括号不计入长度)。