드래곤 2
시간 제한2초메모리 제한512 MB
각 질문마다 부족 F의 용이 부족 G의 용을 향해 쏜 불화살 중 두 마을을 잇는 도로를 지나는 개수를 구합니다.
문제
JOI 평면에는 드래곤과 사람이 함께 살고 있다. JOI 평면은 X좌표와 Y좌표로 이루어진 넓은 좌표 평면이다. X좌표가 , Y좌표가 인 점은 로 나타낸다.
드래곤은 마리이며 1번부터 번까지 번호가 붙어 있다. 부족은 개이며 1번부터 번까지 번호가 붙어 있다. 번 드래곤은 에 있고 번 부족에 속한다. 평면에 드래곤이 살지 않는 부족도 있다.
사람의 마을은 과 에 있다. 도로는 두 마을을 잇는 선분이다.
부족끼리 적대 관계가 생길 수 있다. 부족 ()가 부족 (, )에 적대적이 되면, 부족 의 모든 드래곤이 부족 의 모든 드래곤을 향해 불덩이를 쏜다. 불덩이는 목표를 향해 곧게 날아가며, 목표에 도달한 뒤에도 같은 방향으로 계속 날아간다. 따라서 불덩이의 궤적은 반직선이다.
드래곤의 불덩이가 도로와 교차하면 도로가 손상된다. 앞으로 일어날 수 있는 적대 관계가 개 주어진다. 각 적대 관계마다 도로와 교차하는 불덩이의 개수를 구한다.
입력
첫 줄에 정수 , 이 공백으로 구분되어 주어진다. 은 드래곤의 수, 은 부족의 수이다.
이어지는 개의 줄의 번째 줄에는 정수 , , 가 주어진다. 이는 번 드래곤이 에 있고 부족 번호가 라는 뜻이다.
다음 줄에는 정수 , , , 가 주어진다. 두 마을은 각각 과 에 있다.
다음 줄에는 적대 관계의 수 가 주어진다.
이어지는 개의 줄의 번째 줄에는 정수 , 가 주어진다. 이는 번째 적대 관계에서 부족 가 부족 에 적대적이 된다는 뜻이다.
출력
개의 줄을 출력한다. 번째 줄에는 번째 적대 관계에서 도로와 교차하는 불덩이의 개수를 출력한다.
제한
()
()
개의 점 는 모두 서로 다르고, 어느 세 점도 한 직선 위에 있지 않다.
이고 이다.
쌍 는 모두 서로 다르다.