鸡蛋面有一个排列 p。
鸡蛋面有 n 个点,和两条链。其中第一条链 i 号点和 i+1 号点有连边,第二条链 pi号点和 pi+1 号点有连边 (i<n) 。
鸡蛋面要和鸡蛋粉玩游戏。
鸡蛋面选择图上的一个点 u 作为初始点,鸡蛋粉选择图上的一个点 v 作为初始点。
在每一轮,鸡蛋粉先移动,鸡蛋面后移动,鸡蛋粉可以移动到第一条链上和当前点相邻点,或不移动。鸡蛋面可以移动到第二条链上和前点相邻的点,或不移动。
如果鸡蛋粉被鸡蛋面抓到了,那么鸡蛋面就赢了。
鸡蛋面想知道,对于所有可能的 u 和 v
,它是否都能必胜呢?
第一行一个整数 n 。
接下来一行 n 个整数,表示 p1,p2,⋯pn 。
输出一行一个字符串 Yes 或 No,表示鸡蛋面是否都能必胜。
样例 1 输入
2
1 2
样例 1 输出
Yes
样例 2 输入
3
2 3 1
样例 2 输出
Yes
样例 3 输入
4
1 4 3 2
样例 3 输出
No
样例 4 输入
5
1 5 3 2 4
样例 4 输出
No
样例 5 输入
6
1 2 3 4 5 6
样例 5 输出
Yes
对于所有数据,1≤n≤4×105,保证 p是 1∼n 的一个排列。
子任务 1(40 分):n≤100。
子任务 2(20 分):pi=imodn+1。
子任务 3(40 分):无特殊限制。
备注信息
source:CCPC Final 2022 F。