from math import gcd INF = 10 ** 18 def solve(): n = int(input()) a = list(map(int,input().split())) #書ける数に上限はないので、min(a)より前になるような数を書く必要はない #0を抜いてソート a.sort() zeros = 0 for i in range(n): if a[i] == 0: zeros += 1 else: a = a[i:] break #公差は隣り合う要素の差のgcd #コーナーケース:a[i] = a[i + 1] #コーナーケース:len(a) == 1 if len(a) == 1: print('Yes') return n = len(a) mind = a[1] - a[0] for i in range(n - 1): mind = gcd(mind, a[i + 1] - a[i]) if a[i] == a[i + 1]: if len(set(a)) == 1: print('Yes') else: print('No') return needs = 0 for i in range(n - 1): needs += (a[i + 1] - a[i]) // mind - 1 print('Yes' if needs <= zeros else 'No') solve()