Страна IOI состоит из $N$ городов, пронумерованных от города $1$ до города $N$, которые соединены между собой дорогами. В стране IOI есть $K$ дорог, и каждая дорога соединяет $2$ различных города. Машины могут свободно передвигаться по дорогам в обоих направлениях, но попасть из одного города в другой вне дорог невозможно.
JOI-кун, живущий в городе $1$ страны IOI, решил поехать на такси к своей бабушке, которая живёт в городе $N$. В стране IOI есть $N$ таксомоторных компаний — от компании $1$ до компании $N$. В таксомоторных компаниях страны IOI действуют следующие несколько необычные правила:
- В такси компании $i$ можно сесть только в городе $i$.
- Стоимость поездки на такси компании $i$ равна $C_i$ независимо от пройденного расстояния.
- Такси компании $i$ после посадки может проехать подряд не более чем по $R_i$ дорогам.
Например, если $R_1 = 2$, то, сев в городе $1$ в такси компании $1$, можно проехать максимум по $2$ дорогам, поэтому, чтобы проехать по $3$ или более дорогам, необходимо пересесть на другое такси в каком-либо промежуточном городе.
JOI-кун не может садиться в такси или выходить из него нигде, кроме городов. Кроме того, он не может пользоваться никакими другими видами транспорта, кроме такси. Напишите программу, которая найдёт минимальную общую стоимость поездок, необходимую JOI-куну, чтобы добраться до города $N$.
Входные данные
Входные данные состоят из $1 + N + K$ строк.
В $1$-й строке через пробел записаны $2$ целых числа $N, K$ ($2 \le N \le 5000$, $N - 1 \le K \le 10000$). Это означает, что страна IOI состоит из $N$ городов, а количество дорог в стране IOI равно $K$.
В $i$-й строке ($1 \le i \le N$) из следующих $N$ строк через пробел записаны $2$ целых числа $C_i, R_i$ ($1 \le C_i \le 10000$, $1 \le R_i \le N$). Это означает, что стоимость проезда на такси компании $i$ равна $C_i$, а после посадки оно может проехать подряд максимум по $R_i$ дорогам.
В $j$-й строке ($1 \le j \le K$) из следующих $K$ строк через пробел записаны $2$ различных целых числа $A_j, B_j$ ($1 \le A_j < B_j \le N$). Это означает, что между городом $A_j$ и городом $B_j$ есть дорога. Одна и та же пара $(A_j, B_j)$ не встречается $2$ или более раз.
В заданных входных данных гарантируется, что из любого города можно добраться до любого другого города, пересаживаясь с одного такси на другое.
Выходные данные
Выведите в $1$ строке целое число — минимальную общую стоимость проезда, необходимую JOI-куну, чтобы добраться из города $1$ в город $N$.
Примеры
Входные данные 1
6 6 400 2 200 1 600 3 1000 1 300 5 700 4 1 2 2 3 3 6 4 6 1 5 2 4
Выходные данные 1
700
Примечание
Приведённый выше пример соответствует следующему рисунку. Кружки обозначают города, а линии — дороги.
Чтобы в этом примере добраться до города $6$ с минимальной стоимостью, JOI-кун поступает следующим образом:
- Садится в такси в городе $1$ и едет в город $5$. (Стоимость $400$)
- Садится в такси в городе $5$ и едет в город $6$. (Стоимость $300$)
Поскольку общая стоимость проезда по такому маршруту равна $400 + 300 = 700$, следует вывести $700$.