B. Необычное вычитание
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Даны две переменные a и b. Рассмотрим следующую последовательность действий над этими переменными:

  1. Если a = 0 или b = 0, закончить процесс. Иначе перейти к шагу 2;
  2. Если a ≥ 2·b, то присвоить a значение a - 2·b и повторить шаг 1. Иначе перейти к шагу 3;
  3. Если b ≥ 2·a, то присвоить b значение b - 2·a и повторить шаг 1. Иначе закончить процесс.

Изначально значения a и b — положительные целые числа, поэтому алгоритм отработает за конечное время.

Определите значения a и b после завершения работы алгоритма.

Входные данные

В первой строке записаны два целых числа n и m (1 ≤ n, m ≤ 1018). n — начальное значение переменной a, m — начальное значение переменной b.

Выходные данные

Выведите два числа — значения a и b после завершения работы алгоритма.

Примеры
Входные данные
12 5
Выходные данные
0 1
Входные данные
31 12
Выходные данные
7 12
Примечание

Пояснения к примерам:

  1. a = 12, b = 5 a = 2, b = 5 a = 2, b = 1 a = 0, b = 1;
  2. a = 31, b = 12 a = 7, b = 12.