//_____________________________________________________________
public class reversibleprimes
{ 
//_____________________________________________________________
public static final void main(String[] args) throws Exception
{
   long t1 = System.nanoTime();
   reversibleprimes bnk = new reversibleprimes();
   bnk.start();
   long t2 = System.nanoTime();
   System.out.println("seconds = " + ((t2-t1)/1e9));
}
//___________________________________________________________________________
void start()
{
   int size = 1000000000;
   int[] prime = new int[size];
   for (int i = 2; i < size; i++)
   {
      for (int j = 2; j < size; j++)
      {
         if (i * j >= size) break;
         prime[i*j]++;
      }
   }
   for (int i = 2; i < size; i++)
   {
      if (prime[i] == 0) 
      {
         int x = (i + 1) / 2;
         if (prime[x] == 0) 
         {
             if (reverse(i,x)) System.out.println("\t\t" + i + " " + x);
         }
         
      }
   }
}
//___________________________________________________________________________
boolean reverse(int a, int b)
{
   String sa = Integer.toString(a);
   String sb = Integer.toString(b);
   String rev = "";
   for (int i = sa.length()-1; i >= 0; i--)
   {
      String s = sa.substring(i,i+1);
      rev += s;
   }
   if (rev.equals(sb)) return(true);
   else return(false);
}
}//__________________________________________________________________________
