/*
TASK:crazy
LANG:C
*/
#include <stdio.h>
#include "module.h"
int masx[21],masy[21];
void prostox(long z)
{
  int i,k;
  for(i=0;i<=20;i++) masx[i]=0;
  k=1;
  for(i=2;i<=z;i++)
    if(z%i==0)
      {
        if(masx[k-1]!=i)
        {
          masx[k++]=i;
        }
        z/=i;
        i--;
      }
  masx[0]=k-1;
}
void prostoy(long z)
{

  int i,k;
  for(i=0;i<=20;i++) masy[i]=0;
  k=1;
  for(i=2;i<=z;i++)
    if(z%i==0)
      {
        if(masy[k-1]!=i)
        {
          masy[k++]=i;
        }
        z/=i;
        i--;
      }
  masy[0]=k-1;
}
int prost(long z)
{
  long i;
  for(i=2;i<z;i++)
    if(z%i==0) return 0;
  return 1;
}
int main(void)
{
  long x, y;
  long i;
  
  while (1)
  {
    getnum(&x, &y);

   if(prost(x+1))
     {
       prostoy(y);
       setnum(x+1,masy[1]);
     }
   else
     if(prost(y+1))
       {
         prostox(x);
         setnum(masx[1], y+1);
       }
   else
    {
      int b=0;
      prostox(x);
      prostoy(y);
      for(i=1;i<=masx[0];i++)
       if(!prost(masx[i]+1))
         {
           setnum(masx[i], y+1);
           b=1;
           break;
         }
      if(b==0)
       for(i=1;i<=masy[0];i++)
         if(!prost(masy[i]+1))
           {
             setnum(x+1, masy[i]);
             b=1;
             break;
           }
      if(b==0) setnum(x, y);
    }
  }

return 0;
}
