output_description: Print the minimum prime number greater than or equal to X.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      X
attempt: import sys
  
  sys.setrecursionlimit(10**6)
  int1 = lambda x: int(x) - 1
  p2D = lambda x: print(*x, sep="\n")
  
  
  def II():
      return int(sys.stdin.readline())
  
  
  def MI():
      return map(int, sys.stdin.readline().split())
  
  
  def LI():
      return list(map(int, sys.stdin.readline().split()))
  
  
  def LLI(rows_number):
      return [LI() for _ in range(rows_number)]
  
  
  def main():
      prime = [0, 1] * 500000
      prime[2] = 1
      for x in range(3, 500000):
          if prime[x]:
              for y in range(x**2, 1000000, x):
                  prime[y] = 0
      x = II()
      for y in range(x, 1000000):
          if prime[y]:
              print(y)
              break
  
  
  main()
  
problem_description: Statement
  
  Find the minimum prime number greater than or equal to X.
samples: [{"input": "20", "output": "23\n    \n\nThe minimum prime number greater than or equal to 20 is 23.\n\n* * *"}, {"input": "2", "output": "2\n    \n\nX itself can be a prime number.\n\n* * *"}, {"input": "99992", "output": "100003"}]