569_C. Primes or Palindromes?_9692
Rikhail Mubinchik believes that the current definition of prime numbers is obsolete as they are too complex and unpredictable. A palindromic number is another matter. It is aesthetically pleasing, and it has a number of remarkable properties. Help Rikhail to convince the scientific community in this!

Let us remind you that a number is called prime if it is integer larger than one, and is not divisible by any positive integer other than itself and one.

Rikhail calls a number a palindromic if it is integer, positive, and its decimal representation without leading zeros is a palindrome, i.e. reads the same from left to right and right to left.

One problem with prime numbers is that there are too many of them. Let's introduce the following notation: π(n) — the number of primes no larger than n, rub(n) — the number of palindromic numbers no larger than n. Rikhail wants to prove that there are a lot more primes than palindromic ones.

He asked you to solve the following problem: for a given value of the coefficient A find the maximum n, such that π(n) ≤ A·rub(n).

Input

The input consists of two positive integers p, q, the numerator and denominator of the fraction that is the value of A (<image>, <image>).

Output

If such maximum number exists, then print it. Otherwise, print "Palindromic tree is better than splay tree" (without the quotes).

Examples

Input

1 1


Output

40


Input

1 42


Output

1


Input

6 4


Output

172
import sys

p,q = map(int,sys.stdin.readline().split())

def prime(n):
    #print(int(n**0.5))
    for div in range(2,int(n**0.5)+1):
        if n%div==0:
            return False
    return True
    
def palindrom(n):
    n = str(n)
    for pos in range((len(n)+1)//2):
        if n[pos]!=n[-1-pos]:
            return False
    return True
    
def findMaxN(p,q):
    A = p/q
    n = 1
    pN = 0
    rubN = 1
    
    checkAgain = False
    while True:
        n+=1
        if prime(n):
            pN += 1
            checkAgain = True
        if palindrom(n):
            rubN+=1
            checkAgain = True
        if checkAgain:
            checkAgain = False
            if pN>A*rubN:
                #return n-1
                break
    good_n = n-1
    check_to = n+10000
    delta = 0
    last_good = False
    while n<check_to:
        n+=1
        delta+=1
        if prime(n):
            pN += 1
            checkAgain = True
        if palindrom(n):
            rubN+=1
            checkAgain = True
        #if n == 172:
        #print(n,pN,A*rubN)
        if checkAgain:
            checkAgain = False
            if pN<=A*rubN:
                #return n-1
                good_n = n
                check_to+=delta
                delta = 0
                last_good = True
            else:
                if last_good:
                    last_good = False
                    good_n = n-1
    return good_n
    
    
def doTest():
    assert findMaxN(1,1)==40
    assert findMaxN(1,42)==1
    assert findMaxN(6,4)==172

doTest()
'''
last = -1
pN = 0
rubN = 1
n = 1
for i in range(100000):
    n+=1
    tmp = pN<=6*rubN
    if prime(n):
        pN += 1
    if palindrom(n):
        rubN+=1
    if tmp!=last:
        print(n)
        print(pN,rubN)
        print()
        last = tmp
'''
    
    
print(findMaxN(p,q))
    
6 4
 1 1
 1 42
 238 9996
 9999 9999
 620 35
 9999 9998
 6811 5416
 10000 9999
 42 1
 10000 10000
 241 10000
 5858 674
 1000 10000
 1307 3420
 4 9
 10000 239
 5 8
 16 60
 999 10000
 7 11
 940 480
 214 210
 3 1
 7 267
 239 10000
 106 6
 238 9655
 9999 6698
 987 35
 9854 9998
 11275 5416
 10000 1538
 5858 495
 1854 3420
 7 9
 5 5
 29 60
 12 11
 955 480
 214 248
 3 2
 106 10
 9999 5278
 987 39
 11275 615
 10100 1538
 5858 304
 7 10
 5 2
 1738 480
 145 10
 6343 5278
 11275 351
 11000 1538
 8689 304
 35 4
 48 10000
 999 11000
 7 388
 239 11000
 1 2
 1 45
 238 5291
 10351 9998
 48 10010
 1854 4320
 35 60
 1526 11000
 12 16
 80 248
 8 388
 379 11000
 2 45
 238 2119
 10351 10081
 9 10010
 3498 4320
 9 10
 1 3
 2413 11000
 12 29

172
 40
 1
 1
 40
 251262
 40
 66
 40
 1179858
 40
 1
 71118
 1
 1
 10
 1168638
 16
 1
 1
 16
 1372
 40
 2530
 1
 1
 250300
 1 162 514872 36 1486 11620 146358 12 22 40 10 46 1408 28 172 127296 1296 429508 263862 11940 283026 18 1912 3448 190908 66 652836 15580 526776 100332 1 1 1 1 12 1 1 40 1 1 12 1 22 1 1 1 1 1 40 1 22 28 1 1 1