#include <stdio.h>
int v[5000000000],s,e,i,b,j;
void pull()
{
for (i=1; i<=b; ++i)
{
if (v[i])
{
printf("%d ",v[i]);
}
}
}
void swap(int x,int y)
{
int temp;
temp=v[x];
v[x]=v[y];
v[y]=temp;
}
int parti(int start,int end)
{
s=start+1;
e=end;
while (s<=e)
{
while (v[start]>=v[s])
{
s++;
}
while (v[start]<v[e])
{
e--;
}
if (s<e)
{
swap(s,e);
}
}
swap(start,e);
return e;
}
void quick(int o,int p)
{
int c;
c=parti(o,p);
if (o<p)
{
quick(o,c-1);
quick(c+1,p);
}
}
int main()
{
int a;
scanf("%d %d",&a,&b);
for (i=1; i<=b; i++)
{
if (b%i==0||a%i==0)
{
v[i]=i;
}
}
pull();
quick(1,b);
}