#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define FOR(i,a,b) for(ll i = (a);i <= (b);i++)
#define FOD(i,a,b) for(ll i = (b);i >= (a);i--)
#define el '\n'
const ll mang = 1e7 + 5;
const ll MAX = 1e18;
const ll MOD = 1e9 + 7;
ll n,k;
int main(){
    cin.tie(0) -> sync_with_stdio(0);
//    freopen("TREE.INP","r",stdin);
//    freopen("TREE.OUT","w",stdout);
    cin >> n;
    ll prev0 = 1,prev1 = 0,prev2 = 0,prev3 = 0;
    FOR(i,1,n){
        ll x0 = prev0;
        ll x1 = prev1;
        ll x2 = prev2;
        ll x3 = prev3;
        prev0 = (x1 + x2 + x3) % MOD;
        prev1 = (x0 + x2 + x3) % MOD;
        prev2 = (x0 + x1 + x3) % MOD;
        prev3 = (x0 + x1 + x2) % MOD;

    }
    cout << prev0;

}
