시간 제한
메모리 제한
시간 제한
3초
메모리 제한
1024 MB
전장은 하나의 직선입니다. 포병은 탄도 미사일을 발사하고 항공대는 같은 직선 위로 비행을 계획합니다. 각 비행에 대해 최소 안전 고도를 구해야 합니다.
탄도 미사일은 지면(고도 0)의 한 점 p에서 발사되어, 최고점이 (x,y)인 좌우 대칭 포물선을 그리며 날아갑니다. 즉 최고점의 수평 좌표는 x, 최고 고도는 y입니다. 수평 좌표 u에서 미사일의 고도는
y(1−(x−p)2(u−x)2)
이며, 미사일은 지면 위의 호, 곧 u∈[p, 2x−p] 구간에만 존재합니다. 그 밖에서는 궤적이 없습니다.
미사일은 입력 순서대로 매 분에 하나씩 발사되므로, i번째 미사일은 i분에 발사됩니다. 각 비행은 시간 구간 [t1,t2]와 공간 구간 [x1,x2]로 주어지며 (둘 다 양 끝 포함), 그 비행의 최소 안전 고도는 시간 구간 [t1,t2] 동안 발사된 모든 미사일이 수평 구간 [x1,x2] 안에서 항상 그 이하에 머무르는 가장 낮은 고도입니다. 이는 곧 그러한 미사일들이 u∈[x1,x2] 위에서 도달하는 최대 고도(지면 위 궤적만 계산)와 같습니다. 조건을 만족하는 미사일이 [x1,x2]의 어떤 점에도 도달하지 않으면 최소 안전 고도는 0입니다.
첫째 줄에 계획된 미사일 발사 횟수 n이 주어집니다 (1≤n≤50000).
다음 n개의 줄에는 발사 하나를 나타내는 세 정수 p, x, y가 주어집니다. 발사 지점 p와 궤적의 최고점 (x,y)이며 (0≤p<x≤50000, 0<y≤50), 미사일은 입력 순서대로 매 분 하나씩 발사됩니다. i번째 발사는 i분에 일어납니다.
다음 줄에는 계획된 비행 횟수 m이 주어집니다 (1≤m≤20000).
다음 m개의 줄에는 각각 네 정수 t1, t2, x1, x2가 주어집니다. 시간 구간 [t1,t2] (1≤t1≤t2≤n)와 공간 구간 [x1,x2] (0≤x1≤x2≤50000)이며, 두 구간 모두 양 끝을 포함합니다. 1분은 첫 번째 발사, n분은 마지막 발사에 해당합니다.
각 비행에 대해 최소 안전 고도를 기약 분수 p/q 형태로 한 줄에 하나씩 출력하세요. 여기서 q≥1이고 gcd(p,q)=1입니다. 고도는 항상 음이 아닌 유리수이므로 p≥0이며, 고도가 0이면 0/1로 출력합니다.