만드는 중입니다

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

적극적인 여행자

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

요약
방향 그래프에서 S에서 T까지 이동하며 받을 수 있는 여권 도장의 최대 개수를 구하는 문제입니다. 일부 나라는 도장 수에 제한이 있습니다.
난이도

어려움10점 중 8점

유형
그래프, 동적 계획법, 비트 연산
정답자
아직 제출이 없습니다

문제

당신은 많은 나라를 여행하고 싶어 합니다. 세계에는 NN개의 나라가 있고, MM쌍의 나라 사이에 여행 경로가 있습니다. 모든 경로는 일방통행입니다. AA에서 BB로 가는 경로가 있으면 AA에서 BB로 이동할 수 있지만, BB에서 AA로 가는 별도의 경로가 없다면 반대 방향으로는 이동할 수 없습니다.

당신은 나라 SS에서 출발해 나라 TT에 도착하려고 합니다. SS에서 TT까지 가는 동안 나라를 최대한 많이 방문하고 싶습니다.

제약이 있습니다. KK개의 나라는 입국 전에 엄격한 심사를 합니다. ii번째 제한 나라 cic_i의 심사 절차는 다음과 같습니다.

  1. 여권을 담당 직원에게 제시합니다.

  2. 직원이 여권을 확인합니다. 다음 두 조건 중 하나라도 만족하면 입국이 거부됩니다.

    1. 여권에 같은 나라의 도장이 두 개 이상 있다.
    2. 여권의 도장이 rir_i개를 초과한다.
  3. 그렇지 않으면 입국이 허가됩니다. 직원이 여권에 cic_i의 도장을 찍습니다.

  4. 나라 cic_i에 입국합니다.

심사를 하지 않는 나머지 N−KN-K개의 나라는 자유롭게 입국할 수 있지만, 입국한 나라의 도장은 반드시 받아야 합니다. 도장은 심사 후에 찍히므로 cic_i에는 최대 두 번까지만 입국할 수 있습니다. 처음에 여권에는 나라 SS의 도장이 하나 있습니다.

적극적인 여행자로서 여권의 도장 수를 최대한 늘리고 싶습니다. 출발은 SS, 종료는 TT입니다. 도장 수에는 SS와 TT의 도장도 포함됩니다. TT에 도착했다고 해서 여행을 멈출 필요는 없으며, TT를 여러 번 방문해도 됩니다.

입력

입력은 아래 형식의 테스트 케이스 하나로 이루어집니다.

NN MM KK SS TT

u1u_1 v1v_1

⋮\vdots

uMu_M vMv_M

c1c_1 r1r_1

⋮\vdots

cKc_K rKr_K

첫 줄에는 다섯 개의 정수 NN (3≤N≤1,0003 \le N \le 1,000), MM (2≤M≤10,0002 \le M \le 10,000), KK (1≤K≤N1 \le K \le N), SS (1≤S≤N1 \le S \le N), TT (1≤T≤N1 \le T \le N)가 주어집니다. NN은 나라의 수, MM은 경로의 수, KK는 제한 나라의 수, SS는 출발 나라, TT는 도착 나라입니다. 이어지는 MM개의 줄은 uiu_i에서 viv_i로 가는 경로를 나타냅니다 (1≤ui,vi≤N1 \le u_i, v_i \le N). 그다음 KK개의 줄에는 제한 나라 cjc_j (1≤cj≤N1 \le c_j \le N)와 그 나라의 도장 상한 rjr_j (1≤rj≤51 \le r_j \le 5)가 주어집니다.

다음 조건이 보장됩니다.

  • S≤TS \le T
  • 자기 자신으로 가는 경로는 없습니다. 즉 ui≠viu_i \ne v_i입니다.
  • 같은 경로가 중복되어 주어지지 않습니다.
  • 같은 제한 나라가 중복되어 주어지지 않습니다.
  • 나라 SS와 TT는 제한 나라가 아닙니다. 즉 cj≠Sc_j \ne S이고 cj≠Tc_j \ne T입니다.

출력

SS에서 TT까지 여행하는 동안 여권에 찍을 수 있는 도장의 최대 개수를 출력합니다. SS에서 TT에 도달할 수 없으면 UNREACHABLE을 출력합니다. 도장을 무한히 얻을 수 있으면 INFINITY를 출력합니다.

예제5

  1. 예제 1

    입력
    4 5 1 1 4
    1 2
    1 3
    2 1
    2 3
    3 4
    3 2
    
    예상 출력
    4
    
  2. 예제 2

    입력
    3 3 1 1 2
    1 2
    1 3
    3 1
    3 5
    
    예상 출력
    4
    
  3. 예제 3

    입력
    4 2 2 1 4
    1 2
    3 4
    2 5
    3 5
    
    예상 출력
    UNREACHABLE
    
  4. 예제 4

    입력
    4 4 1 1 4
    1 2
    2 3
    3 2
    3 4
    2 3
    
    예상 출력
    6
    
  5. 예제 5

    입력
    4 4 1 2 3
    2 1
    1 3
    3 4
    4 3
    1 1
    
    예상 출력
    INFINITY