N = gets.to_i

# A -> 0 C -> 1 G -> 2 T -> 3
# NG = AGC + 1度入れ替えてAGCになるもの
# AGC, GAC , ACG , A?GC , AG?C
# 021, 201 , 012 , 0?21 , 02?1

ary = Array.new(101).map{Array.new(4,0).map{Array.new(4,0).map{Array.new(4,0)}}}
ary[0][3][3][3] = 1
mod = 1000000007

N.times{|len|
    4.times{|c1| # 最後から1文字目
        4.times{|c2| # 最後から2文字目
            4.times{|c3| # 最後から3文字目
                next if ary[len][c1][c2][c3] == 0
                4.times{|a| # 新規追加文字
                    next if (a == 1 && c1 == 2 && c2 == 0)
                    next if (a == 1 && c1 == 0 && c2 == 2)
                    next if (a == 2 && c1 == 1 && c2 == 0)
                    next if (a == 1 && c1 == 2 && c3 == 0)
                    next if (a == 1 && c2 == 2 && c3 == 0)
                    ary[len+1][a][c1][c2] += ary[len][c1][c2][c3]
                    ary[len+1][a][c1][c2] %= mod
                }
            }
        }
    }
}
ans = 0

4.times{|c1| # 最後から1文字目
    4.times{|c2| # 最後から2文字目
        4.times{|c3| # 最後から3文字目
            ans += ary[N][c1][c2][c3]
            ans %= mod
        }
    }
}

puts ans
