#2522. 求和

求和

题目描述

农民约翰命令他的奶牛搜索不同的数字集,这些数字总和等于一个给定的数字。

奶牛只使用2\red{2}的整数幂。以下是可能的数字集,总和为7:1)\red{7:1)}

1+1+1+1+1+1+1+12)\red{1+1+1+1+1+1+1+12)}1+1+1+1+1+1+23)\red{1+1+1+1+1+1+2 3)}1+1+1+2+24)\red{1+1+1+2+2 4)}1+1+1+45)\red{1+1+1+4 5)}1+2+2+26)\red{1+2+2+2 6)}1+2+4\red{1+2+4}

帮助FJ\red{FJ}计算给定整数N(\red{N(}1<=N<=1000000)\red{1<=N<=1000000)}的所有可能表示。

给出一个N(1≤\red{N(1≤}N≤\red{N≤}106),\red{10^6),}使用一些2\red{2}的若干次幂的数相加来求之.问有多少种方法

输入格式

一个整数N.\red{N.}

输出格式

方法数.这个数可能很大,请输出其在十进制下的最后9\red{9}位

样例

输入样例

7

输出样例

6