CF350D Looking for Owls
Description
Emperor Palpatine loves owls very much. The emperor has some blueprints with the new Death Star, the blueprints contain $ n $ distinct segments and $ m $ distinct circles. We will consider the segments indexed from $ 1 $ to $ n $ in some way and the circles — indexed from $ 1 $ to $ m $ in some way.
Palpatine defines an owl as a set of a pair of distinct circles $ (i,j) $ ( $ i<j $ ) and one segment $ k $ , such that:
1. circles $ i $ and $ j $ are symmetrical relatively to the straight line containing segment $ k $ ;
2. circles $ i $ and $ j $ don't have any common points;
3. circles $ i $ and $ j $ have the same radius;
4. segment $ k $ intersects the segment that connects the centers of circles $ i $ and $ j $ .
Help Palpatine, count the number of distinct owls on the picture.
Input Format
The first line contains two integers — $ n $ and $ m $ ( $ 1
Output Format
Print a single number — the answer to the problem.
Please, do not use the %lld specifier to output 64-bit integers is С++. It is preferred to use the cout stream or the %I64d specifier.
Explanation/Hint
Here's an owl from the first sample. The owl is sitting and waiting for you to count it.
