#P1868. Antiarithmetic?

Antiarithmetic?

描述

nn 的一个排列是对前 nn 个自然数 0,1,,n10, 1, \ldots, n - 1 的一个双射函数。若一个排列 pp 不存在长度大于 22 的子序列构成等差数列,即不存在三个索引 0i<j<k<n0 \leq i < j < k < n 使得 (pi,pj,pk)(p_i, p_j, p_k) 构成等差数列,则称该排列 pp 为反算术排列。

例如,序列 (2,0,1,4,3)(2, 0, 1, 4, 3)55 的一个反算术排列。而序列 (0,5,4,3,1,2)(0, 5, 4, 3, 1, 2) 不是反算术排列,因为它的第一项、第五项和第六项 (0,1,2)(0, 1, 2) 构成了等差数列;其第二项、第四项和第五项 (5,3,1)(5, 3, 1) 同样构成等差数列。

你的任务是判断给定的 nn 的排列是否为反算术排列。

输入

有多个测试用例,最后一行包含数字 00。每个测试用例占输入文件的一行,包含一个自然数 3n100003 \leq n \leq 10000,后面跟着一个冒号,接着是由空格分隔的 nn 个不同的数。所有这 nn 个数均为小于 nn 的自然数。

输出

对于每个测试用例,输出一行,内容为 “yes” 或 “no”,表明该排列是否为反算术排列。

输入数据 1

3: 0 2 1
5: 2 0 1 3 4
6: 2 4 3 5 0 1
0

输出数据 1

yes
no
yes

来源

滑铁卢地区本地赛 20042004992525