COCI 2008/2009, Contest #4
Task TREZORMirko 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 x (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.
InputThe 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).
OutputOutput on three separate lines the numbers of insecure, secure and super-secure vaults.
ScoringIn test cases worth 50% of points, L will be at most 1000.
In test worth another 25% of points, A and B will be at most 100 (but L can be as large as one billion).
Point Value: 30 (partial)
Time Limit: 2.00s
Memory Limit: 16M
Added: Jan 19, 2009
C++03, PAS, C, HASK, ASM, RUBY, PYTH2, JAVA, PHP, SCM, CAML, PERL, C#, C++11, PYTH3