Contest preparation
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 statements. Now he wants to gather contests from these tasks with the following rules:
each task can be used in a contest only once;
a contest must contain from 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 contest Arti can prepare. As this number can be very large, output it modulo .
Input
The first line contains , , ).
The second line contains integers ().
Output
Print one line — the number of different contests Arti can prepare modulo .