#include <bits/stdc++.h>
using namespace std;
const int N=2e4+15;
int r,g,sr,sg,n,d,ans[N],cnt;
inline void write(int x){
if(x<0) putchar('-'),x=-x;
if(x>9) write(x/10);
putchar(x%10+'0');
}
int gcd(int a,int b){
if(b==0) return a;
return gcd(b,a%b);
}
int main(){
//scanf("%d%d",&r,&g);
cin>>r>>g;
sr=sqrt(r),sg=sqrt(g);
d=gcd(r,g);
n=max(sqrt(r),sqrt(g));
for(int i = 1 ; i<=n ; i++){
if(r%i==0&&g%i==0){
ans[++cnt]=i;
if(i!=d/i)
ans[++cnt]=d/i;
}
}
sort(ans+1,ans+cnt+1,sizeof(ans));
for(int i = 1 ; i<=cnt ; i++){
cout<<ans[i]<<" "<<r/ans[i]<<" "<<g/ans[i]<<endl;
}
return 0;
}