B. Филя и задание
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Сегодня ёжик Филя впервые пошёл в школу! Учительница дала ему домашнее задание, с которым ёжик, к сожалению, не может справиться без вашей помощи.

У Фили есть массив целых неотрицательных чисел a1, a2, ..., an. Он сначала один раз выбирает целое положительное число x, после чего он к некоторым числам массива прибавляет данное x (не более одного раза к каждому элементу массива), из некоторых вычитает x (не более одного раза к каждому элементу массива), а некоторые числа оставляет нетронутыми. Нужно сказать, можно ли таким образом сделать массив из одинаковых чисел.

Филя хочет знать, можно ли так выбрать x, а затем совершить такие действия, что в итоге массив будет состоять из одинаковых чисел.

Входные данные

В первой строке входных данных содержится число n (1 ≤ n ≤ 100 000) — количество чисел в массиве Фили. Во второй строке содержится n целых чисел a1, a2, ..., an (0 ≤ ai ≤ 109) — элементы массива.

Выходные данные

Если c помощью описанной в условии операции невозможно сделать все числа в массиве одинаковыми, то выведите «NO» (без кавычек). В противном случае выведите «YES» (без кавычек).

Примеры
Входные данные
5
1 3 3 2 1
Выходные данные
YES
Входные данные
5
1 2 3 4 5
Выходные данные
NO
Примечание

В первом примере следует выбрать x = 1, после чего прибавить его к первому и последнему элементам и вычесть из второго и третьего.