A. Googol字符串

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较

题目描述

“0/1 字符串” 是一个字符串,其中每个字符都是 0 1 。有两个操作可以在 0/1 字符串上执行:

switch :把 1 都变为 0 0 都变为 1 。例如, 100 变为 011

reverse :字符串反转。 例如, 100 变为 001 。 考虑这个 0/1 字符串的无限序列:

S0=“”
S1=“0”
S2=“001”
S3=“0010011”
S4=“001001100011011”

S_N=S_{N−1}+“0”+switch(reverse(S_{N−1}))

请你求出 S_{googol} 中的第 K 个字符,其中 googol=10^{100}

输入格式

第一行包含整数 T ,表示共有 T 组测试数据。

每组数据占一行,包含一个整数 K

输出格式

每组数据输出一个结果,每个结果占一行。

结果表示为 Case # x : y ,其中 x 是组别编号(从 1 开始), y S_{googol} 中的第 K 个字符(从1开始)。

样例

输入样例:

4
1
2
3
10

输出样例:

Case #1: 0
Case #2: 0
Case #3: 1
Case #4: 0

数据范围与提示

1≤T≤100 , 1≤K≤10^{18}