1929. 数组整理 标准IO
时间限制:1000 MS 内存限制:64 MB    算法评级:    状态:

    小火龙有一个非负整数数组$a_1$,$a_2$,$\cdots$,$a_n$。首先,他选择一个任意整数 $x$,然后将 $x$ 添加到数组的某些元素(同一个元素添加不超过一次),从其他某些元素中减去 $x$(同一个元素减去不超过一次),可以有其他一些元素不更改。他希望数组的所有元素都相等。 
    现在他想知道是否有可能选择这样的整数 $x$ 并使用该 $x$ 更改数组的某些元素以使所有元素相等。 


输入格式

输入的第一行包含一个整数$n$($1 \leq n \leq 100000$)-数组中整数的数量。

第二行包含 $n$ 个整数,即数组的元素$a_1$,$a_2$,$\cdots$ ,$a_n$($0 \leq a_i \leq 10^9$)。 


输出格式

如果无法使数组的所有元素相等,则在输出的仅一行中打印“NO”(不带引号)。否则,打印“YES”(不带引号)。


样例输入

5
1 3 3 2 1

样例输出

YES

样例输入2

5
1 2 3 4 5

样例输出2

NO

提示

子任务一:$30$分,满足 $1 \leq n \leq 10$;

子任务二:$30$分,满足 $1 \leq n \leq 1000$ ;

子任务三:$40$分,满足 $1 \leq n \leq 100000$ 。

在第一个样本中,可以取 $x = 1$,然后将其添加到数组的第一个和最后一个元素,并从第二个和第三个元素中减去。

代码运行状态:

输出