Problem:


Score: 300 points

Problem Statement

Find the minimum prime number greater than or equal to X.

Notes

A prime number is an integer greater than 1 that cannot be evenly divided by any positive integer except 1 and itself.

For example, 2, 3, and 5 are prime numbers, while 4 and 6 are not.

Constraints

 2 \le X \le 10^5 

All values in input are integers.

Input

Input is given from Standard Input in the following format:

X

Output

Print the minimum prime number greater than or equal to X.

Sample Input 1

20

Sample Output 1

23

The minimum prime number greater than or equal to 20 is 23.

Sample Input 2

2

Sample Output 2

2

X itself can be a prime number.

Sample Input 3

99992

Sample Output 3

100003



Sample input:
20


Sample output:
23

Submission status: Runtime Error

Solution code:
import math
i=int(input())
j=math.sqrt(i)
k=0
m=i
while k==0:
  for l in range(2,i-1):
    if m%l!=0:
      break
    if l=i-1:
      k=1
      break
  m+=1
m=m_1
print(str(m))

Submission status: Runtime Error

Solution code:
def check(num):
  if num >1:
    for i in range (2,num):
      if(num % i) == 0:
        return False;
      break
      else:
        return True
      else:
        return False
      a= int(input())
      
      fpr i in range(a,100500):
        if check(i):
          print(i)
          break

Submission status: Runtime Error

Solution code:
N = int(input())
def sieve(n, s):
    num = [True]*n
    num[0] = num[1] = False
    for i in range(2,int(n**0.5)+1):
        if num[i]:
            for j in range(i**2, n, i):
                num[j] = False
    return [i for i in range(2,n) if num[i] and i > s]
print(sieve(int(N*1.2), N)[0])

Submission status: Runtime Error

Solution code:
n = int(input())

s = [2]
#for i in range(3, n, 2):
i = 3
while z < n:
    x = 1
    for j in s:
        if i % j == 0:
            x = 0
            break
    if x:
        z = i
        s.append(i)
    i += 2
print(z)