#SDNU1204. 水题

水题

Description

一个整数总可以拆分为2的幂的和,例如: 7=1+2+47=1+2+4 7=1+2+2+27=1+2+2+2 7=1+1+1+47=1+1+1+4 7=1+1+1+2+27=1+1+1+2+2 7=1+1+1+1+1+27=1+1+1+1+1+2 7=1+1+1+1+1+1+17=1+1+1+1+1+1+1 总共有六种不同的拆分方式。 再比如:44可以拆分成:4=44 = 44=1+1+1+14 = 1 + 1 + 1 + 14=2+24 = 2 + 24=1+1+24=1+1+2。 用f(n)f(n)表示nn的不同拆分的种数,例如f(7)=6f(7)=6. 要求编写程序,读入nn(不超过10000001000000),输出f(n)f(n) % 1000000000。

Format

Input

每组输入包括一个整数:N(1N1000000)N(1\le N\le 1000000)

Output

对于每组数据,输出f(n)f(n)%1000000000。

Samples

7
6

Hints

水题