"""
#找出最大質數

輸入一個數 x ，根據以下規則得到 k ，並找出 2 到 k 之間最大的質數。
處理輸入請使用有限狀態機，不要使用陣列
規則:
1. 若 x 為正整數，且 2 <= x <= 1000，則 k = x
2. 若 x = 0 或 x = 1，則 k = 1000
3. 若 x 為負整數，則 k = x * -11
4. 若 x 為正小數，則 k = 小數點前面的數
5. 若 x 為負小數，則 k = 小數點後面的數
規則範例:
1. x = 50， k = 50
2. x = 0， k = 1000
3. x = -90， k = 990
4. x = 66.22， k = 66
5. x = -33.44， k = 44
-----------------------------------------
輸入說明：
輸入一個數字。
輸出說明：
根據規則找出 k ，輸出 2 到 k 之間最大的質數。
不合法的輸入則輸出Error!
-----------------------------------------
輸入範例:
50
輸出範例:
47
-----------------------------------------
輸入範例:
0
輸出範例:
997
-----------------------------------------
輸入範例:
-90
輸出範例:
983
-----------------------------------------
輸入範例:
66.22
輸出範例:
61
-----------------------------------------
輸入範例:
-33.44
輸出範例:
43
-----------------------------------------
輸入範例:
1001
輸出範例:
Error!
"""

def is_prime(n):
    for i in range (2,n):
        if n%i==0:
            return False
    return True
        
def ans (x):
    a=[]
    for i in range (2,x+1,1):
        i_is_prime=is_prime(i)
        if i_is_prime: 
            a.append(i)
        
            
    b=max(a)
    print(b)
        

def main():
    a=input()
    if a.find('-')!=-1:
        if a.find('.')!=-1 :
            a=a.split('.')
            k=int(a[1])
            ans(k)
        else     :
            k=int(a)*-11
            ans(k)         
    elif a.find('-')==-1:
        if a.find('.')!=-1:
            a=a.split('.')
            k=int(a[0])
            ans(k)   
        elif int(a)>=2 and int(a)<=1000:
            k=int(a)
            ans(k)
        elif int(a)>1000:
             print('Error!')
        elif int(a)==0 or int(a)==1:
            k=1000
            ans(k) 
    else:
        print('Error!')
    
main()