Statement is not available in English language
C. Нижний Нижний Нижний Новгород
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В Нижнем Новгороде идëт $$$2221$$$ год. Люди уже давно живут в гигантских небоскрëбах и передвигаются на летающих машинах. Под землëй был обнаружен старый город - отголосок далëкого прошлого. Туда стали водить экскурсии, а это место прозвали Нижний Нижний Новгород. И вот недавно там обнаружили старинное метро, некоторые станции которого нужно отреставрировать, чтобы проводить экскурсии и там. Рабочее название у древней подземки - Нижний Нижний Нижний Новгород. Старинное нижегородское метро представляет из себя $$$n$$$ станций. Некоторые пары станций соединены двунаправленными туннелями. Всего таких туннелей $$$m$$$. Рабочие пронумеровали станции числами от $$$1$$$ до $$$n$$$. Цена реставрации станции под номером $$$i$$$ равна $$$c_i$$$ рублей. Реставрация происходит так:

Сначала выбирается целое число $$$s\ (1 \leq s \leq n)$$$ - номер стартовой станции. Затем рабочие рассматривают все станции, до которых можно доехать от стартовой не более чем по $$$d$$$ туннелям, в том числе и сама станция под номером $$$s$$$. Несколько (больше нуля) станций из рассматриваемых будут реставрировать, однако, деньги на реставрацию выделяют суммами по $$$k$$$ рублей, поэтому требуется, чтобы суммарная стоимость реставрации выбранных станций делилась на $$$k$$$. Вам нужно для всех возможных стартовых станций $$$i$$$ от $$$1$$$ до $$$n$$$ сказать, какое должно быть минимальное $$$d$$$, чтобы среди всех рассмотренных станций можно было выбрать несколько таких, что суммарная стоимость их реставрации делилась на $$$k$$$. Заметьте, что стартовая станция не обязательно будет выбрана для реставрации.

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

В первой строке даны три натуральных числа $$$n$$$, $$$m$$$ и $$$k$$$ $$$(1 \le n, m \le 2 \cdot 10^5$$$, $$$1 \le k \le 50)$$$.

В следующей строке содержится $$$n$$$ целых неотрицательных чисел $$$c_1, c_2, \ldots, c_n$$$ $$$(0 \le c_i \le 10^9)$$$.

Следующие $$$m$$$ строк описывают положение туннелей в метро: в каждой строке содержится 2 различных целых числа $$$u_i$$$ и $$$v_i$$$ — номера станций, соединённых туннелем $$$(1 \le u_i, v_i \le n)$$$.

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

Выведите $$$n$$$ целых чисел через пробел, где $$$i$$$-е число — ответ для станции под номером $$$i$$$. Если для станции с номером $$$i$$$ не существует ответа, то для неё нужно вывести $$$-1$$$.

Система оценки
ГруппаБаллыДоп. ограниченияНеобх. группыКомментарий
$$$0$$$$$$0$$$Тесты из условия
$$$1$$$$$$15$$$$$$n \le 20, m \le 200 $$$Каждый тест
$$$2$$$$$$25$$$$$$n \le 5000, m \le 5000 $$$Каждый тест
$$$3$$$$$$60$$$Каждый тест
Примеры
Входные данные
6 7 10
4 12 6 13 14 6
6 3
6 2
2 3
6 4
4 1
6 3
5 3
Выходные данные
2 2 1 1 1 2 
Входные данные
5 4 5
10 6 7 7 1
3 1
1 5
2 3
3 5
Выходные данные
0 2 1 -1 1