적극적인 여행자
시간 제한2초메모리 제한512 MB
방향 그래프에서 S에서 T까지 이동하며 받을 수 있는 여권 도장의 최대 개수를 구하는 문제입니다. 일부 나라는 도장 수에 제한이 있습니다.
문제
당신은 많은 나라를 여행하고 싶어 합니다. 세계에는 개의 나라가 있고, 쌍의 나라 사이에 여행 경로가 있습니다. 모든 경로는 일방통행입니다. 에서 로 가는 경로가 있으면 에서 로 이동할 수 있지만, 에서 로 가는 별도의 경로가 없다면 반대 방향으로는 이동할 수 없습니다.
당신은 나라 에서 출발해 나라 에 도착하려고 합니다. 에서 까지 가는 동안 나라를 최대한 많이 방문하고 싶습니다.
제약이 있습니다. 개의 나라는 입국 전에 엄격한 심사를 합니다. 번째 제한 나라 의 심사 절차는 다음과 같습니다.
-
여권을 담당 직원에게 제시합니다.
-
직원이 여권을 확인합니다. 다음 두 조건 중 하나라도 만족하면 입국이 거부됩니다.
- 여권에 같은 나라의 도장이 두 개 이상 있다.
- 여권의 도장이 개를 초과한다.
-
그렇지 않으면 입국이 허가됩니다. 직원이 여권에 의 도장을 찍습니다.
-
나라 에 입국합니다.
심사를 하지 않는 나머지 개의 나라는 자유롭게 입국할 수 있지만, 입국한 나라의 도장은 반드시 받아야 합니다. 도장은 심사 후에 찍히므로 에는 최대 두 번까지만 입국할 수 있습니다. 처음에 여권에는 나라 의 도장이 하나 있습니다.
적극적인 여행자로서 여권의 도장 수를 최대한 늘리고 싶습니다. 출발은 , 종료는 입니다. 도장 수에는 와 의 도장도 포함됩니다. 에 도착했다고 해서 여행을 멈출 필요는 없으며, 를 여러 번 방문해도 됩니다.
입력
입력은 아래 형식의 테스트 케이스 하나로 이루어집니다.
첫 줄에는 다섯 개의 정수 (), (), (), (), ()가 주어집니다. 은 나라의 수, 은 경로의 수, 는 제한 나라의 수, 는 출발 나라, 는 도착 나라입니다. 이어지는 개의 줄은 에서 로 가는 경로를 나타냅니다 (). 그다음 개의 줄에는 제한 나라 ()와 그 나라의 도장 상한 ()가 주어집니다.
다음 조건이 보장됩니다.
- 자기 자신으로 가는 경로는 없습니다. 즉 입니다.
- 같은 경로가 중복되어 주어지지 않습니다.
- 같은 제한 나라가 중복되어 주어지지 않습니다.
- 나라 와 는 제한 나라가 아닙니다. 즉 이고 입니다.
출력
에서 까지 여행하는 동안 여권에 찍을 수 있는 도장의 최대 개수를 출력합니다. 에서 에 도달할 수 없으면 UNREACHABLE을 출력합니다. 도장을 무한히 얻을 수 있으면 INFINITY를 출력합니다.