AT_maximum_cup_2023_e 小大小大……
Description
$ (1,2,\ldots,N) $ の順列 $ P=(p_1,p_2,\ldots,p_N) $ が与えられます。
$ P $ を $ 1 $ 個以上の空でない連続部分列 $ X_1,X_2,\ldots,X_K $ に分割し、以下のように $ (m_1,m_2,\ldots,m_K) $ を定めました。
- $ i $ が奇数ならば $ m_i $ は $ X_i $ に含まれる値の最小値
- $ i $ が偶数ならば $ m_i $ は $ X_i $ に含まれる値の最大値
$ (m_1,m_2,\ldots,m_K) $ としてあり得るものの個数を $ (10^9+7) $ で割った余りを求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ p_1 $ $ p_2 $ $ \ldots $ $ p_N $
Output Format
答えを出力せよ。
Explanation/Hint
### Sample Explanation 1
$ P $ を分割する方法は $ 4 $ 通りあり、それぞれに対応する $ (m_1,m_2,\ldots,m_K) $ は以下の通りです。
- $ (1,2,3) $ に分割する。 $ \min(1,2,3)= 1 $ なので対応する数列は $ (1) $ である。
- $ (1), (2,3) $ に分割する。 $ \min(1)= 1, \max(2,3)=3 $ なので対応する数列は $ (1,3) $ である。
- $ (1,2),(3) $ に分割する。 $ \min(1,2)= 1, \max(3) = 3 $ なので対応する数列は $ (1, 3) $ である。
- $ (1),(2),(3) $ に分割する。 $ \min(1)= 1, \max(2)=2, \min(3)=3 $ なので対応する数列は $ (1,2,3) $ である。
以上より、 $ (m_1,m_2,\ldots,m_K) $ としてあり得るものは $ (1), (1,3), (1,2,3) $ の $ 3 $ 個です。
### Constraints
- $ 1 \leq N \leq 3 \times 10^5 $
- $ 1 \leq p_i \leq N $
- $ i \neq j $ ならば $ p_i \neq p_j $
- 入力はすべて整数