#include<bits/stdc++.h>
using namespace std;
long long a,b,depth,d[100],ans[100];
bool flag=0;
void dfs(long long a,long long b,long long step){
if(step+1 == depth)
if(b%a == 0&&b/a>d[step]){
d[step+1]=b/a;
flag=1;
if(ans[step+1] == 0 || d[step+1]<=ans[step+1]){
for(int i=1;i <= step+1;i++){
ans[i]=d[i];
}
}
return;
}
long long start= (b%a == 0?b/a:b/a+1);
start=max(d[step]+1,start);
long long end= ceil(b*(depth-step)/a);
for(long long i=start;i <= end; i++){
d[step+1]=i;
long long aa=a*i-b;
long long bb=b*i;
dfs(aa,bb,step+1);
}
}
int main(){
cin>>a>>b;
for(depth=3;depth<=3;depth++){
dfs(a,b,0);
if(flag){
break;
}
}
for(int i=1;i <= depth;i++){
cout << ans[i] << " ";
}
return 0;
}