#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string>
#include <math.h>
#include <string.h>
using namespace std;
#define MAXDIGITS 255
#define MAXLINES 1000
#define p(y) printf("%s\n",y)
int isPrime(int num) {
if (num == 1) return 0; //1
if (num == 2) return 1; //2
if ((num & 1) == 0) return 0; //even
for (int i = 3; i < (sqrt((double)num) + 1); i += 2)
if (num % i == 0) return 0;
return 1;
}
int main() {
string tmp;
long result[MAXLINES];
int length = 0;
int z = 0;
cin >> tmp;
while (tmp!="0") {
length = tmp.length();
long maxPrime = 0;
for (int i = 1; (i <= 5) && (i<= length); i++) {//i digits maxmum digits: 5
for (int j = 0; j <= (length - i); j++) {
string num = tmp.substr(j, i);
long number = stol(num);
//printf("%ld\n", number);
if (isPrime(number) && number>maxPrime) {
maxPrime = number;
}
//printf("%ld\n", maxPrime);
}
}
result[z++] = maxPrime;
//printf("%ld\n", maxPrime);
cin >> tmp;
}
for (int i = 0; i < z; i++)
cout << result[i]<<endl;
//cin >> tmp;
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8bWF0aC5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgTUFYRElHSVRTIDI1NQojZGVmaW5lIE1BWExJTkVTIDEwMDAKI2RlZmluZSBwKHkpIHByaW50ZigiJXNcbiIseSkKaW50IGlzUHJpbWUoaW50IG51bSkgewoJaWYgKG51bSA9PSAxKSByZXR1cm4gMDsgLy8xCglpZiAobnVtID09IDIpIHJldHVybiAxOyAvLzIKCWlmICgobnVtICYgMSkgPT0gMCkgcmV0dXJuIDA7IC8vZXZlbgoJZm9yIChpbnQgaSA9IDM7IGkgPCAoc3FydCgoZG91YmxlKW51bSkgKyAxKTsgaSArPSAyKQoJCWlmIChudW0gJSBpID09IDApIHJldHVybiAwOwoJcmV0dXJuIDE7Cn0KaW50IG1haW4oKSB7CglzdHJpbmcgdG1wOwoJbG9uZyByZXN1bHRbTUFYTElORVNdOwoJaW50IGxlbmd0aCA9IDA7CglpbnQgeiA9IDA7CgljaW4gPj4gdG1wOwoJd2hpbGUgKHRtcCE9IjAiKSB7CgkJbGVuZ3RoID0gdG1wLmxlbmd0aCgpOwoJCWxvbmcgbWF4UHJpbWUgPSAwOwoKCQlmb3IgKGludCBpID0gMTsgKGkgPD0gNSkgJiYgKGk8PSBsZW5ndGgpOyBpKyspIHsvL2kgZGlnaXRzIG1heG11bSBkaWdpdHM6IDUKCQkJZm9yIChpbnQgaiA9IDA7IGogPD0gKGxlbmd0aCAtIGkpOyBqKyspIHsKCQkJCXN0cmluZyBudW0gPSB0bXAuc3Vic3RyKGosIGkpOwoJCQkJbG9uZyBudW1iZXIgPSBzdG9sKG51bSk7CgkJCQkvL3ByaW50ZigiJWxkXG4iLCBudW1iZXIpOwoJCQkJaWYgKGlzUHJpbWUobnVtYmVyKSAmJiBudW1iZXI+bWF4UHJpbWUpIHsKCQkJCQltYXhQcmltZSA9IG51bWJlcjsKCQkJCX0KCQkJCS8vcHJpbnRmKCIlbGRcbiIsIG1heFByaW1lKTsKCQkJfQoJCX0KCQlyZXN1bHRbeisrXSA9IG1heFByaW1lOwoJCS8vcHJpbnRmKCIlbGRcbiIsIG1heFByaW1lKTsKCQljaW4gPj4gdG1wOwoJfQoJZm9yIChpbnQgaSA9IDA7IGkgPCB6OyBpKyspCgkJY291dCA8PCByZXN1bHRbaV08PGVuZGw7CgkvL2NpbiA+PiB0bXA7CglyZXR1cm4gMDsKfQ==