3237. n! 进制

Easy循环位运算基本算法

时间限制:2000 ms

内存限制:256 MiB

题面

n!n! 进制是指从数的最低位开始,第 ii 位的权值是 (i+1)!(i+1)!,第 ii 位取值范围为 00~i+1i+1ii00 开始。

例如: n!n! 进制的 2121 对应10进制的 55, 计算方法为:2×2!+1×1!=52 \times 2! + 1 \times 1! = 5n!n! 进制的 120120 对应10进制的 10101×3!+2×2!+0×1!=101 \times 3! +2 \times 2! +0 \times 1! = 10

给你一个10进制数,求其 n!n! 进制的值。

输入格式

第 1 行为一个整数 TT (1T10)(1 \leq T \leq 10),表示问题数。

接下来 TT 行,每行一个10进制的整数 nn0n36287990 \leq n \leq 3\,628\,799 (10!1)(10! - 1)

输出格式

对于每个问题,输出一行问题的编号(0 开始编号,格式:case #0: 等),然后在一行中输出十进制数的对应的 n!n! 进制数的值。

样例

输入

5
0
1
10
100
3628799

输出

case #0:
0
case #1:
1
case #2:
120
case #3:
4020
case #4:
987654321

提示

n!n! 表示 nn 的阶乘。