#include <iostream>
using namespace std;
unsigned long long f(unsigned long long n, unsigned long long m) {
if (n % m == 0) return m;
if (m % n == 0) return n;
if (m > n) f(m % n, n);
else f(n % m , m);
}
int main() {
unsigned long long n, m, t;
cin >> m >> n;
t = f(m, n);
cout << t;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCnVuc2lnbmVkIGxvbmcgbG9uZyBmKHVuc2lnbmVkIGxvbmcgbG9uZyBuLCB1bnNpZ25lZCBsb25nIGxvbmcgbSkgewogICAgaWYgKG4gJSBtID09IDApIHJldHVybiBtOwogICAgaWYgKG0gJSBuID09IDApIHJldHVybiBuOwogICAgaWYgKG0gPiBuKSBmKG0gJSBuLCBuKTsKICAgIGVsc2UgIGYobiAlIG0gLCBtKTsKfQogCmludCBtYWluKCkgewogICAgdW5zaWduZWQgbG9uZyBsb25nIG4sIG0sIHQ7CiAgICBjaW4gPj4gbSA+PiBuOwogICAgdCA9IGYobSwgbik7CiAgICBjb3V0IDw8IHQ7CiAgICByZXR1cm4gMDsKfQ==