CCA的数列
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

给定一个长度为 n 数列,判断其是否为“牛”的,是则输出“YES”,否则输出“NO”。
一个数列是“牛”的,当且仅当其满足以下三个条件中至少一个:
1、这个数列是等差数列
2、这个数列是等比数列
3、这个数列是等模数列。
等差数列和等比数列的定义如果不清楚建议百度或重上小学(划掉),等模数列的定义是:对于任意相邻两数,后一个对前一个取模后的值均相等。

输入描述:

第一行一个整数 n。
第二行 n 个整数,分别表示这个数列的值。

输出描述:

一行,一个单词“YES”或“NO”(不含引号)。
示例1

输入

复制
5
1 2 3 4 5

输出

复制
YES

说明

此数列为等差数列。
示例2

输入

复制
3
5 7 16

输出

复制
YES

说明

此数列为等模数列。

备注:

3 <= n <= 10^5,1 <= 数列中的每个数<=10^9