#include<bits/stdc++.h>
using namespace std;
const int N=400,MOD=1e9+7;
int dp[N][N][N][4]; //dp[i][j][k][l]表示 和第一个朋友玩了i天和第二个朋友玩了j天和第三个朋友玩了k天,l表示当前在和第l个朋友玩
int n;
void solve(){
dp[1][0][0][1]=1;
dp[0][1][0][2]=1;
dp[0][0][1][3]=1;
for(int day=1;day<=3*n;day++){
for(int i=0;i<=n;i++){
for(int j=0;j<=n;j++){
int k=day-i-j;
if(k<0) break; //当前是j的循环j会越来越大,用continue后面也会不满足条件,所以直接break
if(k>n) continue;
if(i+1<=n){
dp[i+1][j][k][1]=(dp[i+1][j][k][1]+dp[i][j][k][2]+dp[i][j][k][3])%MOD;
}
if(j+1<=n){
dp[i][j+1][k][2]=(dp[i][j+1][k][2]+dp[i][j][k][1]+dp[i][j][k][3])%MOD;
}
if(k+1<=n){
dp[i][j][k+1][3]=(dp[i][j][k+1][3]+dp[i][j][k][1]+dp[i][j][k][2])%MOD;
}
}
}
}
int res=0;
for(int i=1;i<=3;i++){
res=(res+dp[n][n][n][i])%MOD;
}
cout<<res<<endl;
return;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin>>n;
solve();
return 0;
}