홍준이와 명우는 수열로 하는 게임을 즐긴다. 먼저 홍준이가 자연수 N개로 이루어진 수열 A를 마음대로 만들고, 명우도 같은 방식으로 길이가 N인 수열 S를 만든다.
게임은 N번의 라운드로 진행된다. i번째 라운드에서 홍준이는 Si보다 크지 않은 수 하나를 자기 수열 A에서 지워야 한다. 지울 수 있는 수가 하나도 없으면 홍준이가 지고, N번의 라운드를 모두 마치면 홍준이가 이긴다.
명우의 수열 S가 주어질 때, 홍준이가 최적의 전략으로 진행해서 이길 수 있는 수열 A가 몇 개인지 구하자. 원소가 같아도 순서가 다르면 서로 다른 수열로 센다.
첫째 줄에 수열의 길이 N이 주어진다. (1≤N≤200)
이어지는 N개의 줄 가운데 i번째 줄에 Si가 주어진다. (1≤Si≤109)
홍준이가 이길 수 있는 수열 A의 개수를 1,000,000,007로 나눈 나머지를 출력한다.
N=2이고 S=(1,2)이면 홍준이가 이길 수 있는 수열 A는 (1,1), (1,2), (2,1) 세 가지다.