One time Arti was asked to prepare several programming contests. As he is very lazy, he decided to cheat a little. He prepared tasks and for -th task he prepared s_i statements. Now he wants to gather contestsfrom these tasks with following rules:
each task can be used in a contest only once;
a contest must consist of to tasks;
two contests are different if there is at least one task that is in one contest and not in the second one or if there is at least one task that has different statements in these contests;
only set of tasks matters, not the order.
Calculate, how many different contests Arti can prepare. As this number can be very large, output it modulo 10^9 + 7.
First line contains , , (1 \leq a \leq b \leq n \leq 10000). Second line contains integer numbers s_i (1 \leq s_i \leq 100).
Print one line - the number of different contests Arti can prepare modulo 10^9 + 7.
Example 1