#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll x,y,maxt,ans[100],len,way[100];
bool flag;
void dfs(ll z,ll m,ll dep)
{
ll t1,t2,fz,fm,i,j;
t1=max(way[dep-1]+1,m/z);
t2=min(m*(len-dep+1)/z,maxt-1);
for(i=t1;i<=t2;i++)
{
fz=z;
fm=m;
way[dep]=i;
fz=fz*i-fm;
if(z<0)
continue;
fm=fm*i;
if(dep<len)
dfs(fz,fm,dep+1);
if(i<maxt&&fz==0)
{
flag=true;
maxt=i;
memcpy(ans,way,sizeof(way));
}
}
}
int main()
{
cin>>x>>y;
flag=false;
way[0]=1;
maxt=INT_MAX;
while(!flag)
{
len++;
dfs(x,y,1);
}
for(ll i=1;i<=len;i++)
cout<<ans[i]<<" ";
return 0;
}