U225250 楽

题目背景

卡常题。(不只是硬件层面) 建议使用`C++11`并开`O2` **请注意数据范围!**

题目描述

对一个**无序**数对 $(i,j)$ ,我们认为它是“**楽**”的当且仅当它满足 $\gcd(a,b)=a \oplus b$ 。 其中 $\oplus$ 代表按位异或运算。 问在 $1\le i,j\le n$ 时有多少个“**楽**”的数对。

输入格式

一行一个整数 $n$ 。

输出格式

一行一个整数,即答案。

说明/提示

对 $10\%$ 的数据,$n\le 2\times10^5$ ; 对 $30\%$ 的数据,$n\le 2\times10^7$ ; 对 $100\%$ 的数据,$n\le 2\times10^8$ 。 样例解释:对样例1,仅有 $(2,3)$ 是“**楽**”的 。