#include using namespace std; typedef long long ll; #define REP(i,n) for(ll i=0;i=0;i--) #define FOR(i,a,b) for(ll i=a;i<=ll(b);i++) #define FORD(i,a,b) for(ll i=a;i>=ll(b);i--) #define ALL(x) x.begin(),x.end() template inline bool chmax(T& a, T b){ if(a inline bool chmin(T& a, T b){ if(a>b){ a=b; return 1; } return 0; } const long long INF = 1LL << 60; const ll MOD = 1000000007; //10^9+7:合同式の法 int main(){ ll A, B; cin >> A >> B; ll g = gcd(A, B); cout << g * gcd((A + B) / g, g) << endl; return 0; }