#51NODP1032. 异或约数和

异或约数和

Description

定义  f(i)f(i)  为  ii  的所有约数的异或和,给定  n(1 n 1014)n(1\leq n\leq 10^{14})  ,求  $f(1) \space xor \space f(2) \space xor \space f(3) \space xor \cdots  xor \space f(n)$  (其中 xorxor 表示按位异或)

样例解释:

f(1)=1f(1) = 1 f(2)=1xor2=3f(2) = 1 xor 2 = 3 f(3)=1xor3=2f(3) = 1 xor 3 = 2 f(4)=1xor2xor4=7f(4) = 1 xor 2 xor 4 = 7

1 xor 3 xor 2 xor 7 = 71\ xor\ 3\ xor\ 2\ xor\ 7\ =\ 7

Input Format

一行,输入一个整数 nn

Output Format

一行,一个整数为答案

4
7