1 /*
2 ID:xiekeyi1
3 PROG:pprime
4 LANG:C++
5 */
6 #include<bits/stdc++.h>
7 using namespace std ;
8
9
10 bool isprime( int n )
11 {
12 if( n == 0 || n == 1 )
13 return false ;
14 if( n == 2 )
15 return true ;
16 int sqrt_n = sqrt(n) ;
17 for( int i = 2 ; i <= sqrt_n ; i++)
18 if( n % i == 0 )
19 return false ;
20 return true ;
21 }
22
23
24 int digit( int n )
25 {
26 int d = 0 ;
27 while( n != 0 )
28 n/=10 , d++;
29 return d ;
30 }
31
32 void f( int a , int b , int n )
33 {
34 if( n >= a && n <= b && isprime( n ) )
35 cout << n << endl ;
36 return ;
37 }
38
39 void func( int a , int b , int dd1 , int dd2)
40 {
41 int palindrom = 0;
42 for( int i = dd1 ; i <= dd2; i++)
43 {
44 if( i == 1 )
45 {
46 for( int d1 = 0 ; d1 <= 9 ; d1++)
47 {
48 palindrom = d1 ;
49 f(a,b,palindrom) ;
50 }
51 }
52 else if ( i == 2 )
53 {
54 for( int d1 = 1 ; d1 <= 9 ; d1++)
55 {
56 palindrom = 1e1 * d1 + 1e0 * d1 ;
57 f(a,b,palindrom);
58 }
59 }
60 else if( i == 3 )
61 {
62 for( int d1 = 1 ; d1 <= 9 ; d1++)
63 {
64 for( int d2 = 0 ; d2 <= 9 ; d2++)
65 {
66 palindrom = 1e2 * d1 + 1e1 * d2 + d1 ;
67 f(a,b,palindrom);
68 }
69 }
70 }
71 else if( i == 4 )
72 {
73 for( int d1 = 1 ; d1 <= 9 ; d1++)
74 {
75 for( int d2 = 0 ; d2 <= 9 ; d2++)
76 {
77 palindrom = 1e3 * d1 + 1e2 * d2 + 1e1 * d2 + 1e0 * d1 ;
78 f(a,b,palindrom) ;
79 }
80 }
81 }
82 else if( i == 5 )
83 {
84 for( int d1 = 1 ; d1 <= 9 ; d1++)
85 {
86 for( int d2 = 0 ; d2 <= 9 ; d2++ )
87 {
88 for( int d3 = 0 ; d3 <= 9 ; d3++)
89 {
90 palindrom = 1e4 * d1 + 1e3 * d2 + 1e2 * d3 + 1e1 * d2 + 1e0 * d1 ;
91 f(a,b,palindrom) ;
92 }
93 }
94 }
95 }
96
97 else if( i == 6 )
98 {
99 for( int d1 = 1 ; d1 <= 9 ; d1++)
100 {
101 for( int d2 = 0 ; d2 <= 9 ; d2++)
102 {
103 for( int d3 = 0 ; d3 <= 9 ; d3++)
104 {
105 palindrom = 1e5 * d1 + 1e4 * d2 + 1e3 * d3 + 1e2 * d3 + 1e1 * d2 + 1e0 * d1 ;
106 f(a,b,palindrom);
107 }
108 }
109 }
110 }
111
112 else if( i == 7 )
113 {
114 for( int d1 = 1 ; d1 <= 9 ; d1++)
115 {
116 for( int d2 = 0 ; d2 <= 9 ; d2++)
117 {
118 for( int d3 = 0 ; d3 <= 9 ; d3++)
119 {
120 for( int d4 = 0 ; d4 <= 9 ; d4++)
121 {
122 palindrom = 1e6 * d1 + 1e5 * d2 + 1e4 * d3 + 1e3 * d4 + 1e2 * d3 + 1e1 * d2
123 + 1e0 * d1 ;
124 f(a,b,palindrom);
125 }
126 }
127 }
128 }
129 }
130
131 else if( i == 8 )
132 {
133 for( int d1 = 1 ; d1 <= 9 ; d1++)
134 for( int d2 = 0 ; d2 <= 9 ; d2++)
135 for( int d3 = 0 ; d3 <= 9 ; d3++)
136 for( int d4 = 0 ; d4 <=9 ; d4++)
137 {
138 palindrom = 1e7 * d1 + 1e6 * d2 + 1e5 * d3 + 1e4 * d4 + 1e3 * d4 + 1e2 * d3
139 + 1e1 * d2 + 1e0 * d1 ;
140 f(a,b,palindrom);
141 }
142 }
143
144 else if( i == 9 )
145 {
146 for( int d1 = 1 ; d1 <= 9 ; d1++)
147 for( int d2 = 0 ; d2 <= 9 ; d2++)
148 for( int d3 = 0 ; d3 <=9 ; d3++ )
149 for( int d4 = 0 ; d4 <= 9 ; d4++)
150 for( int d5 = 0 ; d5 <= 9 ; d5++)
151 {
152 palindrom = 1e8 * d1 + 1e7 * d2 + 1e6 * d3 + 1e5 * d4 + 1e4 * d5
153 + 1e3 * d4 + 1e2 * d3 + 1e1 * d2 + 1e0 * d1 ;
154 f(a,b,palindrom);
155 }
156 }
157 }
158 return ;
159 }
160
161
162
163
164
165
166
167 int main()
168 {
169 freopen("pprime.in","r",stdin);
170 freopen("pprime.out","w",stdout);
171 int a , b ;
172 cin >> a >> b ;
173 int d1 = digit(a) , d2 = digit(b) ;
174 func( a , b , d1 , d2 ) ;
175 return 0 ;
176 }