# Prime Palindromes
def isPrime(n):
if n <= 3:
return n > 1
elif n % 2 == 0 or n % 3 == 0:
return False
i = 5
while (i**2 <= n):
print(i)
if(n % i == 0 or n % (i+2) == 0):
return False
i += 6
return True
def isPalindrome(n):
n = str(n)
for i in range(len(n)):
if(not (n[i] == n[len(n)-1-i])):
return False
return True
def palindromeGenerator(x):
if x % 2 == 0:
x += 1
if isPalindrome(x):
if isPrime(x):
return x
while True:
x += 2
if isPalindrome(x):
if isPrime(x):
return x
x = int(raw_input())
print(palindromeGenerator(x))
IyBQcmltZSBQYWxpbmRyb21lcwpkZWYgaXNQcmltZShuKToKCWlmIG4gPD0gMzoKCQlyZXR1cm4gbiA+IDEKCWVsaWYgbiAlIDIgPT0gMCBvciBuICUgMyA9PSAwOgoJCXJldHVybiBGYWxzZQoJaSA9IDUKCXdoaWxlIChpKioyIDw9IG4pOgoJCXByaW50KGkpCgkJaWYobiAlIGkgPT0gMCBvciBuICUgKGkrMikgPT0gMCk6CgkJCXJldHVybiBGYWxzZQoJCWkgKz0gNgoJcmV0dXJuIFRydWUKCQpkZWYgaXNQYWxpbmRyb21lKG4pOgoJbiA9IHN0cihuKQoJZm9yIGkgaW4gcmFuZ2UobGVuKG4pKToKCQlpZihub3QgKG5baV0gPT0gbltsZW4obiktMS1pXSkpOgoJCQlyZXR1cm4gRmFsc2UKCXJldHVybiBUcnVlCgkKZGVmIHBhbGluZHJvbWVHZW5lcmF0b3IoeCk6CglpZiB4ICUgMiA9PSAwOgoJCXggKz0gMQoJCWlmIGlzUGFsaW5kcm9tZSh4KToKCQkJaWYgaXNQcmltZSh4KToKCQkJCXJldHVybiB4Cgl3aGlsZSBUcnVlOgoJCXggKz0gMgoJCWlmIGlzUGFsaW5kcm9tZSh4KToKCQkJaWYgaXNQcmltZSh4KToKCQkJCXJldHVybiB4CgkKCQoJCnggPSBpbnQocmF3X2lucHV0KCkpCnByaW50KHBhbGluZHJvbWVHZW5lcmF0b3IoeCkp