#include <iostream>
using namespace std;
 
int main() {
    int a, b;
    int number1, number2;// переменные для хранения текущего числа из промежутка и "зеркального" соответственно
    int counter = 0;// счетчик количества "зеркально простых" чисел
    cin >> a >> b;
    if(a > b){
       a += b;
       b = a - b;
       a -= b;
    }// меняем местами границы промежутка, если они введены в неправильном порядке
    if (a == 1) 
        counter--;// декрементируем счетчик, если в промежуток попадает число 1, которое не является простым
    for (int i = a; i <= b; i++){
    	 number1 = i; 
    	 bool f1 = true;// флаг выполнения условия для number1
    	 bool f2 = true;// флаг выполнения условия для number2
    	 for (int j = 2; j*j <= number1; j++){
    		  f1 = number1%j;
    		  if (!f1) 
    		      break;
         }// проверяем является ли number1 простым
         if (f1){
    	     number2 = 0;
    	     while (number1 > 0){
	                number2 = number2*10 + number1%10;
		            number1 /= 10;
		     }// собираем число "зеркальное" текущему
		     for (int j = 2; j*j <= number2; j++){
			      f2 = number2%j;
    		      if (!f2) 
    		          break; 
             }// проверяем является ли number2 простым 
    	     if (f2) 
    	         counter++;// инкрементируем счетчик 
         }
    }
    cout << counter;
	return 0;
}