황금 천장
시간 제한1초메모리 제한128 MB
직사각형 아트리움 안에서 기울어진 평면 천장의 넓이와, 평면이 원래 천장보다 높은 부분에서는 수평 천장의 넓이를 합산해 올림한 값을 구하는 문제입니다.
문제
직육면체 모양의 아트리움은 좌표 범위 0 <= x <= L, 0 <= y <= W, 0 <= z <= H를 차지한다. 한쪽 꼭짓점은 (0, 0, 0), 반대쪽 꼭짓점은 (L, W, H)이다.
기울어진 천장은 평면 Ax + By + Cz = D 위에 놓인다. 평면은 수직이 아니며, 박스 내부를 지난다. 평면이 바닥과 원래 천장에 닿는 경우도 가능하다.
황금잎으로 덮어야 하는 면은 다음과 같다.
- 평면이 바닥과 원래 천장 사이를 지나는 위치에서는 그 평면 부분을 덮는다.
- 평면이 원래 천장보다 높은 위치에서는 원래 수평 천장 부분을 덮는다.
- 평면이 바닥보다 낮은 위치에는 덮을 천장이 없다.
덮어야 하는 전체 넓이를 계산하는 프로그램을 작성하시오.
입력
첫째 줄에 데이터 세트의 개수 P가 주어진다. (1 <= P <= 1000)
각 데이터 세트는 한 줄로 주어지며, L W H A B C D가 공백으로 구분되어 입력된다. L, W, H는 각각 가로, 세로, 높이이며 모두 양수이다. A, B, C, D는 기울어진 평면의 방정식
Ax + By + Cz = D
의 계수이다.
모든 점은 0 <= x <= L, 0 <= y <= W, 0 <= z <= H 범위 안에서 고려한다. 평면은 수직이 아니므로 항상 C >= 1.0이다.
출력
각 데이터 세트마다 황금잎으로 덮어야 하는 넓이를 제곱준민 단위로 올림한 정수를 한 줄에 출력한다.