D. Массив с нулевым остатком
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вам задан массив $$$a$$$, состоящий из $$$n$$$ положительных целых чисел.

Изначально у вас есть целое число $$$x = 0$$$. За один ход вы можете совершить одну из следующих двух операций:

  1. Выбрать ровно один индекс $$$i$$$ от $$$1$$$ до $$$n$$$ и увеличить $$$a_i$$$ на $$$x$$$ ($$$a_i := a_i + x$$$), затем увеличить $$$x$$$ на $$$1$$$ ($$$x := x + 1$$$).
  2. Просто увеличить $$$x$$$ на $$$1$$$ ($$$x := x + 1$$$).

Первая операция может быть применена не более одного раза для каждого $$$i$$$ от $$$1$$$ до $$$n$$$.

Ваша задача — найти минимальное количество ходов, необходимое, чтобы получить такой массив, что каждый его элемент без остатка делится на $$$k$$$ (значение $$$k$$$ задано).

Вам нужно ответить на $$$t$$$ независимых наборов тестовых данных.

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

Первая строка теста содержит одно целое число $$$t$$$ ($$$1 \le t \le 2 \cdot 10^4$$$) — количество наборов тестовых данных. Затем следуют $$$t$$$ наборов тестовых данных.

Первая строка набора тестовых данных содержит два целых числа $$$n$$$ и $$$k$$$ ($$$1 \le n \le 2 \cdot 10^5; 1 \le k \le 10^9$$$) — длину массива $$$a$$$ и заданный делитель. Вторая строка набора содержит $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ ($$$1 \le a_i \le 10^9$$$), где $$$a_i$$$ — $$$i$$$-й элемент $$$a$$$.

Гарантируется, что сумма всех $$$n$$$ не превосходит $$$2 \cdot 10^5$$$ ($$$\sum n \le 2 \cdot 10^5$$$).

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

Для каждого набора тестовых данных выведите ответ на него — минимальное количество ходов, необходимое, чтобы получить такой массив, что каждый его элемент без остатка делится на $$$k$$$.

Пример
Входные данные
5
4 3
1 2 1 3
10 6
8 7 1 8 3 7 5 10 8 9
5 10
20 100 50 20 100500
10 25
24 24 24 24 24 24 24 24 24 24
8 8
1 2 3 4 5 6 7 8
Выходные данные
6
18
0
227
8
Примечание

Рассмотрим первый набор тестовых данных примера:

  1. $$$x=0$$$, $$$a = [1, 2, 1, 3]$$$. Надо просто увеличить $$$x$$$;
  2. $$$x=1$$$, $$$a = [1, 2, 1, 3]$$$. Надо добавить $$$x$$$ ко второму элементу и увеличить $$$x$$$;
  3. $$$x=2$$$, $$$a = [1, 3, 1, 3]$$$. Надо добавить $$$x$$$ к третьему элементу и увеличить $$$x$$$;
  4. $$$x=3$$$, $$$a = [1, 3, 3, 3]$$$. Надо добавить $$$x$$$ к четвертому элементу и увеличить $$$x$$$;
  5. $$$x=4$$$, $$$a = [1, 3, 3, 6]$$$. Надо просто увеличить $$$x$$$;
  6. $$$x=5$$$, $$$a = [1, 3, 3, 6]$$$. Надо добавить $$$x$$$ к первому элементу и увеличить $$$x$$$;
  7. $$$x=6$$$, $$$a = [6, 3, 3, 6]$$$. Мы получили необходимый массив.

Заметьте, что вы не можете добавить $$$x$$$ к одному и тому же элементу больше, чем один раз.