만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

나는 연어입니다

시간 제한2초메모리 제한1024 MB

요약
각 강은 l부터 r까지 범위의 크기를 가진 연어만 지날 수 있습니다. 1번 마을에서 N번 마을까지 갈 수 있는 연어의 수를 구합니다.
난이도

보통10점 중 6점

유형
그래프, BFS, 이분 탐색, 정렬
정답자
아직 제출이 없습니다

문제

태초에 연어들은 NN번 마을에서 태어났다. 오늘날 KK마리의 연어가 모두 11번 마을에 살고 있고, 이들은 산란기를 맞아 NN번 마을로 돌아가는 모험을 떠나려 한다. 마을은 총 NN개이고, 이들을 잇는 강은 총 MM개이다. 산란기의 연어는 강을 거슬러 올라갈 힘이 충분하므로 강을 어느 방향으로든 자유롭게 다닐 수 있다. 서로 다른 두 마을을 잇는 강은 최대 11개 존재한다.

입력

첫 번째 줄에 마을의 수 NN과 강의 수 MM이 공백으로 구분되어 주어진다. (2≤N≤5 000;1≤M≤5 000)(2\leq N \leq 5\,000;1\leq M\leq 5\,000) 두 번째 줄부터 MM개의 줄에 걸쳐 각 줄마다 정수 uu, vv, ll, rr이 공백으로 구분되어 주어진다. 이는 uu번 마을과 vv번 마을을 잇는 강의 최소 폭이 ll이고 최대 폭이 rr임을 뜻한다. (1≤u,v≤N;u≠v;1≤l≤r≤109)(1\leq u,v\leq N; u\neq v; 1\leq l \leq r \leq 10^{9}) M+2M+2번째 줄에는 11번 마을에 살고 있는 연어의 수 KK가 주어진다. (1≤K≤500 000)(1\leq K \leq 500\,000) M+3M+3번째 줄에는 KK개의 정수가 공백으로 구분되어 주어지며, 이는 연어들의 크기이다. 각 연어의 크기는 11 이상 10910^{9} 이하의 정수이다.

출력

11번 마을에서 출발하여 NN번 마을에 도착할 수 있는 연어의 수를 출력한다.

예제1

  1. 예제 1

    입력
    6 10
    1 2 2 7
    1 3 1 8
    2 3 2 4
    2 4 5 6
    4 6 5 8
    3 6 2 3
    3 5 1 1
    5 6 1 4
    2 6 7 11
    3 4 4 9
    10
    10 9 5 5 6 4 1 1 2 3
    
    예상 출력
    7