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 super-secure if both guards can see it.
Given A, B and L, output the number of insecure, secure and super-secure 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 super-secure 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
Added by: | Race with time |
Date: | 2009-01-18 |
Time limit: | 1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ERL JS-RHINO NODEJS PERL6 VB.NET |
Resource: | COCI 2008/2009 |