Welcome to Massey CS Club 2015/16!
To start things off, a new head data slave needs to be hired (the old one has been promoted).
The new head data slave must not only be fast at copying data, but also decent with math calculations or simply bashing numbers. Luckily for most people, the head data slave exam only consists of 1 question. Solve this question for bonus (Komachi) points.
In the massive multiplayer online role-playing game Elder Tale, the humans are at war with monsters. Shiroe, the strategist of the legendary Debauchery Tea Party is in charge of organizing ~N~ ~(1 \le N \le 500)~ NPC militants to fight. The armed forces consists of ~K~ different kinds of militants. Each militant is labelled with a number ~1~ to ~K~ based on importance. Militants who share the same number are indistinguishable. Shiroe wants to know the number of ways he can organize his army in a line such that the last militant with number ~i~ is before the last militant with number ~i+1~ for ~(1 \le i \le K-1)~.
The first line of input will have one integer ~K~ ~(1 \le K \le 500)~, the number of different kinds of militants.
The following ~K~ lines will contain one integer each. The ~i-th~ line will contain ~m_i~ ~(1 \le m_i \le 500)~, the number of militants with the number ~i~.
Print the number of ways Shiroe can order his armies modulo ~1\,000\,000\,007~.
Sample Input #1
3 2 2 1
Sample Output #1
The 3 ways are:
1 1 2 2 3
1 2 1 2 3
2 1 1 2 3
Ah, that scored high Komachi points!
Sample Input #2
5 4 1 2 3 1
Sample Output #2