#include<bits/stdc++.h>
using namespace std;
const long long MOD=1e9+7;
long long n,t;
long long dequy(long long x, long long mu)
{
if (mu==0)
{
return 1;
}
long long t=dequy(x,mu/2);
t=t*t%MOD;
if (mu%2!=0)
{
t=(t*x)%MOD;
}
return t;
}
int main()
{
if(fopen("pp3.inp","r"))
{
freopen("pp3.inp","r",stdin);
freopen("pp3.out","w",stdout);
}
cin >> n;
cout << dequy(3,n-1)%MOD << "\n";
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgbG9uZyBsb25nIE1PRD0xZTkrNzsKbG9uZyBsb25nIG4sdDsKbG9uZyBsb25nIGRlcXV5KGxvbmcgbG9uZyB4LCBsb25nIGxvbmcgbXUpCnsKICAgIGlmIChtdT09MCkKICAgIHsKICAgICAgICByZXR1cm4gMTsKICAgIH0KICAgIGxvbmcgbG9uZyB0PWRlcXV5KHgsbXUvMik7CiAgICB0PXQqdCVNT0Q7CiAgICBpZiAobXUlMiE9MCkKICAgIHsKICAgICAgICB0PSh0KngpJU1PRDsKICAgIH0KICAgIHJldHVybiB0Owp9CmludCBtYWluKCkKewogICAgaWYoZm9wZW4oInBwMy5pbnAiLCJyIikpCiAgICB7CiAgICAgICAgZnJlb3BlbigicHAzLmlucCIsInIiLHN0ZGluKTsKICAgICAgICBmcmVvcGVuKCJwcDMub3V0IiwidyIsc3Rkb3V0KTsKICAgIH0KICAgICAgICBjaW4gPj4gbjsKCiAgICAgICAgY291dCA8PCBkZXF1eSgzLG4tMSklTU9EIDw8ICJcbiI7Cn0K