특수부대 CH

수레에 탑승하고 총에 맞아 죽었다가 부활하는 요원들과 함께 수직선 위를 움직이는 수레의 위치를 각 질의 시각마다 계산한다.

보통7시뮬레이션구현아직 제출이 없습니다시간 제한2초메모리 제한64 MB

문제

특수부대 CH는 물자를 실은 짐 수레를 목적지까지 옮기는 임무를 맡았다.

임무는 수직선 위에서 이루어진다. 짐 수레와 각 요원의 위치는 수직선 위의 한 점이고, 좌표의 단위는 미터이다. 수레는 좌표 ss에서 출발해 좌표 ee까지 가야 한다.

그림에서 수레는 6에서 출발해 2에 도착해야 하고, 네 명의 요원이 1, 7, -1, 4에 서 있다.

어느 순간에 수레와 위치가 같은 요원, 즉 수레에 타고 있는 요원이 pp명이면 그 순간 수레의 속력은 pp m/s이다. 수레는 언제나 목표 지점 쪽으로만 움직이고, 목표 지점에 닿으면 멈춘다.

살아 있는 요원 중 수레에 타지 않은 요원은 자신의 속력 viv_i로 항상 수레를 향해 움직인다. 요원은 수레와 같은 위치에 닿는 순간 수레에 타며, 한 번 타면 자신의 속력과 상관없이 수레와 함께 목표 지점까지 이동한다.

요원은 총격을 받으면 체력이 줄어든다. 체력이 0 이하가 되면 그 요원은 사망한다. 사망한 요원은 사망한 시점으로부터 10초 뒤에 자신의 초기 위치에서 체력이 가득 찬 상태로 다시 살아나 임무를 이어간다. 사망해 있는 동안에는 수레에 타고 있지 않고 수레의 속력에도 보태지지 않는다.

기록관인 당신은 모든 총격 기록을 가지고 있다. 이 기록을 바탕으로 궁금한 시각마다 수레가 어느 좌표에 있었는지 복원하라.

입력

첫째 줄에 수레의 시작 좌표 ss와 목표 좌표 ee가 공백으로 구분되어 주어진다. (0s10000 \le s \le 1\,000, 0e10000 \le e \le 1\,000)

둘째 줄에 요원의 수 mm이 주어진다. (1m101 \le m \le 10)

다음 mm개의 줄에 요원의 정보가 한 줄에 하나씩 주어진다. ii번째 줄에는 ii번 요원의 초기 위치 xix_i(m), 초기 체력 hih_i, 이동 속력 viv_i(m/s)가 공백으로 구분되어 주어진다. (0xi10000 \le x_i \le 1\,000, 150hi600150 \le h_i \le 600, 1vi10001 \le v_i \le 1\,000)

다음 줄에 총격의 수 ll이 주어진다. (1l1001 \le l \le 100)

다음 ll개의 줄에 총격 정보가 한 줄에 하나씩 주어진다. jj번째 줄에는 총격을 받은 요원의 번호 aja_j, 총격이 일어난 시각 bjb_j(초), 줄어드는 체력 djd_j가 공백으로 구분되어 주어진다. (1ajm1 \le a_j \le m, 0bj10000 \le b_j \le 1\,000, 1dj6001 \le d_j \le 600)

다음 줄에 질의의 수 qq가 주어진다. (1q10001 \le q \le 1\,000)

다음 qq개의 줄에 수레의 위치를 알고 싶은 시각 tt(초)가 한 줄에 하나씩 주어진다. (0t10000 \le t \le 1\,000)

입력으로 주어지는 수는 모두 정수이다. 총격이 일어난 시각에 그 요원이 이미 사망한 상태였다면 그 총격은 무시한다. 부활 시각과 총격 시각이 정확히 같으면 부활한 뒤에 총격을 받은 것으로 본다. 시각 0에 수레와 모든 요원은 각자의 시작 위치에 있다.

출력

질의로 주어진 각 시각마다 그때 수레가 있던 좌표를 한 줄에 하나씩 출력한다. 좌표는 소수점 아래 일곱째 자리에서 반올림해 소수점 아래 여섯째 자리까지 출력한다. 정답이 반올림의 경계에 놓이는 입력은 주어지지 않는다.