#include using namespace std; using ll=long long; #define rep2(i, a, n) for(int i = (a); i < (n); i++) #define rep(i, n) rep2(i,0,n) #define repe(i,a)for(auto &i:a) void in(){} template void in(Head&& head,Tail&&... tail){cin>>head;in(forward(tail)...);} vector divisor(int n){ vector res; for(int i=1;i*i<=n;i++){ if(n%i==0){ res.push_back(i); if(i!=n/i) res.push_back(n/i); } } sort(res.begin(),res.end()); return res; } int main(){ cin.tie(nullptr);ios_base::sync_with_stdio(false); int a,b; in(a,b); auto ed=divisor(a+b); repe(c,ed){ //3つは相異なる自然数( 1以上の整数)である if(a==c)continue; if(b==c)continue; //どの2つの自然数を足しても、残った1つの数の倍数になる。 if((a+c)%b!=0)continue; if((b+c)%a!=0)continue; cout<