타일 채우기 3

2 by N 벽을 2x1, 1x2, 1x1 타일로 빈틈없이 채우는 경우의 수를 1e9+7로 나눈 나머지로 구한다.

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

문제

2×N2 \times N 크기의 벽이 있다. 이 벽을 2×12 \times 1, 1×21 \times 2, 1×11 \times 1 크기의 타일로 빈틈없이 채우려고 한다. 타일은 서로 겹칠 수 없고, 벽 밖으로 나갈 수 없으며, 각 크기의 타일을 몇 개든 쓸 수 있다.

벽을 채우는 방법의 수를 구하시오. 한 칸이라도 덮는 타일이 다르면 서로 다른 방법으로 센다.

입력

첫째 줄에 정수 NN이 주어진다. (1N1,000,0001 \le N \le 1{,}000{,}000)

출력

첫째 줄에 벽을 채우는 방법의 수를 1,000,000,0071{,}000{,}000{,}007로 나눈 나머지를 출력한다.