3×N 벽 타일 채우기

3 x N 벽을 도미노로 채우는 경우의 수를 10^9+7로 나눈 나머지로 구하며, N은 10^18까지 주어진다.

보통7동적 계획법행렬조합론아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

3×N3 \times N 크기의 벽을 2×12 \times 1 타일과 1×21 \times 2 타일로 빈틈없이 채우는 경우의 수를 구한다. 타일끼리 겹치거나 벽 밖으로 나가면 안 된다. 두 모양은 각각 원하는 개수만큼 쓸 수 있다.

입력

첫째 줄에 NN이 주어진다. (1N10181 \le N \le 10^{18})

출력

첫째 줄에 경우의 수를 109+710^9 + 7로 나눈 나머지를 출력한다.