【题目描述】 给定一个{0,1,2,3,…,n−1}的排列 p。一个{0,1,2,…,n−2}的排列q被认为是优美的排列,当且仅当q满足下列条件:
对排列s={0,1,2,3,...,n−1}进行n–1次交换。
①交换s[q0],s[q0+1]。
②交换s[q1],s[q1+1]。
……
最后能使得排列s=p。
问有多少个优美的排列,答案对$10^9+7$取模。
【输入】 第一行一个正整数n。
第二行n个整数代表排列p。
【输出】 仅一行表示答案。
【输入样例】【提示】
3 1 2 0 【输出样例】 1
【样例解释】
q={0,1}{0,1,2}→{1,0,2}→{1,2,0}
q={1,0}{0,1,2}→{0,2,1}→{2,0,1}
【数据规模】
对于30%的数据,n≤10。
对于100%的数据,n≤50。