//#include<stdio.h>
//int main()
//{
// int j,i,t,n,m,s=0,x=0,y=1,a=0,b=0;
// int **arr;
// arr=(int**) malloc(sizeof(int*)*5);
// for(int i=1; i<=5;i++)
// {
// arr[i]=(int*) malloc(sizeof(int)*(5+i));
// }
// scanf("%d %d",&n,&m);
// arr[0][0]=1;
// for(i=0;i<m;i++)
// {
// for(t=0;;t++)
// {
// if(arr[b][a]==0)
// {
// x=0;
// y++;
// a=0;
// b++;
// break;
// }
// s=0;
// arr[y][x]=arr[b][a];
// for(j=0;;j++)
// {
// if(arr[y][x]==arr[b][a])
// {
// a++;
// s++;
// }
// else
// {
// break;
// }
// }
// x++;
// arr[y][x]=s;
// x++;
// }
// }
// for(i=n-1;i<m;i++)
// {
// for(j=0;;j++)
// {
// if(arr[i][j]==0)
// {
// break;
// }
// printf("%d ",arr[i][j]);
// }
// printf("\n");
// }
//
//}
#include<stdio.h>
int main()
{
int a,b,i,j,che[10000000]={0,};
scanf("%d %d",&a,&b);
che[1]=1;
for(i=2; i<=b; i++)
{
for(j=2; i*j<=b; j++)
{
che[i*j] = 1;
}
}
for(i=a;i<=b;i++)
{
if(che[i]==0)
{
if(che[i+2]==0)
{
if((i+2)>b)
{
return ;
}
printf("%d %d\n",i,i+2);
}
}
}
}