램프
시간 제한5초메모리 제한512 MB
10m 떨어진 두 평행 벽에 직사각형 창문들이 있고 한 벽에 램프가 있을 때, 반사된 빛이 닿을 수 있는 램프 쪽 건물의 창문 개수를 센다.
문제
한밤중에 비트라티오(Bitratio)가 비트아사르(Byteasar)가 사는 건물 입구의 램프를 켰다. 강한 불빛 때문에 비트아사르는 잠을 이룰 수 없다. 램프가 그의 창문을 직접 비추지는 않지만, 다른 창문에 반사되어 빛이 창문에 닿는다. 비트아사르는 이웃들도 같은 고통을 겪는지, 즉 그 빛이 이웃의 창문에도 닿는지 궁금해한다. 이 물음에 답하는 프로그램을 작성하자.
비트아사르는 건물 에 살고 있으며, 이 건물에는 창문이 개 있다. 램프는 이 건물 벽의 가장 아래쪽에 놓여 있다. 건물 의 정면으로 정확히 미터 떨어진 곳에 창문이 개인 또 다른 건물 가 있고, 의 벽은 의 벽과 평행하다.
빛은 기하 광학(광선 광학)을 따른다. 즉 빛은 직선 광선으로 나아가고, 광선이 창문에 닿으면 반사되며, 반사각은 입사각과 같다.
두 벽에는 다음과 같이 좌표계를 둔다. 두 벽 모두 축은 수평, 축은 수직이며, 두 벽의 축은 같은 방향을 가리키고, 두 원점 은 서로 마주 본다. 모든 창문은 (어느 건물이든) 변이 좌표축과 평행한 직사각형이다. 광선은 창문의 내부에서만 반사되고, 창문의 경계에서는 흡수된다. 한 건물 안에서 서로 다른 두 창문은 내부를 공유하지 않는다. 램프는 건물 의 벽 위 점 에 있으며, 이 점은 어떤 창문의 내부에도 경계에도 있지 않다.
입력
첫째 줄에 두 정수 과 ()이 공백 하나로 구분되어 주어진다. 각각 건물 와 건물 의 창문 개수이다.
다음 개의 줄에는 건물 의 창문이 한 줄에 하나씩 주어진다. 번째 줄()에는 네 정수 , , , (, )가 공백으로 구분되어 주어진다. 건물 의 번째 창문은 왼쪽 아래 꼭짓점이 , 오른쪽 위 꼭짓점이 인 직사각형이며 단위는 미터이다.
그다음 개의 줄에는 건물 의 창문이 같은 형식으로 주어진다.
출력
첫째 줄에 건물 의 창문 중 내부가 적어도 하나의 광선에 맞는 창문의 개수를 출력한다. 모든 입력에는 그러한 창문이 적어도 하나(비트아사르 자신의 창문) 존재함이 보장된다.
둘째 줄에 그 창문들의 번호(창문은 번부터 매긴다)를 오름차순으로 공백 하나로 구분하여 출력한다.