배열 제작의 달인
시간 제한4초메모리 제한1024 MB
길이 N인 배열에서 0을 1 이상 N 이하의 정수로 바꾸어, 각 x가 x번 이하로만 등장하도록 만드는 가짓수를 998244353으로 나눈 나머지를 구한다.
문제
이상 이하의 정수로 이루어진 길이 의 배열 가 있다.
Jiro는 값이 인 모든 원소를 이상 이하의 정수로 바꾸려고 한다. 이때, 바꾼 배열은 아래 조건에 맞아야 한다.
- 이상 이하의 각 정수 에 대하여, 배열 에 가 등장하는 횟수는 이하이다.
Jiro가 조건에 맞게 만들 수 있는 배열의 가짓수를 으로 나눈 나머지를 구하시오. 은 소수이다.
입력
첫 번째 줄에 배열 의 길이 이 주어진다.
두 번째 줄에 배열 , , , 이 공백으로 구분되어 주어진다.
출력
첫 번째 줄에 Jiro가 조건에 맞게 만들 수 있는 배열의 가짓수를 으로 나눈 나머지를 출력한다.