/*
#include <stdio.h>
int main()
{
int s,t,o,i;
t=1;
for(i=0;i<=9;i++){
if((i+i)%10==i){
o=i;
}
}
for(i=0;i<=9;i++){
if(i+i==t*10+o){
s=i;
}
}
printf("%d%d+%d%d=%d%d%d",s,o,s,o,t,o,o);
return 0;
}
#include <stdio.h>
int main()
{
int s,t,q,i,j;
s=1;
for(i=0;i<=9;i++){
for(j=0;j<=9;j++){
if(i-j==i&&s*10+j-s==i){
q=i;
t=j;
}
}
}
printf("%d%d%d-%d%d=%d%d",s,t,q,s,t,q,q);
return 0;
}
128MB
128*1024 KB
128 * 1024 *1024 Byte
int -> 4Byte
*/
#include <stdio.h>
int main()
{
//int arr[55000001]={};
int arr[20001]={};
int a,b,top=1,temp,i,j;
scanf("%d %d",&a,&b);
for(i=1;i<=a;i++){
if(a%i==0){
arr[top]=i;
top++;
}
}
for(i=1;i<=b;i++){
if(b%i==0){
for(j=1;j<=a;j++){
if(i==arr[j]){
break;
}
}
if(j==a+1){
arr[top]=i;
top++;
}
}
}
for(i=1;i<=top-1;i++){
for(j=1;j<=top-1-i;j++){
if(arr[j]>arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(i=1;i<top;i++){
printf("%d ",arr[i]);
}
return 0;
}