#P9418. [POI 2021/2022 R1] Impreza krasnali

[POI 2021/2022 R1] Impreza krasnali

背景

译自 XXIX Olimpiada Informatyczna – I etap Impreza krasnali。

题目描述

有 nn 个人依次站成一排,每个人手上都有一个数字,这 nn 个数字形成一个排列。

每个人会二选一地报告他左边或右边的人手上的数字。注意第一个人与第 nn 个人并不相邻,所以第一个人总是会报告第二个人的数字,第 nn 个人总是会报告第 n−1n-1 个人的数字。

现在你得到了 nn 个人报告的数字,求出原先的排列有多少种可能。

输入格式

第一行一个正整数 nn。

第二行 nn 个整数,表示每个人报告的数字。

输出格式

一行一个整数,你的答案模 109+710^9+7。

5
3 4 3 4 1

2

见附件
0
见附件
1

提示

对于所有数据,2≤n≤1000002\leq n\leq 100000。

子任务编号 附加限制 分数
1 n≤10n\leq 10 12
2 n≤20n\leq 20 30
3 n≤1000n\leq 1000
4 28