/*
Cred : SunnyYeahBoi
It's my last chance (⌐■_■)
Problem :
*/
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define double long double
#define endl "\n"
#define NAME "a"
const int MAXN = 1e6 + 5;
const int inf = 1e18;
const int MOD = 1e9 + 7;
void FileInput(){
if(fopen(NAME".inp" , "r") == NULL)
freopen(NAME".inp" , "w" , stdout);
freopen(NAME".inp" , "r" , stdin);
freopen(NAME".out" , "w" , stdout);
}
int n;
// cong(a , b) trả về a + b
const int LIM = 1e7 + 5;
bool isPrime[LIM];
void sieve(){
for(int i = 1 ; i <= LIM ; i++)
isPrime[i] = true;
isPrime[0] = false;
isPrime[1] = false;
for(int i = 2 ; i * i <= LIM ; i++){
if(isPrime[i] == true){
for(int j = 2 * i ; j <= LIM ; j += i)
isPrime[j] = false;
}
}
}
int tcs(int x){
int res = 0;
while(x > 0){
res += x % 10;
x /= 10;
}
return res;
}
void solve(){
sieve();
int l , r;
cin >> l >> r;
for(int i = l ; i <= r ; i++)
if(isPrime[i] && isPrime[tcs(i)])
cout << i << " ";
}
int32_t main(){
FileInput();
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int t = 1;
// cin >> t;
while(t--)
solve();
return 0;
}
LyoKICAgIENyZWQgOiBTdW5ueVllYWhCb2kKICAgIEl0J3MgbXkgbGFzdCBjaGFuY2UgKOKMkOKWoF/ilqApCiAgICBQcm9ibGVtIDoKKi8KCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgZG91YmxlIGxvbmcgZG91YmxlCiNkZWZpbmUgZW5kbCAiXG4iCiNkZWZpbmUgTkFNRSAiYSIKCmNvbnN0IGludCBNQVhOID0gMWU2ICsgNTsKY29uc3QgaW50IGluZiA9IDFlMTg7CmNvbnN0IGludCBNT0QgPSAxZTkgKyA3OwoKdm9pZCBGaWxlSW5wdXQoKXsKICAgIGlmKGZvcGVuKE5BTUUiLmlucCIgLCAiciIpID09IE5VTEwpCiAgICAgICAgZnJlb3BlbihOQU1FIi5pbnAiICwgInciICwgc3Rkb3V0KTsKICAgIGZyZW9wZW4oTkFNRSIuaW5wIiAsICJyIiAsIHN0ZGluKTsKICAgIGZyZW9wZW4oTkFNRSIub3V0IiAsICJ3IiAsIHN0ZG91dCk7Cn0KCmludCBuOwoKLy8gY29uZyhhICwgYikgdHLhuqMgduG7gSBhICsgYgoKY29uc3QgaW50IExJTSA9IDFlNyArIDU7CmJvb2wgaXNQcmltZVtMSU1dOwoKdm9pZCBzaWV2ZSgpewogICAgZm9yKGludCBpID0gMSA7IGkgPD0gTElNIDsgaSsrKQogICAgICAgIGlzUHJpbWVbaV0gPSB0cnVlOwoKICAgIGlzUHJpbWVbMF0gPSBmYWxzZTsKICAgIGlzUHJpbWVbMV0gPSBmYWxzZTsKICAgIGZvcihpbnQgaSA9IDIgOyBpICogaSA8PSBMSU0gOyBpKyspewogICAgICAgIGlmKGlzUHJpbWVbaV0gPT0gdHJ1ZSl7CiAgICAgICAgICAgIGZvcihpbnQgaiA9IDIgKiBpIDsgaiA8PSBMSU0gOyBqICs9IGkpCiAgICAgICAgICAgICAgICBpc1ByaW1lW2pdID0gZmFsc2U7CiAgICAgICAgfQogICAgfQp9CgppbnQgdGNzKGludCB4KXsKICAgIGludCByZXMgPSAwOwogICAgd2hpbGUoeCA+IDApewogICAgICAgIHJlcyArPSB4ICUgMTA7CiAgICAgICAgeCAvPSAxMDsKICAgIH0KICAgIHJldHVybiByZXM7Cn0KCnZvaWQgc29sdmUoKXsKICAgIHNpZXZlKCk7CiAgICBpbnQgbCAsIHI7CiAgICBjaW4gPj4gbCA+PiByOyAKICAgIGZvcihpbnQgaSA9IGwgOyBpIDw9IHIgOyBpKyspCiAgICAgICAgaWYoaXNQcmltZVtpXSAmJiBpc1ByaW1lW3RjcyhpKV0pCiAgICAgICAgICAgIGNvdXQgPDwgaSA8PCAiICI7ICAgIAp9CgppbnQzMl90IG1haW4oKXsKICAgIEZpbGVJbnB1dCgpOwogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTtjaW4udGllKDApO2NvdXQudGllKDApOwogICAgaW50IHQgPSAxOwogICAgLy8gY2luID4+IHQ7CiAgICB3aGlsZSh0LS0pCiAgICAgICAgc29sdmUoKTsKICAgIHJldHVybiAwOwp9Cg==