MOD = 10 ** 9 + 7

n = int(eval(input()))



res = 1

ex = [0 for _ in range(n + 1)]

for i in range(1, n + 1):

    for j in range(2, i + 1):

        if i % j == 0:

            while i % j == 0:

                ex[j] += 1

                i //= j



ans = 1

for i in range(n + 1):

    ans *= (ex[i] + 1)

    ans %= MOD

    

print(ans)

import sys



sys.setrecursionlimit(10 ** 7)

input = sys.stdin.readline

f_inf = float('inf')

mod = 10 ** 9 + 7





def prime_factorization(n):

    res = []

    for i in range(2, int(pow(n, 0.5)) + 1):

        if n % i == 0:

            ex = 0

            while n % i == 0:

                ex += 1

                n //= i

            res.append([i, ex])

    if n != 1:

        res.append([n, 1])



    return res





def resolve():

    n = int(eval(input()))



    P = [0] * 1000

    for i in range(1, n + 1):

        t = prime_factorization(i)

        for num, ex in t:

            P[num] += ex



    res = 1

    for p in P:

        res *= p + 1

        res % mod



    print((res % mod))





if __name__ == '__main__':

    resolve()

MOD = 10**9 + 7
n = int(eval(input()))
res = 1
ex = [0 for _ in range(n + 1)]
for i in range(1, n + 1):
    for j in range(2, i + 1):
        if i % j == 0:
            while i % j == 0:
                ex[j] += 1
                i //= j
ans = 1
for i in range(n + 1):
    ans *= ex[i] + 1
    ans %= MOD
print(ans)

import sys

sys.setrecursionlimit(10**7)
input = sys.stdin.readline
f_inf = float("inf")
mod = 10**9 + 7


def prime_factorization(n):
    res = []
    for i in range(2, int(pow(n, 0.5)) + 1):
        if n % i == 0:
            ex = 0
            while n % i == 0:
                ex += 1
                n //= i
            res.append([i, ex])
    if n != 1:
        res.append([n, 1])
    return res


def resolve():
    n = int(eval(input()))
    P = [0] * 1000
    for i in range(1, n + 1):
        t = prime_factorization(i)
        for num, ex in t:
            P[num] += ex
    res = 1
    for p in P:
        res *= p + 1
        res % mod
    print((res % mod))


if __name__ == "__main__":
    resolve()

-MOD = 10**9 + 7 -n = int(eval(input())) -res = 1 -ex = [0 for _ in range(n + 1)] -for i in range(1, n + 1): -    for j in range(2, i + 1): -        if i % j == 0: -            while i % j == 0: -                ex[j] += 1 -                i //= j -ans = 1 -for i in range(n + 1): -    ans *= ex[i] + 1 -    ans %= MOD -print(ans) +import sys + +sys.setrecursionlimit(10**7) +input = sys.stdin.readline +f_inf = float("inf") +mod = 10**9 + 7 + + +def prime_factorization(n): +    res = [] +    for i in range(2, int(pow(n, 0.5)) + 1): +        if n % i == 0: +            ex = 0 +            while n % i == 0: +                ex += 1 +                n //= i +            res.append([i, ex]) +    if n != 1: +        res.append([n, 1]) +    return res + + +def resolve(): +    n = int(eval(input())) +    P = [0] * 1000 +    for i in range(1, n + 1): +        t = prime_factorization(i) +        for num, ex in t: +            P[num] += ex +    res = 1 +    for p in P: +        res *= p + 1 +        res % mod +    print((res % mod)) + + +if __name__ == "__main__": +    resolve()