def superKnight(n: int) -> int: """超级马经过n步后能抵达的格子数 https://yukicoder.me/problems/no/1500 二次多项式? => 待定系数法 """ if n <= 2: return [1, 12, 65][n] return (17 * n * n + 6 * n + 1) % 1000000007 print(superKnight(int(input())))