#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
int N;
struct Matrix{
long long m[2][2];
};
Matrix Mul(Matrix A, Matrix B) {
Matrix ret;
for(int i = 0; i < 2; i ++) {
for(int j = 0; j < 2; j ++) {
ret.m[i][j] = 0;
for(int k = 0; k <2; k ++)
ret.m[i][j] += A.m[i][k] * B.m[k][j] % mod;
}
}
return ret;
}
Matrix Pow(Matrix A, long long N) {
Matrix ret;
ret.m[0][0] = 1;
ret.m[0][1] = 0;
ret.m[1][0] = 0;
ret.m[1][1] = 1;
while(N) {
if(N & 1)
ret = Mul(ret, A);
A = Mul(A, A);
N /= 2;
}
return ret;
}
int main() {
scanf("%d", &N);
Matrix ans, A;
ans.m[0][0] = 1;
ans.m[0][1] = 0;
A.m[0][0] = 1;
A.m[0][1] = 1;
A.m[1][0] = 1;
A.m[1][1] = 0;
ans = Mul(ans, Pow(A, N - 1));
printf("%lld\n", ans.m[0][0]);
return 0;
}