#include <bits/stdc++.h>
using namespace std;
bool snt(long long n)
{
if (n < 2)
return false;
for (long long i = 2; i * i <= n; i++)
{
if (n % i == 0)
return false;
}
return true;
}
bool ok(long long n)
{
if (snt(n) == false)
return false;
long long t = n;
vector<long long> a = {};
while (t > 0)
{
a.push_back(t % 10);
t /= 10;
}
long long pt = 0;
do{
pt = 0;
for (long long i:a)
pt = pt * 10 + i;
if (snt(pt))
return true;
}while(next_permutation(a.begin(), a.end()));
return false;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
long long n;
cin >> n;
vector<long long> FIB = {};
long long fib1 = 5;
long long fib2 = 8;
long long pt = 13;
while (pt <= n)
{
if (ok(pt))
FIB.push_back(pt);
fib1 = fib2;
fib2 = pt;
pt = fib1 + fib2;
}
for (long long i:FIB)
cout << i << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmJvb2wgc250KGxvbmcgbG9uZyBuKQp7CiAgICBpZiAobiA8IDIpCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgZm9yIChsb25nIGxvbmcgaSA9IDI7IGkgKiBpIDw9IG47IGkrKykKICAgIHsKICAgICAgICBpZiAobiAlIGkgPT0gMCkKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn0KYm9vbCBvayhsb25nIGxvbmcgbikKewogICAgaWYgKHNudChuKSA9PSBmYWxzZSkKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICBsb25nIGxvbmcgdCA9IG47CiAgICB2ZWN0b3I8bG9uZyBsb25nPiBhID0ge307CiAgICB3aGlsZSAodCA+IDApCiAgICB7CiAgICAgICAgYS5wdXNoX2JhY2sodCAlIDEwKTsKICAgICAgICB0IC89IDEwOwogICAgfQogICAgbG9uZyBsb25nIHB0ID0gMDsKICAgIGRvewogICAgICAgIHB0ID0gMDsKICAgICAgICBmb3IgKGxvbmcgbG9uZyBpOmEpCiAgICAgICAgICAgIHB0ID0gcHQgKiAxMCArIGk7CiAgICAgICAgaWYgKHNudChwdCkpCiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgfXdoaWxlKG5leHRfcGVybXV0YXRpb24oYS5iZWdpbigpLCBhLmVuZCgpKSk7CiAgICByZXR1cm4gZmFsc2U7Cn0KaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsKICAgIGNvdXQudGllKDApOwogICAgbG9uZyBsb25nIG47CiAgICBjaW4gPj4gbjsKICAgIHZlY3Rvcjxsb25nIGxvbmc+IEZJQiA9IHt9OwogICAgbG9uZyBsb25nIGZpYjEgPSA1OwogICAgbG9uZyBsb25nIGZpYjIgPSA4OwogICAgbG9uZyBsb25nIHB0ID0gMTM7CiAgICB3aGlsZSAocHQgPD0gbikKICAgIHsKICAgICAgICBpZiAob2socHQpKQogICAgICAgICAgICBGSUIucHVzaF9iYWNrKHB0KTsKICAgICAgICBmaWIxID0gZmliMjsKICAgICAgICBmaWIyID0gcHQ7CiAgICAgICAgcHQgPSBmaWIxICsgZmliMjsKICAgIH0KICAgIGZvciAobG9uZyBsb25nIGk6RklCKQogICAgICAgIGNvdXQgPDwgaSA8PCAnXG4nOwp9