数的计算(Hard Ver)

我们要求找出具有下列性质数的个数(包含输入的正整数nn),由于答案很大,输出对109+710^9+7取模的结果。

先输入一个正整数 nn,然后对此正整数按照如下方法进行处理:

  • 不作任何处理。

  • 在它的左边加上一个正整数,但该正整数不能超过原数的一半。

  • 加上数后,继续按此规则进行处理,直到不能再加正整数为止。

输入格式

一个正整数 nn

输出格式

一个整数,表示具有该性质数的个数。

样例输入

6

样例输出

6

样例解释

满足条件的数为6,16,26,126,36,1366, 16, 26, 126, 36, 136

数据规模

对于100%100\%的数据,保证n106n\leq 10^6