В одном из местных НИИ часто требуется находить наибольший общий делитель (НОД) двух чисел.
Вам уже доверяют, как одному из лучших «автоматизаторов» в округе, так что руководство НИИ решило заказать ПО у вас.
Формат ввода
Вводится два натуральных числа, каждое на своей строке.
Формат вывода:
Требуется вывести одно натуральное число — НОД двух данных чисел.
Примечание
Самый распространенный способ поиска НОД — алгоритм Евклида.
Пример
Ввод
12
42Вывод
6Ввод
512
625Вывод
1Решение
Алгоритм Эвклида изложенный научным языком штука довольно сложная для понимания. К счастью, есть более простые объяснения. 
Мы рассмотрим два, наиболее распространных варианта использования этого алгоритма.
Первый заключается в том, чтобы вычитать из большего числа меньшее, пока одно и них не станет равным нулю. Оставшееся ненулевое значение и будет их общим делителем.
Таким образом организуем цикл while() с условием пока a и b не равны нулю. 
Если a > b, из a вычитаем b, в противном случае из b вычитаем a.
Когда a или b стали равными нулю печатаем сумму a и b. 
Можно слегка ускорить алгоритм, ведь если ввести 99 и 3, то мы вычтем из первого число второе 33 раза. Ускорение сводится к тому, чтобы операцию вычитания заменить на операцию поиска остатка от деления (%). В остальном алгоритм остается тем же.
Существует еще один способ, связанный с поведением оператора % в случае, когда a < b и умением python менять местами две переменных в одной строке. Он показан в третьем варианте решения. Фактически, он является эталонным решением в python.
Посмотреть код
Решение
# Простое решение с вычитанием
a, b = int(input()), int(input())
while a != 0 and b != 0:
    if a >= b:
        a -= b
    else:
        b -= a
print(a + b)Решение
# Ускоренное решение с имспользованием остатка от деления
a, b = int(input()), int(input())
while a != 0 and b != 0:
    if a >= b:
        a %= b
    else:
        b %= a
print(a + b)Решение
# Продвинутое решение с имспользованием остатка от деления
a, b = int(input()), int(input())
while a != 0:
    a, b = b % a, a
print(b)