[CTSC2008] 图腾

题目描述

在完成了古越州圆盘密码的研究之后,考古学家小布来到了南美大陆的西部。相传很久以前在这片土地上生活着两个部落,一个部落崇拜闪电,另一个部落崇拜高山,他们分别用闪电和山峰的形状作为各自部落的图腾。 小布的团队在山洞里发现了一幅巨大的壁画,壁画上被标记出了$N$个点,经测量发现这$N$个点的水平位置和竖直位置是两两不同的。小布认为这幅壁画所包含的信息仅与这$N$个点的相对位置有关,因此不妨设坐标分别为$(1, y_1) , (2, y_2), ..., (n, y_n)$,其中$y_1\sim y_n$是$1\sim N$的一个排列。 小布的团队打算研究在这幅壁画中包含着多少个图腾,其中闪电图腾的定义图示如下(**图腾的形式只与$4$个纵坐标值的相对大小排列顺序有关**): ![](https://cdn.luogu.com.cn/upload/pic/18466.png) 即$1≤a<b<c<d≤N,y_a<y_c<y_b<y_d$ 崇拜高山的部落有两个氏族,因而山峰图腾有如下两种形式,左边为$A$类,右边为$B$类(**同样,图腾的形式也都只与$4$个纵坐标值的大小排列顺序有关**): ![](https://cdn.luogu.com.cn/upload/pic/18467.png) 即$1≤a<b<c<d≤N,y_a<y_b<y_d<y_c$ 即$1≤a<b<c<d≤N,y_a<y_d<y_c<y_b$ 小布的团队希望知道,这$N$个点中两个部落图腾数目的差值。因此在本题中,你需要帮助小布的团队编写一个程序,计算闪电图腾数目减去山峰图腾数目的值,由于该值可能绝对值较大,本题中只需输出该值对$16777216$的余数(注意余数必为正值,例如$-1$对$16777216$的余数为$16777215$)。

输入输出格式

输入格式


输入文件totem.in中第一行包含一个整数$N$,为点的数目。 接下来一行包含$N$个整数,分别为$y_1, y_2, …, y_n$。保证$y_1, y_2, …, y_n$是$1\sim N$的一个排列。

输出格式


输出文件totem.out仅包含一个数,表示闪电图腾数目与山峰图腾数目的差值对$16777216$的余数。

输入输出样例

输入样例 #1

5
1 5 3 2 4

输出样例 #1

0

输入样例 #2

4
1 2 4 3

输出样例 #2

16777215

说明

**【样例说明】** 样例一中共有$1$个闪电图腾($1324$)和$1$个$B$类山峰图腾($1532$)。 样例二中仅有一个$A$类山峰图腾($1243$),故差值为$-1$,答案为$16777215$。 **【数据规模】** 对于$10\%$的数据,$N ≤ 600$; 对于$40\%$的数据,$N ≤ 5000$; 对于$100\%$的数据,$N ≤ 200000$。