지워진 ETT
시간 제한1초메모리 제한1024 MB
0인 칸을 1부터 n까지의 정수로 채워서 루트가 1인 트리의 DFS 방문 배열이 되는 경우의 수를 셉니다.
문제
ETT-배열은 루트가 인 트리를 왼쪽 자식부터 우선하여 깊이 우선 순회하면서, 정점에 진입하는 시점과 진출하는 시점에 정점 번호를 차례로 기록한 배열이다. 리프 노드도 진입 시점과 진출 시점에 모두 기록하므로, 노드가 개인 트리에 대응하는 모든 ETT-배열의 길이는 이다.
![그림의 트리를 순회하여 기록한 ETT-배열은 [1, 2, 2, 3, 3, 4, 4, 1]이다](https://6cs4gydpjntskis5.public.blob.vercel-storage.com/archive/6a8f32f62cd51776cea93924cdf0ea63641d6defdab6a61290ce82b57c4ffaf0.png)
위 트리를 순회하여 기록한 ETT-배열은 이다.
이상 이하의 정수로 이루어진 길이가 인 배열이 주어질 때, 배열 속 모든 을 이상 이하의 정수로 바꾸어 만들 수 있는 모든 ETT-배열의 개수를 구하여라.
입력
첫 번째 줄에 이 주어진다. ()
두 번째 줄에 배열을 나타내는 정수 이 공백으로 구분되어 주어진다. (; )
주어지는 배열로 적어도 하나의 ETT-배열을 만들 수 있다.
출력
답을 으로 나눈 나머지를 출력한다.