{
TASK:crazy
LANG:Pascal
}

Program kreizi;
  Uses module;
  Var x,y,i,n : LongInt;
      A,B : Array[1..500] of Boolean;
      C : Array[1..500] of LongInt;


  Procedure Hodove(k:Integer);
  Begin
    For i:=1 to k do B[i]:=False;
    For i:=2 to k div 2 do
      If k mod i = 0 Then B[i]:=True;
    For i:=2 to k div 2 do
      If B[i] Then
        Begin
          n:=i*2;
          While n <= k do
            Begin
              B[n]:=True;
              n:=n+i
            End
        End;
    n:=0;
    For i:=1 to k-1 do If B[i] Then Begin inc(n); C[n]:=i End
  End;

  Function Win(k:Integer):Boolean;
  Begin
    If A[k] Then Begin Win:=False; Exit End;
    For i:=n downto 1 do
      If not A[C[i]] Then Begin Win := False; Exit End;
    Win := True
  End;

  Procedure Init;
    Var p:Integer;
  Begin
    For i:=1 to 501 do A[i]:=True;
    For i:=2 to 250 do
      If A[i] Then
        Begin
          p:=i*2;
          While p <= 501 do
            Begin
              A[p]:=False;
              p:=p+i
            End
        End
  End;

  Procedure Play;
  Begin
      While True do Begin
        getnum(x,y);
      If not A[x] Then Begin
      Hodove(x+1);
      If Win(x+1) Then
        Begin
          Hodove(y);
          If Win(y) Then
            Begin
              Hodove(x);
              {WriteLn(C[1],' ',y+1);
              Halt} setnum(C[1],y+1)
            End
          Else
            For i:=1 to n do If not Win(C[i])
                             Then Begin {WriteLn(x+1,' ',C[i]); Halt}setnum(x+1,C[i]) End
        End End;

      If not A[y] Then Begin
      Hodove(y+1);
      If Win(y+1) Then
        Begin
          Hodove(x);
          If Win(x) Then
            Begin
              Hodove(y);
              {WriteLn(x+1,' ',C[1]);
              Halt} setnum(x+1,C[1]);
            End
          Else
            For i:=1 to n do If not Win(C[i])
                             Then Begin {WriteLn(C[i],' ',y+1); Halt} setnum(C[i],y+1) End
        End End;

      If not A[x] Then
        Begin
          Hodove(x);
          For i:=1 to n do If  not Win(C[i])
                           Then Begin {WriteLn(C[i],' ',y+1); Halt}setnum(C[i],y+1) End
        End;

      If not A[y] Then
        Begin
          Hodove(y);
          For i:=1 to n do If not Win(C[i])
                           Then Begin {WriteLn(x+1,' ',C[i]); Halt}setnum(x+1,C[i]) End
        End;

      Hodove(x);
      If n>=1 Then For i:=1 to n do If not Win(C[i])
                                   Then Begin {WriteLn(C[i],' ',y+1); Halt}setnum(C[i],y+1) End;
      Hodove(y);
      If n>=1 Then For i:=1 to n do If not Win(C[i])
                                  Then Begin {WriteLn(x+1,' ',C[i]); Halt}setnum(x+1,C[i]) End;

    End
  End;

Begin
  Init;
  {ReadLn(x,y);}
  Play
End.

