n = int(eval(input()))



mod = 10**9 + 7

d = {}



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

	x = i

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

		while x % j == 0:

			x = x // j

			d[j] = d.get(j, 0) + 1



ret = 1

for v in list(d.values()):

	ret *= v+1



print((ret % mod))

MOD = 10 ** 9 + 7

n = int(eval(input()))



# 素数

primes = [True] * (n + 1)

p = 2

while p * p <= n:

    if primes[p]:

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

            primes[i] = False

    p += 1

primes[0], primes[1] = False, False



# counter

cnt = [0] * (n + 1)

for k in range(2, n + 1):

    now = k

    # 素因数分解

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

        while k % i == 0:

            cnt[i] += 1

            k //= i

    if k != 1:

        cnt[k] += 1



res = 1

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

    if primes[k]:

        res *= cnt[k] + 1

        res %= MOD



print(res)
n = int(eval(input()))
mod = 10**9 + 7
d = {}
for i in range(2, n + 1):
    x = i
    for j in range(2, x + 1):
        while x % j == 0:
            x = x // j
            d[j] = d.get(j, 0) + 1
ret = 1
for v in list(d.values()):
    ret *= v + 1
print((ret % mod))

MOD = 10**9 + 7
n = int(eval(input()))
# 素数
primes = [True] * (n + 1)
p = 2
while p * p <= n:
    if primes[p]:
        for i in range(p * p, n + 1, p):
            primes[i] = False
    p += 1
primes[0], primes[1] = False, False
# counter
cnt = [0] * (n + 1)
for k in range(2, n + 1):
    now = k
    # 素因数分解
    for i in range(2, k + 1):
        while k % i == 0:
            cnt[i] += 1
            k //= i
    if k != 1:
        cnt[k] += 1
res = 1
for k in range(1, n + 1):
    if primes[k]:
        res *= cnt[k] + 1
        res %= MOD
print(res)

+MOD = 10**9 + 7 -mod = 10**9 + 7 -d = {} -for i in range(2, n + 1): -    x = i -    for j in range(2, x + 1): -        while x % j == 0: -            x = x // j -            d[j] = d.get(j, 0) + 1 -ret = 1 -for v in list(d.values()): -    ret *= v + 1 -print((ret % mod)) +# 素数 +primes = [True] * (n + 1) +p = 2 +while p * p <= n: +    if primes[p]: +        for i in range(p * p, n + 1, p): +            primes[i] = False +    p += 1 +primes[0], primes[1] = False, False +# counter +cnt = [0] * (n + 1) +for k in range(2, n + 1): +    now = k +    # 素因数分解 +    for i in range(2, k + 1): +        while k % i == 0: +            cnt[i] += 1 +            k //= i +    if k != 1: +        cnt[k] += 1 +res = 1 +for k in range(1, n + 1): +    if primes[k]: +        res *= cnt[k] + 1 +        res %= MOD +print(res)