Australia consists of a single long road from west to east. There are stores along this road, with the -th store having an integer position of .
You have been commissioned to design and install a signpost. First, you will choose a real number , representing the position of the signpost. Let represent the distance from the signpost to the -th store. The signpost will contain all stores on it in some order from top to bottom, under the condition that if , then store is listed higher up on the signpost than store . If two stores are equidistant from the signpost, then you can decide which of stores and is listed higher up the signpost.
Your first task is to calculate how many distinct signposts you could make. Since this number may be large, you want to find this number modulo .
Constraints
All are distinct.
Subtask 1 [50%]
Subtask 2 [50%]
No additional constraints.
Input Specification
The first line contains a single integer, .
The second line contains space-separated integers, .
Output Specification
On a single line, print the number of possible distinct signposts, modulo .
Sample Input
3
1 2 3
Sample Output
4
Explanation
Consider the case where the signpost is at position . Then . From the top to bottom, the signpost could list stores then then , or stores then then .
If we consider all possible values of , including non-integer and negative values, we see that there are distinct signposts which can be made.
Comments