

N=gets.to_i
# dp[len][char(len-3)][char(len-2)][char(len-1)]
dp=Array.new(N+1){Array.new(4){Array.new(4){Array.new(4,0)}}}
dp[0][3][3][3]=1
MOD=10**9+7

# blacklist A=0 C=1 G=2 T=3
# ACG
# GAC
# AXGC
# AGXC
N.times do |i|
    dpi=dp[i]
    dpip=dp[i+1]
    4.times do |c1|
        dpi1=dpi[c1]
        4.times do |c2|
            dpi12=dpi1[c2]
            dpip2=dpip[c2]
            4.times do |c3|
                dpi123=dpi12[c3]
                dpip23=dpip2[c3]
                4.times do |c4|
                    next if c4==2 && c3==1 && c2==0
                    next if c4==1 && (
                        (c3==2 && c2==0) || (c3==0 && c2==2) || (c1==0 && (c2==2 || c3==2))
                    )
                    dpip23[c4]+=dpi123
                    dpip23[c4]%=MOD
                end
            end
        end
    end
end

ans=0
4.times do |i|
    4.times do |j|
        4.times do |k|
            ans+=dp[N][i][j][k]
            ans%=MOD
        end
    end
end

p ans