#include #define rep(i,n) for(int i=0;i ; const int INF = 1e9; const int MOD = 1000000007; using vec = vector ; using mat = vector; mat mul(mat &A, mat &B,int mod) { mat C(A.size(),vec(B[0].size())); for(int i=0;i 0){ if(n & 1) B = mul(B,A,mod); A = mul(A,A,mod); n >>= 1; } return B; } int main(){ ll n; cin >> n; mat A = {{1,1},{1,0}}; A = pow(A,n,MOD); ll ans = (A[0][0] * A[1][0])%MOD; cout << ans << endl; return 0; }