시간 제한메모리 제한제출정답맞힌 사람정답 비율
4 초 (추가 시간 없음) 1024 MB (추가 메모리 없음)322875023.364%

문제

$0$ 이상 $N$ 이하의 정수로 이루어진 길이 $N$의 배열 $A$가 있다.

Jiro는 값이 $0$인 모든 원소를 $1$ 이상 $N$ 이하의 정수로 바꾸려고 한다. 이때, 바꾼 배열은 아래 조건에 맞아야 한다.

  • $1$ 이상 $N$ 이하의 각 정수 $x$에 대하여, 배열 $A$에 $x$가 등장하는 횟수는 $x$ 이하이다.

Jiro가 조건에 맞게 만들 수 있는 배열의 가짓수를 $998 \, 244 \, 353$으로 나눈 나머지를 구하시오. $998\,244\,353$은 소수이다.

입력

첫 번째 줄에 배열 $A$의 길이 $N$이 주어진다. $(1 \le N \le 3\,000)$

두 번째 줄에 배열 $A_1$, $A_2$, $\cdots$, $A_N$이 공백으로 구분되어 주어진다. $(0 \leq A_i \leq N)$

출력

첫 번째 줄에 Jiro가 조건에 맞게 만들 수 있는 배열의 가짓수를 $998 \, 244 \, 353$으로 나눈 나머지를 출력한다.

예제 입력 1

3
1 0 0

예제 출력 1

4

예제 입력 2

2
1 1

예제 출력 2

0