#P17344. [ECNA 2025] AROD

[ECNA 2025] AROD

Problem Description

Since retiring from a lucrative athletic career, Alex has devoted most of his time to pondering foundational concepts in mathematics. Recently, he has been focusing on the categorization of triangles based on their interior angles, and has invented the acronym AROD to keep track of the four fundamental types:

  • A = acute: all three angles are less than 9090 degrees

  • R = right: one angle is 9090 degrees

  • O = obtuse: one angle is greater than 9090 degrees, but less than 180180 degrees

  • D = degenerate: one angle is 180180 degrees, or, equivalently, the three vertices are collinear

Alex wonders how often three distinct vertices chosen from a regular grid of x-yx\textrm{-}y points specify a triangle in each of the four AROD categories. More precisely, for positive integers mxm_x and my,m_y, he wants to consider all possible ways of choosing three distinct vertices from the set $$V(m_x,m_y) = { (x,y) : x \textrm{ and } y \textrm{ are integers, } 0 \leq x \leq m_x, 0 \leq y \leq m_y }$$ and then categorize each of the corresponding triangles into one of the four categories listed above.

Input Format

The input is a line containing two positive integers, mxm_x and my,m_y, satisfying mx+my600.m_x + m_y \leq 600.

Output Format

Output four lines containing the numbers of times three distinct vertices chosen from V(mx,my)V(m_x,m_y) specify an acute, right, obtuse, or degenerate triangle, in that order (one number per line).

1 2
0
14
4
2
2 3
22
94
84
20