젖 짜는 순서

일부 소들 사이의 순서 조건과 특정 소의 고정 위치가 주어질 때, 소 1이 차지할 수 있는 가장 이른 자리를 구한다.

보통5위상 정렬그리디그래프구현면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

농부 존의 소 NN마리(2N1002 \leq N \leq 100)는 늘 그렇듯 11번부터 NN번까지 번호가 붙어 있고, 발굽에 시간이 남아돈다. 그래서 소는 존이 아침마다 젖을 짜는 순서를 두고 복잡한 사회 구조를 만들어 냈다. 몇 주 동안 관찰한 끝에 존은 이 구조가 두 가지 성질로 이루어진다는 사실을 알아냈다.

첫째, 서열 때문에 어떤 소는 다른 소보다 먼저 젖을 짜 달라고 고집한다. 예를 들어 3번 소의 서열이 가장 높고 2번 소가 그다음, 5번 소가 가장 낮다면 3번 소의 젖을 가장 먼저 짜고, 이어서 2번 소, 마지막으로 5번 소의 젖을 짜야 한다.

둘째, 어떤 소는 순서에서 정해진 자리에서만 젖을 짜게 한다. 예를 들어 4번 소는 전체에서 두 번째로 짜 달라고 고집할 수 있다.

다행히 존은 이 조건을 모두 만족하는 순서로 언제나 젖을 짤 수 있다.

그런데 1번 소가 최근에 병이 났다. 존은 이 소의 젖을 되도록 이른 순서에 짜서 축사로 돌려보내 쉬게 하려고 한다. 1번 소가 젖 짜는 순서에서 차지할 수 있는 가장 이른 자리를 구하라.

입력

첫째 줄에 NN, MM(1M<N1 \leq M < N), KK(1K<N1 \leq K < N)가 주어진다. 존의 소는 NN마리이고, 그중 MM마리가 하나의 서열을 이루며, KK마리가 특정한 자리에서 젖을 짜 달라고 요구한다.

둘째 줄에 서로 다른 정수 MMm_1,m_2,,m_Mm\_1, m\_2, \ldots, m\_M(1m_iN1 \leq m\_i \leq N)이 주어진다. 이 줄에 적힌 소는 적힌 순서 그대로 젖을 짜야 한다.

다음 KK개 줄에는 정수 두 개 c_ic\_i(1c_iN1 \leq c\_i \leq N)와 p_ip\_i(1p_iN1 \leq p\_i \leq N)가 주어진다. c_ic\_i번 소를 p_ip\_i번째로 짜야 한다는 뜻이다.

주어진 조건을 모두 만족하는 젖 짜는 순서가 반드시 존재한다.

출력

1번 소가 젖 짜는 순서에서 차지할 수 있는 가장 이른 자리를 출력한다.

힌트

예제에서 존의 소는 여섯 마리이고 1번 소가 아프다. 4번 소는 5번 소보다 먼저, 5번 소는 6번 소보다 먼저 짜야 한다. 또 3번 소는 첫 번째, 5번 소는 세 번째로 짜야 한다.

3번 소를 첫 번째로 짜야 하고 4번 소가 5번 소보다 앞서야 하므로, 4번 소가 두 번째, 5번 소가 세 번째가 된다. 따라서 1번 소는 빨라야 네 번째다.