import java.util.*

fun main(args: Array<String>) {
    abc149c()
}

fun abc149c() {
    val x = readLine()!!.toLong()

    for (i in x..Long.MAX_VALUE) {
        if (isPrime(i)) return println(i)
    }
}

private fun modPow(n: Long, p: Long, m: Long): Long {
    var x = n
    var y = p
    var result = 1L

    x %= m
    while (y > 0) {
        if (y % 2 == 1L)
            result = (result * x) % m
        y = y shr 1
        x = (x * x) % m
    }

    return result
}

private fun millerTest(n: Long, d: Long): Boolean {
    val a = 2 + (Math.abs(Random().nextLong()) % (n - 2))
    var x = modPow(a, d, n)
    var d1 = d

    if (x == 1L || x == n - 1) return true

    while (d1 != n - 1) {
        x = (x * x) % n
        d1 *= 2
        if (x == 1L) return false
        if (x == n - 1) return true
    }
    return false
}

private fun isPrime(n: Long): Boolean {
    if (n <= 1L || n == 4L) return false
    if (n <= 3L) return true

    var d = n - 1
    while (d % 2 == 0L) d /= 2

    for (i in 0 until 1000) {
        if (!millerTest(n, d)) return false
    }
    return true
}
