import kotlin.math.sqrt

fun main() {
    val N = readLine()!!.toLong()

    val map = mutableMapOf<Long, Long>()
    for (p in 2..N) {
        var P = p
        for (q in 2..sqrt(p.toDouble()).toLong()) {
            if (P % q != 0L) {
                continue
            }
            if (!map.containsKey(q)) {
                map[q] = 0
            }
            while (P % q == 0L) {
                P /= q
                map[q] = map[q]!! + 1
            }
        }
        if (!map.containsKey(P)) {
            map[P] = 0
        }
        if (P != 1L) {
            map[P] = map[P]!! + 1
        }
    }

    var cnt = 1L
    for (i in map.values) {
        cnt *= i + 1
        cnt %= (1e9.toLong() + 7)
    }
    println(cnt)
}
