fun main(arg: Array<String>) {
    val N = nextInt()
    val MOD = 1000000007L
    var P = IntArray(N + 1)
    for (i in 2 .. N)
        for (j in i + i .. N step i) P[j] = 1
    var ans = 1L
    for (i in 2 .. N)
        if (P[i] == 0) {
            var total = 1L
            var j = i
            while (j <= N) {
                total += N / j
                j *= i
            }
            ans = ans * total % MOD
        }
    println(ans)
}

fun next() = readLine()!!
fun nextInt(offset: Int = 0) = Integer.parseInt(next()) + offset
fun nextLong() = next().toLong()
fun listOfString() = next().split(" ")
fun listOfInt() = listOfString().map(String::toInt)
fun listOfInt(offset: Int = 0) = listOfString().map { Integer.parseInt(it) + offset }
