영훈이의 색칠공부

N x N 격자의 각 행과 각 열에 빨간 칸 하나와 파란 칸 하나를 놓되 한 칸이 두 색을 가질 수 없을 때 가능한 색칠의 수를 구해 1,000,000,007로 나눈 나머지를 출력한다.

보통6조합론수학동적 계획법아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

영훈이에게 n×nn \times n 격자가 그려진 그림이 있다. 영훈이는 이 그림을 빨간색과 파란색으로 칠하려고 한다.

그냥 칠하면 재미가 없어서 규칙을 하나 정했다. 각 행에는 빨간 칸이 정확히 하나, 파란 칸이 정확히 하나 있어야 한다. 각 열에도 빨간 칸이 정확히 하나, 파란 칸이 정확히 하나 있어야 한다. 한 칸에 두 색을 겹쳐 칠할 수는 없고, 남은 칸은 칠하지 않는다.

예를 들어 n=3n = 3이면 아래 그림처럼 칠할 수 있다.

격자의 크기 NN이 주어질 때, 영훈이가 칠할 수 있는 방법의 수를 구하여라.

입력

첫째 줄에 격자의 크기 NN이 주어진다. (1N1051 \le N \le 10^5)

출력

영훈이가 칠할 수 있는 방법의 수를 1,000,000,007로 나눈 나머지를 한 줄에 출력한다.