IOI 나라는 마을 $1$부터 마을 $N$까지의 $N$개의 마을로 이루어져 있으며, 마을과 마을은 도로로 연결되어 있다. IOI 나라에는 $K$개의 도로가 있으며, 모든 도로는 서로 다른 $2$개의 마을을 연결하고 있다. 자동차는 도로를 양방향으로 자유롭게 이동할 수 있지만, 도로 이외의 곳을 통해 어떤 마을에서 다른 마을로 갈 수는 없다.
IOI 나라의 마을 $1$에 사는 JOI 군은 마을 $N$에 사는 할머니 댁까지 택시를 타고 가기로 했다. IOI 나라에는 택시 회사 $1$부터 택시 회사 $N$까지의 $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$개임을 나타낸다.
이어지는 $N$개의 줄 중 $i$번째 줄($1 \le i \le N$)에는 $2$개의 정수 $C_i, R_i$ ($1 \le C_i \le 10000$, $1 \le R_i \le N$)가 공백으로 구분되어 적혀 있다. 이는 택시 회사 $i$의 택시 요금이 $C_i$이고, 탑승한 후 연속해서 최대 $R_i$개의 도로만 지날 수 있음을 나타낸다.
이어지는 $K$개의 줄 중 $j$번째 줄($1 \le j \le K$)에는 서로 다른 $2$개의 정수 $A_j, B_j$ ($1 \le A_j < B_j \le N$)가 공백으로 구분되어 적혀 있다. 이는 마을 $A_j$와 마을 $B_j$ 사이에 도로가 존재함을 나타낸다. 같은 $(A_j, B_j)$ 쌍이 $2$번 이상 적혀 있는 경우는 없다.
주어지는 입력 데이터에서는 어떤 마을에서 다른 어떤 마을로도 택시를 갈아타며 갈 수 있음이 보장되어 있다.
출력
JOI 군이 마을 $1$에서 마을 $N$까지 가는 데 필요한 요금의 합계의 최솟값을 나타내는 정수를 $1$줄로 출력하라.
예제
예제 입력 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
참고
위의 입출력 예제는 아래 그림에 대응한다. 원은 마을을, 선은 도로를 나타낸다.
이 예제에서 JOI 군이 최소 요금으로 마을 $6$에 도달하려면 다음과 같이 한다.
- 마을 $1$에서 택시를 타고 마을 $5$로 간다. (요금 $400$)
- 마을 $5$에서 택시를 타고 마을 $6$으로 간다. (요금 $300$)
JOI 군이 이러한 경로를 지났을 때의 요금의 합계는 $400 + 300 = 700$이므로, $700$을 출력한다.