Ограничения: время – 150ms/250ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод 
Послать решение Blockly Посылки Темы Где Обсудить (0)
У вас есть массив `A` из `N` целых чисел и целое число `M`, такое, что `0 <= A_i < M`.
Вы можете выполнить следующую операцию столько раз, сколько захотите:
Установите `A_i = (A_i + 1) mod M` для всех `i` (`1 <= i <= N`).
Здесь ``mod`` означает вычисление остатка от деления, обычно обозначается ``%`` в языках прогораммирования.
Найдите минимально возможную сумму элементов массива `A` после выполнения указанной выше операции некоторое количество раз.
Первая строка ввода содержит два целых числа через пробел — `N` (`1 <= N <= 10^5`) и `M` (`1 <= M <= 10^10`), размер массива и модуль деления.
Вторая строка содержит `N` целых чисел через пробел — `A_1, A_2,..., A_N`, где `0 <= A_i < M`.
Выведите два целых числа через пробел - минимально возможную сумму после выполнения нескольких операций и минимальное количество операций для получения этой суммы.
```sample Пример ввода 1:
3 3
1 2 0
```
```sample Вывод для примера 1:
3 0
```
Пояснение к примеру 1: Сумма элементов массива не меняется при выполнении операции.
```sample Пример ввода 2:
3 100
1 1 1
```
```sample Вывод для примера 2:
0 99
```
Пояснение к примеру 2: После 99 операций все элементы станут равны 0.
*Система оценки и описание подзадач*
||.u|Подзадача 1 (40 баллов)||
`1<=N<=100`, `1<=M<=1000`
||.u|Подзадача 2 (20 баллов)||
`100<N<=1000`, `1<=M<=10^5`
Необходимые подзадачи: 1
||.u|Подзадача 3 (20 баллов)||
`1000<N<=10^5`, `1<=M<=10^5`
Необходимые подзадачи: 1, 2
||.u|Подзадача 4 (20 баллов)||
`1000<N<=10^5`, `1<=M<=10^10`
Необходимые подзадачи: 1, 2, 3
Баллы за каждую из подзадач начисляются только в случае,
если все тесты для этой подзадачи успешно пройдены. По запросу сообщается результат о первой ошибке.