#P12388. Easy Equation

Easy Equation

题目背景

(图:某位不愿透露姓名的热心 /ˈfɜri/ 网友)

题目描述

定义:

$$f(n)=\sum_{i=1}^n\sum_{j=1}^n[\operatorname{popcount}(i+j)\gcd(i,j)=\max(i,j)] $$

其中 popcount(x)\operatorname{popcount}(x)xx 在二进制下 11 的个数,gcd(i,j)\gcd(i,j)i,ji,j 的最大公约数。

现在给定正整数 nn,你需要求出 f(1)f(2)f(n)f(1)\oplus f(2)\oplus\cdots\oplus f(n) 的值。其中 \oplus 是按位异或。

输入格式

一行一个正整数 nn

输出格式

一行一个自然数,表示 f(1)f(2)f(n)f(1)\oplus f(2)\oplus\cdots\oplus f(n) 的值。

10
13
10000
3159

提示

本题采用捆绑测试。

  • Subtask 1 (10pts):n10n\le 10
  • Subtask 2 (10pts):n103n\le 10^3
  • Subtask 3 (20pts):n105n\le 10^5
  • Subtask 4 (30pts):n106n\le 10^6
  • Subtask 5 (30pts):n107n\le 10^7

对于全部数据,1n1071\le n\le 10^7