//Normal #define _GLIBCXX_DEBUG #define ll long long #include using namespace std; using Graph = vector>; void print(auto a){ cout << a; } void prints(auto a){ cout << a << " "; } void prints(){ cout << " "; } void printl(auto a){ cout << a << endl; } void printl(){ cout << endl; } void fix(int n){ cout << fixed << setprecision(n); } int main(){ int N; cin >> N; vector X(N); for(int i = 0; i < N; i++) cin >> X[i]; sort(X.begin(), X.end()); for(int i = 1; i < N-1; i++){ if(X[i-1] == X[i] or X[i] == X[i+1]){ printl("NO"); return 0; } if(X[i]-X[i-1] != X[i+1]-X[i]){ printl("NO"); return 0; } } printl("YES"); return 0; }