using System;
public class Program
{
static int CalculateGCD(int a, int b) //Това е дефиницията на метод, наречен CalculateGCD, който приема два цели числа a и b и връща техния най-голям общ делител (GCD - Greatest Common Divisor).
// Този метод е статичен (static), което означава, че може да бъде извикан без да се създава екземпляр на класа.
while (b != 0) // Това е началото на цикъл while, който ще върти програмата, докато стойността на b не стане нула.
// Това е основна стъпка при алгоритъма на Евклид за изчисляване на най-големия общ делител (GCD).
int temp = a % b; //Това изчислява остатъка от делението на a с b и го записва в променливата temp.
a = b;
b = temp;
}
return a; //Когато цикълът завърши, методът връща стойността на a, която по това време ще бъде най-големият общ делител на първоначалните стойности на a и b
public static void Main(string[] args) //Това е основният метод на програмата, който се изпълнява при стартиране.
// Той е статичен, защото програмата стартира без да създава обекти на класа.
string[] input = Console.ReadLine().Split(' '); //Този ред чете един ред от входа и го разделя на части (с помощта на метода Split(' ')), като всяка част ще бъде записана в масив от низове.
int m = int.Parse(input[1]); // Този ред преобразува първия елемент от масива input в цяло число и го присвоява на променливата n. В примера, ако въведеното е "12 15", тогава n ще бъде 12.
int gcd = CalculateGCD(n, m); //Това преобразува втория елемент от масива input в цяло число и го присвоява на променливата m. В примера, ако въведеното е "12 15", тогава m ще бъде 15.
int squares = (n / gcd) * (m / gcd); //Тук се извиква метода CalculateGCD с аргументи n и m, за да се изчисли техният най-голям общ делител (GCD), и резултатът се записва в променливата gcd.
Console.WriteLine(squares); //Това изчислява броя на квадратите, които могат да се формират от правоъгълника с размери n и m, като използва най-големия общ делител (gcd).
// Колкото по-голям е GCD, толкова по-малък е размерът на отделния квадрат. Изразът (n / gcd) * (m / gcd) изчислява броя на квадратите в правоъгълника.