#include unsigned long long gcd(__int128 a, __int128 b){ __int128 r = a % b; if(r == 0){ return (unsigned long long)b; }else{ return gcd(b, r); } } int main(){ unsigned long long a, b; scanf("%llu %llu", &a, &b); __int128 apb = (__int128)(a + b); __int128 axb = (__int128)(a * b); unsigned long long answer; if(apb > axb){ answer = gcd(apb , axb); }else{ answer = gcd(axb , apb); } printf("%llu", answer); return 0; }