#include #include #include #include #include using namespace std; using ll = long long; #define rep(i,n) for(int i = 0; i < (int)(n); i++) #define all(c) begin(c), end(c) namespace mp = boost::multiprecision; inline mp::cpp_int gcd(mp::cpp_int a, mp::cpp_int b) { return b ? gcd(b, a%b) : a; } int main() { mp::cpp_int A, B; cin >> A >> B; cout << gcd(A + B, A*B) << endl; return 0; }