shunfurh 于 2017.01.07 11:52 提问

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

sample input #1
3 2 2 4

sample input #2
3 2 2 6
Sample Output

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 2Cutting a Block

1个回答

caozhy      2017.01.13 23:51