#include<bits/stdc++.h>
using namespace std;
const long long MOD=1e9+7;
long long n;
long long nhan(long long a, long long b, long long c)
{
    if(b==0ll) return 0ll;
    long long t = nhan(a,b/2,c);
    if(b%2==0)
    {
        return (t+t)%c;
    }
    else
    {
        return ((t+t)%c + a%c)%c;
    }
}
long long mu (long long a, long long b, long long c)
{
    if(b==0) return 1ll;
    long long t= mu(a,b/2,c);
    if(b%2==0)
    {
        return nhan(t,t,c);
    }
    else
    {
        return nhan(nhan(t,t,c),a,c);
    }
}
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cin >> n;
    long long du0 = n/3;
    long long du1= n/3 + (n%3>0);
    long long du2= n/3 + (n%3>1);
    long long ans0= mu(4,du0,MOD);
    long long ans1= mu(3,du1,MOD);
    long long ans2 =mu(3,du2,MOD);
    cout << nhan(nhan(ans0,ans1,MOD),ans2,MOD);
}
