Олимпиадный тренинг

Задача . C. Тимофей и перемодулирование


Тимофей очень любит числа, но, к сожалению, он еще не умеет работать с большими числами, поэтому он выполняет все операции по своему любимому простому модулю m. А еще Тимофей любит арифметические прогрессии и всюду их ищет.

На день рождения ему подарили последовательность различных целых чисел a1, a2, ..., an. Тимофею стало интересно, можно ли переставить элементы последовательности так, чтобы она стала арифметической прогрессией по модулю m.

Арифметическая прогрессия по модулю m длины n с первым элементом x и разницей d — это последовательность целых чисел x, x + d, x + 2d, ..., x + (n - 1)·d, где каждый элемент взят по модулю m.

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

В первой строке находятся два целых числа m и n (2 ≤ m ≤ 109 + 7, 1 ≤ n ≤ 105, m — простое) — любимый простой модуль Тимофея и число элементов в последовательности.

Во второй строке даны n различных целых чисел a1, a2, ..., an (0 ≤ ai < m) — элементы последовательности.

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

Выведите -1, если невозможно переставить элементы последовательности так, чтобы она стала арифметической прогрессией по модулю m.

Иначе, выведите два целых числа — первый элемент получившейся прогрессии x (0 ≤ x < m) и ее разницу d (0 ≤ d < m).

Если ответов несколько, выведите любой.


Примеры
Входные данныеВыходные данные
1 17 5
0 2 4 13 15
13 2
2 17 5
0 2 4 13 14
-1
3 5 3
1 2 3
3 4

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя