C1641 [Wannafly冬令营2018Day1]起起落落

内存限制:256 MB 时间限制:1000 ms

题目描述

无聊的 $wls$ 正在观察某个商品的价格,$wls$ 一共观察了 $n$ 天,每天这个商品都会有一个价格 $p_i$。

定义一个长度为 $2m+1(3\leq2m+1\leq n)$ 的子序列 $a_1...a_{2m+1}$ 是持续下降的,当且仅当:

  1. $1 \leq a_1 < a_2 < .... < a_{2m+1} \leq n$

  2. 对于所有的 $k(1 \leq k \leq m),p_{a_{2k - 1}} > p_{a_{2k + 1}} > p_{a_{2k}}$

现在 $wls$ 想知道持续下降的子序列一共有多少个。

由于满足条件的序列可能很多,请输出答案 $mod$ $1e9+7$。

输入格式

第一行一个整数 $n$。

接下来一行 $n$ 个整数,$p_i$ 表示商品第 $i$ 天的价格。

$1 \leq n \leq 2000$

$1 \leq p_i \leq n$

$p_i \neq p_j$

输出

一行一个整数表示答案。

样例

样例输入 1

5 4 2 3 1 5

样例输出 1

1

提示