체스판
시간 제한1초메모리 제한128 MB
1부터 n까지의 순열 중 i번째 룩이 i번째 행과 i번째 열을 모두 피하는 배치의 수를 m으로 나눈 나머지를 구한다.
문제
바이테아사르(Byteasar)는 체스 퍼즐을 좋아합니다. 그는 오랫동안 체스 잡지를 구독해 왔고, 최신 호에는 다음과 같은 퍼즐이 실려 있습니다.
크기의 체스판이 주어진다. 이 체스판 위에 룩(rook) 개를 놓되, 어떤 두 룩도 서로 공격하지 않고(즉 같은 행이나 같은 열을 공유하지 않고), 모든 에 대해 번째 룩이 번째 행에도 번째 열에도 놓이지 않도록 하는 방법은 몇 가지인가? 룩과 행, 열은 모두 부터 까지 번호가 매겨져 있다. 답은 으로 나눈 나머지로 구한다.
바이테아사르에게 "13수 만에 체크메이트" 같은 퍼즐은 식은 죽 먹기지만, 이 새로운 유형의 퍼즐은 무척 어려워 보입니다. 그를 도와줄 수 있나요?
입력
첫째 줄에 두 정수 과 이 공백으로 구분되어 주어진다 (, ).
출력
가능한 룩 배치의 수를 으로 나눈 나머지를 한 줄에 출력한다.