
我們定義 n 的一個排列(permutation)是把 0,1,2,......, n-1按任意順序排列。例如:n=5, 則(0,1,2,4,3) 是一種排列方式,而(2,0,1,4,3)是另一種排列方式。
一個排列 p 如果找不到長度大於 2 的子序列,且這子序列成等差級數,則被稱為「反運算(antiarithmetic)」。也就是說,找不到三個序列指標 i, j, k( 0 <= i < j < k < n) 使得(pi, pj, pk)為一個等差級數。
例如:序列(0,5,4,3,1,2)為 n=6 的一個排列,且這個排列不是「反運算」。因為(0,1,2)這個子序列形成一等差級數,另外(5,4,3)形成另一個等差級數。
但是(2,4,3,5,0,1)則是「反運算」,因為找不到長度大於 2 的子序列,且這子序列成等差級數。
你的任務是判斷 n 的一個排列是否為「反運算」。
Input
輸入含有多組測試資料。
每組測試資料一列,首先有一個整數 n(3 <= n <= 10000),接下來有一個冒號,然後有n個整數。這 n 個整數為 n 的一個排列。
當 n=0 時代表輸入結束,請參考Sample Input。
Output
對每組測試資料輸出一列。如果這個排列為「反運算」,請輸出 yes,否則請輸出 no。
| Sample Input | Sample Output |
3: 0 2 1 5: 2 0 1 3 4 6: 2 4 3 5 0 1 0 |
yes no yes |