Misaki's Kiss again

Time Limit: 2000/1000 MS (Java/Others)

Memory Limit: 65536/65536 K (Java/Others)

Description

After the Ferries Wheel, many friends hope to receive the Misaki's kiss again,so Misaki numbers them $1,2...N-1,N$,if someone's number is M and satisfied the $GCD(N, M)$ equals to $N$ XOR $M$,he will be kissed again.

Please help Misaki to find all $M(1<=M<=N)$.

Note that:
$GCD(a, b)$ means the greatest common divisor of $a$ and $b$.
$A$ XOR $B$ means $A$ exclusive or $B$

Input

There are multiple test cases.

For each testcase, contains a integets $N (0 < N <= {10}^{10})$

Output

For each test case,
first line output Case #X:,
second line output $k$ means the number of friends will get a kiss.
third line contains $k$ number mean the friends' number, sort them in ascending and separated by a space between two numbers

Sample Input

3 5 15

Sample Output

Case #1: 1 2 Case #2: 1 4 Case #3: 3 10 12 14
Hint
In the third sample, gcd(15,10)=5 and (15 xor 10)=5, gcd(15,12)=3 and (15 xor 12)=3,gcd(15,14)=1 and (15 xor 14)=1

Hint

hujie

Source

Valentine's Day Round

提交代码