TREZOR  Trezor
English  Vietnamese 
Mirko decided to open a new business – bank vaults. A branch of the bank can be visualized in a plane,vaults being points in the plane. Mirko's branch contains exactly L·(A+1+B) vaults, so that each point with integer coordinates inside the rectangle with corners (1, −A) and (L, B) contains one vault.
The vaults are watched by two guards – one at (0, −A), the other at (0, B). A guard can see a vault if there are no other vaults on the line segment connecting them.
A vault is not secure if neither guard can see it, secure if only one guard can see it and supersecure if both guards can see it.
Given A, B and L, output the number of insecure, secure and supersecure vaults.
Input
The first line contains integers A and B separated by a space (1 ≤ A ≤ 2000, 1 ≤ B ≤ 2000).
The second line contains the integer L (1 ≤ L ≤ 1 000 000 000).
Output
Output on three separate lines the numbers of insecure, secure and supersecure vaults.
Example
Input: 1 1 3 Output: 2 2 5
Input: 2 3 4 Output: 0 16 8
Input: 7 11 1000000 Output: 6723409 2301730 9974861
hide comments
aayush maheshwari:
20150611 11:05:44
Any tricky case? Id 14433393 , Getting WA , please help! Last edit: 20150626 20:01:34 

Josef Ziegler:
20100104 14:54:59
Nice problem. Last edit: 20100104 14:57:35 
Added by:  Race with time 
Date:  20090118 
Time limit:  1s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: ERL JSRHINO NODEJS PERL6 VB.NET 
Resource:  COCI 2008/2009 