#S1001. 次幂和

次幂和

题目描述

给出一个整数 NN,将 NN 分解为若干个 2 的次幂的和,共有多少种方法?

2 的次幂形式为 2k2^k:有 1,2,4,8,16,32,64,128,1, 2, 4, 8, 16, 32, 64, 128, \dots

输入格式

输入一个整数 NN (1N1091 \le N \le 10^9)。

输出格式

输出方案数对 10910^9 取模的结果。

输入数据 1

7

输出数据 1

6

样例说明

所有合法方案如下:

  • 1+1+1+1+1+1+11+1+1+1+1+1+1
  • 1+1+1+1+1+21+1+1+1+1+2
  • 1+1+1+2+21+1+1+2+2
  • 1+1+1+41+1+1+4
  • 1+2+2+21+2+2+2
  • 1+2+41+2+4

数据范围

  • 对于 30% 的数据,N30N \le 30
  • 对于 60% 的数据,N100N \le 100
  • 对于 100% 的数据,N106N \le 10^6