[HNOI2010]合唱队

成绩 0 开启时间 2013年02月21日 星期四 23:02
折扣 0.8 折扣时间 2013年02月28日 星期四 23:02
允许迟交 关闭时间 2013年02月28日 星期四 23:02
输入文件 chorusu.in 输出文件 chorusu.out

【题目描述】


为了在即将到来的晚会上有更好的演出效果,作为AAA合唱队负责人的小A需要将合唱队的人根据他们的身高排出一个队形。假定合唱队一共有N个人,第i个人的身高为Hi毫米(1000≤Hi≤2000),并且已知任何两个人的身高都不同。假定最终排出的队形是N个人站成一排,为了简化问题,小A想出了如下排队的方式:他让所有的人先按任意顺序站成一个初始队形,然后从左到右按以下原则依次将每个人插入最终排出的队形中:

- 第一个人直接插入空的当前队形中。

- 对从第二个人开始的每个人,

1、 如果他比前面那个人高(H较大),那么将他插入当前队形的最右边。

2、 如果他比前面那个人矮(H较小),那么将他插入当前队形的最左边。

当N个人全部插入当前队形后便获得最终排出的队形。 例如,有6个人站成一个初始队形,身高依次为1850、1900、1700、1650、1800和1750,那么小A会按以下步骤获得最终排出的队形:

- 1850

- 1850, 1900 因为 1900 > 1850

- 1700, 1850, 1900 因为 1700 < 1900

- 1650, 1700, 1850, 1900 因为 1650 < 1700

- 1650, 1700, 1850, 1900, 1800 因为 1800 > 1650

- 1750, 1650, 1700, 1850, 1900, 1800 因为 1750 < 1800

因此,最终排出的队形是1750, 1650, 1700, 1850, 1900, 1800。

小A心中有一个理想队形,他想知道从多少种初始队形出发能通过上述排队的方式获得他心中的理想队形作为最终排出的队形?



【输入格式】

从文件i中读入数据,输入文件第一行是一个正整数N,表示总人数。输入文件第二行是用空格隔开的N个正整数,从左到右表示小A心中的理想队形:H1, H2, „, HN。输入的数据保证1000≤Hi≤2000且没有相同的H值,其中30%的数据满足1≤N≤100,100%的数据满足1≤N≤1000。

【输出格式】

输出文件output.txt仅包含一个数,表示从多少种初始队形出发能通过上述排队的方式获得输入文件中指定的小A心中的理想队形。因为满足条件的初始队形数可能很大,所以规定只要输出满足条件的初始队形数mod 19650827的值。

【样例输入】

4
1701 1702 1703 1704

【样例输出】

8

【提示】

样例解释:8种初始队形分别为(1701, 1702, 1703, 1704), (1704, 1703, 1702, 1701), (1702, 1701, 1703, 1704), (1703, 1702, 1701, 1704), (1702, 1703, 1701, 1704), (1702, 1703, 1704, 1701), (1703, 1704, 1702, 1701), (1703, 1702, 1704, 1701)


样例2:

输入:

4

1704 1703 1702 1701

输出:

0