[国家集训队] 整数的lqp拆分

题目背景

来源:2011中国国家集训队命题答辩

题目描述

lqp在为出题而烦恼,他完全没有头绪,好烦啊… 他首先想到了整数拆分。整数拆分是个很有趣的问题。给你一个正整数 $N$ ,对于N的一个整数拆分就是满足任意 $m>0$,$a_1 ,a_2 ,a_3…a_m>0$,且 $a_1+a_2+a_3+…+a_m=n$ 的一个有序集合。通过长时间的研究我们发现了计算对于 $n$ 的整数拆分的总数有一个很简单的递推式,但是因为这个递推式实在太简单了,如果出这样的题目,大家会对比赛毫无兴趣的。 然后 lqp 又想到了斐波那契数。定义 $F_0=0,F_1=1,F_n=F_{n-1}+F_{n-2} (n>1)$,$F_n$就是斐波那契数的第$n$项。但是求出第 $n$ 项斐波那契数似乎也不怎么困难… lqp 为了增加选手们比赛的欲望,于是绞尽脑汁,想出了一个有趣的整数拆分,我们暂且叫它:整数的lqp拆分。 和一般的整数拆分一样,整数的 lqp 拆分是满足任意 $m>0$,$a_1 ,a_2 ,a_3…a_m>0$,且 $a_1+a_2+a_3+…+a_m=n$ 的一个有序集合。但是整数的lqp拆分要求的不是拆分总数,相对更加困难一些。 对于每个拆分,lqp 定义这个拆分的权值 $F_{a_1}F_{a_2}…F_{a_m}$,他想知道对于所有的拆分,他们的权值之和是多少? 简单来说,就是求 $\sum\prod_{i=1}^m F_{a_i}$ $m>0$ $a_1,a_2...a_m>0$ $a_1+a_2+...+a_m=n$ 由于答案可能非常大,所以要对 $10^9 + 7$ 取模。

输入输出格式

输入格式


输入的第一行包含一个整数 $n$。

输出格式


输出一行一个整数表示答案。

输入输出样例

输入样例 #1

3

输出样例 #1

5

说明

【数据范围】 对于 $60\%$ 的数据,$1\le n \le 10^9$; 对于 $100\%$ 的数据,$1\le n \le 10^{10000}$。 【样例解释】 $F_0=0,F_1=1,F_2=1,F_3=2$。 对于 $n=3$,有这样几种 lqp 拆分: $3=1+1+1$,权值是 $F_1\times F_1\times F_1=1\times1\times1=1$ $3=1+2$,权值是 $F_1\times F_2=1\times1=1$ $3=2+1$,权值是 $F_2\times F_1=1\times1=1$ $3=3$,权值是 $F_3=2$ 所以答案是 $1+1+1+2=5$