#include using namespace std; std::map prime_factorize(unsigned long long x) { std::map ret; for (unsigned i = 2; 1ULL * i * i <= x; i++) { while (x % i == 0) x /= i, ret[i]++; } if (x != 1) ret[x]++; return ret; } long long A, B; int main() { cin >> A >> B; map r1 = prime_factorize(A + B); map r2 = prime_factorize(A); map r3 = prime_factorize(B); for(pair i : r3) r2[i.first] += i.second; long long ret = 1; for(pair i : r2) { int x = min(i.second, r1[i.first]); for(int j = 0; j < x; j++) ret *= i.first; } cout << ret << endl; return 0; }