F. Jellyfish and OEIStime limit per test2 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard outputJellyfish always uses OEIS to solve math problems, but now she finds a problem that cannot be solved by OEIS:Count the number of permutations p of [1, 2, \dots, n] such that for all (l, r) such that l \leq r \leq m_l, the subarray [p_l, p_{l+1}, \dots, p_r] is not a permutation of [l, l+1, \dots, r].Since the answer may be large, you only need to find the answer modulo 10^9+7.InputThe first line of the input contains a single integer n (1 \leq n \leq 200) — the length of the permutation.The second line of the input contains n integers m_1, m_2, \dots, m_n (0 \leq m_i \leq n).OutputOutput the number of different permutations that satisfy the conditions, modulo 10^9+7.ExamplesInput
3
1 2 3
Output
2Input
5
2 4 3 4 5
Output
38Input
5
5 1 1 1 1
Output
0NoteIn the first example, [2, 3, 1] and [3, 1, 2] satisfies the condition.
3
1 2 3

2
['dp', '*3500']