#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <deque>
#include <iostream>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <utility>
#include <vector>

#define p(s) cout<<(s)<<endl
#define REP(i,n,N) for(int i=n;i<N;i++)
#define RREP(i,n,N) for(int i=N-1;i>=n;i--)
#define CK(n,a,b) ((a)<=(n)&&(n)<(b))
#define F first
#define S second
typedef long long int ll;
using namespace std;
const ll mod=1e9+7;

int N;
int dp[1000010][3];
ll ans;
int main(){
    cin>>N;
    dp[0][0]=1;
    REP(i,0,N){
        REP(j,0,3){
            if(j<2) dp[i+1][j+1] += dp[i][j];//ケン
            if(j>0) dp[i+1][0] += dp[i][j];//パー
            dp[i+1][j+1]%=mod;
            dp[i+1][0]%=mod;
        }
    }
    REP(j,0,3){
        ans += dp[N][j];
        ans%=mod;
    }
    p(ans);
    return 0;
}