#include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const ll INF=1LL<<60; typedef pair P; typedef pair PP; const ll MOD=998244353; const double PI=acos(-1); int main(){ ll p,q; cin>>p>>q; ll lb=(q+(p-1))/p; ll ub=2*q/p; vector> cand; for(ll m=lb;m<=ub;m++){ if(m*p==q) continue; if((m*p-q)>q) break; if(q<(m*p-q)) break; if(m*q%(m*p-q)==0){ ll n=m*q/(m*p-q); if(n2*q) break; cand.emplace_back(m,n); } } /* for(ll n=1;n*n<=q;n++){ if(q%n==0){ { ll m=q/n; if(n+m==p){ //mn=q, m+n=p cand.emplace_back(n,m); } } } } */ vector> ans; for(auto [m,n]:cand){ ans.emplace_back(m,n); if(m!=n){ ans.emplace_back(n,m); } } cout<