/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
System.
out.
println(nthPrime
(25)); }
public static int nthPrime(int n) {
if (n < 2) return 2;
if (n == 2) return 3;
int limit, root, count = 1;
root
= (int)Math.
sqrt(limit
) + 1; limit = (limit-1)/2;
root = root/2 - 1;
boolean[] sieve = new boolean[limit];
for(int i = 0; i < root; ++i) {
if (!sieve[i]) {
++count;
for(int j = 2*i*(i+3)+3, p = 2*i+3; j < limit; j += p) {
sieve[j] = true;
}
}
}
int p;
for(p = root; count < n; ++p) {
if (!sieve[p]) {
++count;
}
}
return 2*p+1;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVN5c3RlbS5vdXQucHJpbnRsbihudGhQcmltZSgyNSkpOwoJfQoJCglwdWJsaWMgc3RhdGljIGludCBudGhQcmltZShpbnQgbikgewogICAgaWYgKG4gPCAyKSByZXR1cm4gMjsKICAgIGlmIChuID09IDIpIHJldHVybiAzOwogICAgaW50IGxpbWl0LCByb290LCBjb3VudCA9IDE7CiAgICBsaW1pdCA9IChpbnQpKG4qKE1hdGgubG9nKG4pICsgTWF0aC5sb2coTWF0aC5sb2cobikpKSkgKyAzOwogICAgcm9vdCA9IChpbnQpTWF0aC5zcXJ0KGxpbWl0KSArIDE7CiAgICBsaW1pdCA9IChsaW1pdC0xKS8yOwogICAgcm9vdCA9IHJvb3QvMiAtIDE7CiAgICBib29sZWFuW10gc2lldmUgPSBuZXcgYm9vbGVhbltsaW1pdF07CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgcm9vdDsgKytpKSB7CiAgICAgICAgaWYgKCFzaWV2ZVtpXSkgewogICAgICAgICAgICArK2NvdW50OwogICAgICAgICAgICBmb3IoaW50IGogPSAyKmkqKGkrMykrMywgcCA9IDIqaSszOyBqIDwgbGltaXQ7IGogKz0gcCkgewogICAgICAgICAgICAgICAgc2lldmVbal0gPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgaW50IHA7CiAgICBmb3IocCA9IHJvb3Q7IGNvdW50IDwgbjsgKytwKSB7CiAgICAgICAgaWYgKCFzaWV2ZVtwXSkgewogICAgICAgICAgICArK2NvdW50OwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAyKnArMTsKfQp9