총격전 연출
시간 제한2초메모리 제한512 MB
서로 다른 상대를 겨누는 n명의 갱스터가 있으며, 한 명의 발사 시각을 바꾸는 q번의 갱신마다 생존자 수를 구한다.
문제
스티븐 바이트버그는 액션 영화를 전문으로 하는 영화감독이다. 지금은 바이트 마피아 전쟁을 주제로 한 새 영화를 만들고 있다. 바이트버그는 절정 장면인 대규모 총격전을 어떤 모습으로 연출할지 고민하고 있다.
이 장면에는 명의 갱단원이 등장하며, 편의상 1부터 까지 번호를 붙인다. 긴장이 최고조에 이르면 각 갱단원은 무기를 꺼내 다른 갱단원 한 명을 겨눈다. 두 명 이상에게 겨눔을 당하는 갱단원은 없다. 갱단원은 가난하지만 훈련이 잘 되어 있다. 각자 딱 한 발만 쏠 수 있고, 그 한 발은 반드시 명중하며 맞은 사람은 반드시 죽는다.
어느 순간 한 명이 긴장을 견디지 못하고 방아쇠를 당기면서 총격전이 시작된다.
감독은 갱단원이 방아쇠를 당기는 순서를 미리 정해 두었다. 갱단원 는 정확히 시각 에 갱단원 를 향해 쏘되, 그 시각 이전에 이미 죽었다면 쏘지 못한다. 누군가 자신을 향해 쏘는 바로 그 순간에 갱단원은 죽는다.
감독은 장면이 끝났을 때 몇 명이 살아남는지 알고 싶다. 그런데 바이트버그는 갱단원이 쏘는 순서를 아직 확정하지 못했다. 그래서 가끔 값 하나를 바꾸라고 지시한다. 그때마다 지금까지의 변경을 모두 반영한 새 순서를 기준으로 생존자가 몇 명인지 알고 싶어 한다.
입력
첫째 줄에 장면에 등장하는 갱단원 수 ()이 주어진다. 둘째 줄에 개의 정수 (, , 이면 )이 주어진다. 갱단원 가 갱단원 를 겨눈다는 뜻이다.
셋째 줄에 개의 정수 ()이 주어진다. 처음 사격 순서를 나타내며, 의 초깃값은 이다.
넷째 줄에 바이트버그가 계획한 의 변경 횟수 ()가 주어진다. 다음 개 줄에 변경 내용이 주어진다. 그중 번째 줄에는 두 정수 와 (, )가 주어지며, 번째 변경은 를 로 바꾸는 것이다. 는 모두 서로 다르다.
출력
정확히 개의 줄을 출력한다. 첫째 줄에는 처음 사격 순서대로 진행했을 때 살아남는 갱단원 수를 출력한다. 그다음 개 줄 중 번째 줄에는 첫 번째부터 번째까지의 변경을 모두 적용한 뒤의 을 기준으로 진행했을 때 살아남는 갱단원 수를 출력한다.