Девочка Маша любит вырезать из бумаги различные фигуры. Особенно ей нравятся квадраты. На столе перед Машей лежит бумажный прямоугольник размером m × n сантиметров. Девочка хочет, чтобы на столе остались одни лишь квадраты. Пока это не так, она берёт со стола прямоугольник и одним прямолинейным разрезом отрезает от него квадрат. После этого квадрат остаётся на столе, а с остатком происходит то же самое: если он не квадратный, от него одним прямолинейным разрезом отрезается квадрат, и так далее. Наконец, после того, как очередное разрезание привело к появлению двух квадратов, они оба кладутся на стол, и разрезания заканчиваются.
Сколько квадратов окажется у Маши на столе, когда она закончит разрезания?
Формат ввода
В единственной строке ввода заданы целые числа m и n — стороны исходного прямоугольника в сантиметрах (1 ≤ m, n ≤ 2 000 000 000).
Формат вывода
Выведите одно число — количество квадратов, которые окажутся на столе после всех разрезаний.
1.
const N = 10;
var a: array [1..N] of integer;
i, x: integer;
begin
write('Введите x: ');
readln(x);
for i := 1 to N do
begin
a[i] := x + i - 1;
write(a[i], ' ');
end;
end.
2.
const N = 10;
var a: array [1..N] of integer;
i: integer;
begin
a[1] := 1;
a[2] := 1;
for i := 3 to N do
begin
a[i] := a[i-1] + a[i-2];
end;
for i := 1 to N do
begin
write(a[i], ' ');
end;
end.
3.
const N = 6;
var a: array [1..N] of integer;
i, x: integer;
begin
a[N] := 1;
for i := N-1 downto 1 do
begin
a[i] := 2 * a[i+1];
end;
for i := 1 to N do
begin
write(a[i], ' ');
end;
end.