Misaki's Kiss again

Accepts: 75
Submissions: 593
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
问题描述
摩天轮后,一些朋友希望再次得到Misaki的吻,所以Misaki把他们分别编号从1到$N$,如果他们中有人的编号是$M$,而且$gcd(N,M)=N$ xor $M$,那么他以可以得到一个吻。
请帮助Misaki找到所有的$M$..
Note that:
$GCD(a, b)$ 表示$a$和$b$的最大公约数.
$A XOR B$ 表示$A$异或$B$.
输入描述
多组测试数据,
对于每组测试数据只有一个数$N(0 < N <= {10}^{10})$
输出描述
第一行Case #x:
第二行一个数count表示有多少个$M$
第三行有count个数,按升序输出,中间一个空格,表示具体的$M$..
输入样例
3
5
15
输出样例
Case #1:
1
2
Case #2:
1
4
Case #3:
3
10 12 14
Hint
第三个样例:gcd(15,10)=5且(15 xor 10)=5, gcd(15,12)=3且(15 xor 12)=3,gcd(15,14)=1且(15 xor 14)=1