#!/usr/bin/env pypy3 MIN_N = 3 MAX_N = 10 ** 5 MIN_X = 0 MAX_X = 10 ** 8 def main(): # 以下のassertは入力が制約を満たしていることを確認するためのもの # 解答の際にはなくてもよい # 鴨の数Nを受け取る n = int(input()) assert MIN_N <= n <= MAX_N # 鴨の座標の列{x_i}を受け取る # 文字列をスペースで区切るにはsplitメソッドが使える # あとは、得られた文字列のリストの各要素を整数に直す xs = list(map(int, input().split())) assert len(xs) == n assert all(MIN_X <= x <= MAX_X for x in xs) # 座標たちをin-placeで昇順にソートする xs.sort() # 隣接する2要素の差をとって得られる列(階差数列)を求める # forループを回す代わりに、次のようにスライスとリスト内包表記を使える # xs[:-1]は末尾以外の要素の列、xs[1:]は先頭以外の要素の列を表す ds = [xj - xi for xi, xj in zip(xs[:-1], xs[1:])] # 条件1および2を満たしているかを判定 # 条件2から考えると解きやすい # まず、上のdsを集合に入れて、その要素数が1であることを確かめる # あとは、その集合に0がないことを確認する s = set(ds) print("YES" if len(s) == 1 and 0 not in s else "NO") if __name__ == '__main__': main()