import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int number = Integer.parseInt(br.readLine()); int max = 7500000; int counter = 0; boolean result = false; int[] primeNumber = new int[max]; setUp(primeNumber); for (int i = 2; i < max; i++) { if (primeNumber[i] == 1) { counter++; checkNumber(number, counter, i); changeValue(primeNumber, i, max); } } } // 초기값 public static void setUp(int[] primeNumber) { for (int i = 2; i < primeNumber.length; i++) { primeNumber[i] = 1; } } // K 번째 수인지 확인 public static void checkNumber(int number, int counter, int i) { if (number == counter) { System.out.println(i); System.exit(0); } } // i의 배수 = 0 으로 만듬 public static void changeValue(int[] primeNumber, int i, int max) { for (int j = i; j < max; j += i) { primeNumber[j] = 0; } } // //소수 판별 // public static boolean checkPrimeNumber(int number) { // for (int i = 2; i < number + 1; i++) { // if (number % i == 0) // return false; // // } // return true; // } }