#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;
}