航航玩红色和蓝色的弹珠。他从左到右连续放置了n个弹珠。然后,弹珠形成了一个斑纹。
红色和蓝色弹珠的非空序列是一个斑纹,如果这个序列中的弹珠的颜色交替的话。例如,序列(红色;蓝色;红色)和(蓝色)是斑纹,而序列(红色;红色)不是斑纹。
现在航航想知道,有多少种方法可以从这个序列中选择一个斑纹子序列。帮他解决问题,找到多少种方式模1000000007(109+ 7).
航航玩红色和蓝色的弹珠。他从左到右连续放置了n个弹珠。然后,弹珠形成了一个斑纹。
红色和蓝色弹珠的非空序列是一个斑纹,如果这个序列中的弹珠的颜色交替的话。例如,序列(红色;蓝色;红色)和(蓝色)是斑纹,而序列(红色;红色)不是斑纹。
现在航航想知道,有多少种方法可以从这个序列中选择一个斑纹子序列。帮他解决问题,找到多少种方式模1000000007(109+ 7).
第一行包含单个整数n (1 ≤ n ≤ 106)— 航航序列中的弹珠数量。
打印单个数字 — 问题的答案模1000000007 (109+ 7).
3
6
样例2输入
4
样例2输出
11
注释:
让我们考虑第一个测试示例。让我们假设航航最初有序列(红色;蓝色;红色),所以有六种方法可以选择斑纹:
· 挑选第一块弹珠;
· 选择第二块弹珠;
· 选择第三块弹珠;
· 选择第一个和第二个弹珠;
· 选择第二个和第三个弹珠;
· 选择第一个,第二个和第三个弹珠。
可以证明,如果航航选择(蓝色;红色;蓝色)作为初始序列,则方式的数量不会改变。