Count the cuboids

Time Limit: 10000/1000 MS (Java/Others)

Memory Limit: 32768/32768 K (Java/Others)

Description



Look up the picture A , the big wood is cut into many small ones. As we know, a cuboid has three attributes: Length, Width and Height. In the picture B, C, D, there are different. The problem is so easy that you just need to count the kinds of the cuboids which can be cut from the big one. When we cut the big one into so many small one, we give every one a number to mark which is 1×1×1. Look at the picture B and C, they have the same length, width and height, but the marking numbers they have are different from each other, so B is different from C. B and D have the different attributes (any one attribute of the length, width and height is different), so they are also different.

Input

Many data cases come. In each case, there are three positive integers L, W, H, which are the length, the width and the height of the LWH. When L, W and H are all -1, the input is over, and you haven’t to handle them.

Output

For each case, you should print the number of any kinds of cuboids you can cut from the original big one, and any two ones must be of difference. And you have to make sure the length and the width and the height of the small one you cut are all integers. You can assume the final result will be in the range of the 32-integer, for that you can calculate it easily.

Sample Input

5 3 4 2 2 2 1 1 2 -1 -1 -1

Sample Output

900 27 3

Hint

威士忌

Source

HDU 2007-10 Programming Contest

提交代码