#include template T in() { abort(); return T(); } template<> std::string in() { std::string str; std::cin >> str; return str; } template<> int in() { int x; scanf("%d", &x); return x; } template void out(T x) { abort(); } template<> void out(const char* x) { printf("%s\n", x); } template<> void out(std::string x) { std::cout << x << std::endl; } template<> void out(int x) { printf("%d\n", x); } int n; int xs[112345]; int main() { n = in(); for(int i = 0; i < n; ++i) { xs[i] = in(); } std::sort(xs, xs + n); int d = xs[1] - xs[0]; bool flag = d == 0 ? false : true; for(int i = 1; i < n; ++i) { if( xs[i] - xs[i - 1] != d ) { flag = false; break; } } out(flag ? "YES" : "NO"); return 0; }