#include<iostream>
#include<fstream>
#include<vector>
#include<algorithm>
using namespace std;
ifstream fin("prime.inp");
ofstream fout("prime.out");
int get(int n,vector<int>& x,int len){
vector<int> bit(len);
int num=0;
int c=1;
for(int i=0;i<len;i++){
if(n%2==0){
bit[i]=0;
}
else{
bit[i]=1;
}
n=n/2;
if(bit[i]==1){
num=num+x[i]*c;
c=c*10;
}
}
return num;
}
int check(int num){
if(num<2){
return 0;
}
for(int i=2;i*i<=num;i++){
if(num%i==0){
return 0;
}
}
return 1;
}
int main(){
int n;
fin>>n;
int a=1;
int len=0;
vector<int> x;
while(n>0){
len++;
a=a*2;
x.push_back(n%10);
n=n/10;
}
int Max=-1;
for(int i=1;i<a;i++){
int num=get(i,x,len);
if(check(num)==1&&num>Max){
Max=num;
}
}
fout<<Max;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGZzdHJlYW0+CiNpbmNsdWRlPHZlY3Rvcj4KI2luY2x1ZGU8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppZnN0cmVhbSBmaW4oInByaW1lLmlucCIpOwpvZnN0cmVhbSBmb3V0KCJwcmltZS5vdXQiKTsKaW50IGdldChpbnQgbix2ZWN0b3I8aW50PiYgeCxpbnQgbGVuKXsKICAgIHZlY3RvcjxpbnQ+IGJpdChsZW4pOwogICAgaW50IG51bT0wOwogICAgaW50IGM9MTsKICAgIGZvcihpbnQgaT0wO2k8bGVuO2krKyl7CiAgICAgICAgaWYobiUyPT0wKXsKICAgICAgICAgICAgYml0W2ldPTA7CiAgICAgICAgfQogICAgICAgIGVsc2V7CiAgICAgICAgICAgIGJpdFtpXT0xOwogICAgICAgIH0KICAgICAgICBuPW4vMjsKICAgICAgICBpZihiaXRbaV09PTEpewogICAgICAgICAgICBudW09bnVtK3hbaV0qYzsKICAgICAgICAgICAgYz1jKjEwOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBudW07Cn0KaW50IGNoZWNrKGludCBudW0pewogICAgaWYobnVtPDIpewogICAgICAgIHJldHVybiAwOwogICAgfQogICAgZm9yKGludCBpPTI7aSppPD1udW07aSsrKXsKICAgICAgICBpZihudW0laT09MCl7CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAxOwp9CmludCBtYWluKCl7CiAgICBpbnQgbjsKICAgIGZpbj4+bjsKICAgIGludCBhPTE7CiAgICBpbnQgbGVuPTA7CiAgICB2ZWN0b3I8aW50PiB4OwogICAgd2hpbGUobj4wKXsKICAgICAgICBsZW4rKzsKICAgICAgICBhPWEqMjsKICAgICAgICB4LnB1c2hfYmFjayhuJTEwKTsKICAgICAgICBuPW4vMTA7CiAgICB9CiAgICBpbnQgTWF4PS0xOwogICAgZm9yKGludCBpPTE7aTxhO2krKyl7CiAgICAgICAgaW50IG51bT1nZXQoaSx4LGxlbik7CiAgICAgICAgaWYoY2hlY2sobnVtKT09MSYmbnVtPk1heCl7CiAgICAgICAgICAgIE1heD1udW07CiAgICAgICAgfQogICAgfQogICAgZm91dDw8TWF4Owp9Cg==