여권
시간 제한2초메모리 제한1024 MB
각 나라가 발급하는 여권이 들어갈 수 있는 구간 [L_i, R_i]를 바탕으로, 시작 나라 X_j에서 모든 나라를 방문하는 데 필요한 여권 수의 최솟값을 구합니다. 방문할 수 없으면 -1을 출력합니다.
문제
여권은 여행자가 세계 각국에 입국할 때 사용하는 증명서이다.
행성에는 번부터 번까지 번호가 붙은 개의 나라가 있다. 각 나라는 자국의 여권을 발급한다. 나라 가 발급한 여권을 가진 여행자는 나라 에 입국할 수 있다. 여권을 발급한 나라에는 반드시 입국할 수 있다. 즉, 이다.
친구는 여행을 좋아한다. 처음에는 여권이 없다. 그는 다음 두 행동을 반복해서 개 나라를 모두 방문하려고 한다.
- 현재 머무는 나라가 발급한 여권을 받는다.
- 지금 가진 여권으로 입국할 수 있는 나라로 이동한다.
친구가 사는 곳은 알 수 없어서, 그가 살 수 있는 후보 나라 가 주어진다. 각 후보에 대해 개 나라를 모두 방문할 수 있는지 판단하고, 방문할 수 있다면 받아야 하는 여권 수의 최솟값을 구한다.
입력
첫 줄에 이 주어진다. 이어지는 개 줄에는 각각 와 가 주어진다. 다음 줄에는 가 주어진다. 마지막 개 줄에는 각각 가 주어진다.
출력
개 줄을 출력한다. 번째 줄에는 친구가 나라 에 사는 경우 필요한 여권 수의 최솟값을 출력한다. 개 나라를 모두 방문할 수 없으면 을 출력한다.
제한
()
()
()
주어지는 값은 모두 정수이다.