#P3103. Cutting a Block
Cutting a Block
Description
Carpenter Bill has a huge wooden block. The block has a shape of rectangular parallelepiped. The block is so huge that it cannot pass through the door of Bill’s house. So he decided to cut it into n smaller blocks. Bill is not a very smart guy so he wants to make all small blocks rectangular, and all of them should be equal. Write a program that would help Bill to cut his block.
Input
Let us introduce a coordinate system such that the edges of the block are parallel to the coordinate axes and one of the block’s corners is placed at the origin. The opposite corner of the block has coordinates (x, y, z). The first line of the input file contains four integer numbers — x, y, z and n (1 ≤ x, y, z, n ≤ 1 000).
Output
Output file should contain n lines each describing one small block. Each small block is described by six numbers: x1, y1, z1, x2, y2, z2, where (x1, y1, z1) are the coordinates of one corner of the block and (x2, y2, z2) are the coordinates of its opposite corner.
Coordinates must be precise up to eight digits after the decimal point.
sample input #1
3 2 2 4
sample input #2
3 2 2 6
sample output #1
0 0 0 1.5 1 2
3 0 0 1.5 1 2
0 1 0 1.5 2 2
3 1 0 1.5 2 2
sample output #2
0 0 0 1 2 1
0 0 1 1 2 2
1 0 0 3 1 1
1 0 1 3 1 2
1 1 0 3 2 1
1 1 1 3 2 2
Hint
Source
Northeastern Europe 2005, Northern Subregion