100503: [AtCoder]ABC050 D - Xor Sum

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Score : $600$ points

Problem Statement

You are given a positive integer $N$. Find the number of the pairs of integers $u$ and $v$ $(0≦u,v≦N)$ such that there exist two non-negative integers $a$ and $b$ satisfying $a$ $xor$ $b=u$ and $a+b=v$. Here, $xor$ denotes the bitwise exclusive OR. Since it can be extremely large, compute the answer modulo $10^9+7$.

Constraints

  • $1≦N≦10^{18}$

Input

The input is given from Standard Input in the following format:

$N$

Output

Print the number of the possible pairs of integers $u$ and $v$, modulo $10^9+7$.


Sample Input 1

3

Sample Output 1

5

The five possible pairs of $u$ and $v$ are:

  • $u=0,v=0$ (Let $a=0,b=0$, then $0$ $xor$ $0=0$, $0+0=0$.)

  • $u=0,v=2$ (Let $a=1,b=1$, then $1$ $xor$ $1=0$, $1+1=2$.)

  • $u=1,v=1$ (Let $a=1,b=0$, then $1$ $xor$ $0=1$, $1+0=1$.)

  • $u=2,v=2$ (Let $a=2,b=0$, then $2$ $xor$ $0=2$, $2+0=2$.)

  • $u=3,v=3$ (Let $a=3,b=0$, then $3$ $xor$ $0=3$, $3+0=3$.)


Sample Input 2

1422

Sample Output 2

52277

Sample Input 3

1000000000000000000

Sample Output 3

787014179

Input

题意翻译

## 题目描述 给出正整数$N$. 求出整数对$u$和$v$ $(0≤u,v≤N)$的数目,使得存在两个非负整数$a$和$b$满足$a\ xor\ b = u$和$a\ +\ b= v$。这里,$xor$表示按位异或。 要求对答案取模$10^9 + 7$。 ## 输入输出格式 ### 输入格式 一个正整数$N$ ### 输出格式 满足条件的$u,v$的个数,对$10^9+7$取模 ## 数据范围: $N<=10^{18}$

加入题单

算法标签: