import sys



N = int(sys.stdin.readline().strip())



def factorization(n):

    arr = []

    temp = n

    # sqrtまで

    for i in range(2, int(-(-n**0.5 // 1)) + 1):

        if temp % i == 0:

            cnt = 0

            while temp % i == 0:

                cnt += 1

                temp //= i

            arr.append([i, cnt])



    if temp != 1:

        arr.append([temp, 1])



    """

    if arr == []:

        arr.append([n, 1])

    """

    return arr



# 素因数とその出現回数

factors = {}

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

    tmp = factorization(i)

    # print(tmp)

    for factor, count in tmp:

        if factor not in factors:

            factors[factor] = 0

        factors[factor] += count

# print(factors)



ans = 1

for factor, count in list(factors.items()):

    ans *= (count + 1)

    ans %= 10**9 + 7



print(ans)
import sys



N = int(sys.stdin.readline())

mod = 10**9 + 7



values = [i for i in range(N+1)]

factors = {}

exists = set()

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

    if i not in factors:

        factors[i] = 0

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

        tmp = values[j]

        while tmp % i == 0:

            factors[i] += 1

            tmp //= i

        values[j] = tmp



# print(values)

# print(factors)

ans = 1

for factor, count in list(factors.items()):

    ans *= count + 1

    ans %= mod



print(ans)
import sys

N = int(sys.stdin.readline().strip())


def factorization(n):
    arr = []
    temp = n
    # sqrtまで
    for i in range(2, int(-(-(n**0.5) // 1)) + 1):
        if temp % i == 0:
            cnt = 0
            while temp % i == 0:
                cnt += 1
                temp //= i
            arr.append([i, cnt])
    if temp != 1:
        arr.append([temp, 1])
    """
    if arr == []:
        arr.append([n, 1])
    """
    return arr


# 素因数とその出現回数
factors = {}
for i in range(1, N + 1):
    tmp = factorization(i)
    # print(tmp)
    for factor, count in tmp:
        if factor not in factors:
            factors[factor] = 0
        factors[factor] += count
# print(factors)
ans = 1
for factor, count in list(factors.items()):
    ans *= count + 1
    ans %= 10**9 + 7
print(ans)

import sys

N = int(sys.stdin.readline())
mod = 10**9 + 7
values = [i for i in range(N + 1)]
factors = {}
exists = set()
for i in range(2, N + 1):
    if i not in factors:
        factors[i] = 0
    for j in range(i, N + 1, i):
        tmp = values[j]
        while tmp % i == 0:
            factors[i] += 1
            tmp //= i
        values[j] = tmp
# print(values)
# print(factors)
ans = 1
for factor, count in list(factors.items()):
    ans *= count + 1
    ans %= mod
print(ans)

-N = int(sys.stdin.readline().strip()) - - -def factorization(n): -    arr = [] -    temp = n -    # sqrtまで -    for i in range(2, int(-(-(n**0.5) // 1)) + 1): -        if temp % i == 0: -            cnt = 0 -            while temp % i == 0: -                cnt += 1 -                temp //= i -            arr.append([i, cnt]) -    if temp != 1: -        arr.append([temp, 1]) -    """ -    if arr == []: -        arr.append([n, 1]) -    """ -    return arr - - -# 素因数とその出現回数 +N = int(sys.stdin.readline()) +mod = 10**9 + 7 +values = [i for i in range(N + 1)] -for i in range(1, N + 1): -    tmp = factorization(i) -    # print(tmp) -    for factor, count in tmp: -        if factor not in factors: -            factors[factor] = 0 -        factors[factor] += count +exists = set() +for i in range(2, N + 1): +    if i not in factors: +        factors[i] = 0 +    for j in range(i, N + 1, i): +        tmp = values[j] +        while tmp % i == 0: +            factors[i] += 1 +            tmp //= i +        values[j] = tmp +# print(values) -    ans %= 10**9 + 7 +    ans %= mod