#!/usr/bin/env pypy3 # btkさんのO(N)解 http://yukicoder.me/submissions/108107 を踏まえて def validate(n, xs): x_max = max(xs) x_min = min(xs) # 数列の「幅」を求める l = x_max - x_min # 「間の数」はN - 1個 # lがこれで割り切れない or lが0ならば不適 d, m = divmod(l, n - 1) if m > 0 or l == 0: return False # ソート済みの列は y_i = y_0 + i dと表される # ここでy_0 = x_min # x_iの各要素がその一つ一つに対応している必要がある counter = [0 for _ in range(n)] for x in xs: i, m = divmod(x - x_min, d) if m > 0: return False counter[i] += 1 return n == sum(counter) def main(): n = int(input()) xs = list(map(int, input().split())) print("YES" if validate(n, xs) else "NO") if __name__ == '__main__': main()