// 题目地址:https://ac.nowcoder.com/acm/contest/1114/A
/*
找规律(碰运气)
n:1 = 2
n:2 = 3
n:3 = 5
n:4 = 8
...
dp解法(参考牛客题解)
dp[i][0]:长度为 i, 字符最后一个字符为'c'的情况数
dp[i][1]:长度为 i, 字符最后一个字符为'y'的情况数
则有:
dp[i + 1][0] = dp[i][1]; 即每个以'p'结尾的字符串都可以加个'c'(保证不会有'c'连续)
dp[i + 1][1] = dp[i][1] + dp[i][0]; 'p'的限制没'c'大,所以在任何字符串后面加'p'都可
*/
#include<iostream>
#include<cstdio>
using namespace std;
typedef long long LL;
const int mod = 1e9 + 7;
const int inf = 100000;
int n;
//LL num[100005];
LL dp[100005][2];
//void init(){
// num[1] = 2; num[2] = 3;
// for(int i = 3; i <= inf; i++){
// num[i] = (num[i - 1] + num[i - 2]) % mod;
// }
//}
void workindp(){
dp[1][0] = dp[1][1] = 1;
for(int i = 2; i <= inf; i++){
dp[i][0] = dp[i - 1][1];
dp[i][1] = (dp[i - 1][1] + dp[i - 1][0]) % mod;
}
}
int main()
{
// init();
workindp();
while(~scanf("%d", &n)){
// printf("%lld\n", num[n]);
printf("%lld\n", (dp[n][0] + dp[n][1]) % mod);
}
return 0;
}