떨어지는 공
시간 제한2초메모리 제한1024 MB
끝점이 움직이는 여러 경사 발판이 주어질 때, 주어진 x에서 떨어진 공이 지면에 닿는 x 좌표를 구한다.
문제
요나스(Jonas)는 세워 둔 판에 비스듬한 고무 발판 개를 붙여 두었다. 각 발판은 하나의 선분이며, 양 끝점은 위아래로 움직일 수 있다. 끝점의 좌표는 절대 바뀌지 않고 높이만 바뀐다. 요나스는 다음 두 종류 중 하나인 동작을 순서대로 번 수행한다.
-
발판 끝 옮기기. 어떤 발판의 한쪽 끝을 새 높이로 올리거나 내린다. 반대쪽 끝은 그대로 있으므로 발판의 길이는 바뀔 수 있다. 이 동작 뒤에도 발판은 결코 수평이 되지 않으며, 어느 순간에도 두 발판이 서로 닿거나 교차하지 않는다.
-
공 떨어뜨리기. 주어진 좌표의 위쪽 높은 곳에서 작은 공을 놓는다. 공은 공중에서는 곧장 아래로 떨어지고, 발판에 닿으면 그 발판의 더 낮은 쪽 끝까지 굴러 내려가 거기서 떨어진 뒤 다시 곧장 아래로 떨어진다. 이 과정을 바닥에 닿을 때까지 반복한다.
발판들은, 한 발판에서 떨어진 공이 다른 발판의 끝에 정확히 떨어지는 일이 없도록 배치되어 있으며, 떨어뜨린 공은 항상 어떤 발판의 끝이 아닌 좌표 위에서 출발한다. 떨어뜨린 각 공이 마지막으로 바닥에 닿는 좌표를 구하여라.
입력
첫째 줄에 두 정수 과 가 주어진다.
이어지는 개의 줄에는 발판이 하나씩 주어진다. 번째 줄에는 네 정수 , , , 가 주어지며, 이는 발판의 왼쪽 끝 과 오른쪽 끝 의 좌표이다. 항상 이다.
그다음 개의 줄에는 동작이 하나씩 주어진다. 번째 줄에는 두 정수 와 가 주어진다.
- 이면 공을 떨어뜨리며, 는 그 공의 시작 좌표이다.
- 이면 번째 발판의 오른쪽 끝을 옮기며, 는 그 끝의 새 좌표이다.
- 이면 번째 발판의 왼쪽 끝을 옮기며, 는 그 끝의 새 좌표이다.
출력
떨어뜨린 공의 수만큼 줄을 출력한다. 공을 떨어뜨린 순서대로, 각 공이 바닥에 닿는 좌표를 한 줄에 하나씩 출력한다.
제한
- 이고