import math

mod = int(1e9+7)



N = int(eval(input()))

n = math.factorial(N)



count_of_prime_factors = {}

while True:

    if n > 1:

        count = 0

        while n % 2 == 0:

            n //= 2

            count += 1

        if count != 0:

            count_of_prime_factors.update({2: count})

        if n == 1: 

            break 



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

            count = 0

            while n % i == 0:

                n //= i 

                count += 1

            if count != 0:

                count_of_prime_factors.update({i: count})

            if n == 1: 

                break

        else:        

            count_of_prime_factors.update({n: 1})

        break 

    else:

        print((1))

        exit()



ans = 1

for prime_factor, count in list(count_of_prime_factors.items()):

    ans *= count + 1



print((ans % mod))

import sys

from math import floor, sqrt

from collections import defaultdict



MOD = 10 ** 9 + 7



n = int(sys.stdin.readline().rstrip())



res = defaultdict(int)



def primeFactorize(n):

    while n % 2 == 0:

        res[2] += 1

        n //= 2

    if n == 1:

        return

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

        while n % i == 0:

            res[i] += 1

            n //= i

        if n == 1:

            return

    res[n] += 1



def main():

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

        primeFactorize(i)

    

    ans = 1

    for c in list(res.values()):

        ans *= c + 1

        ans %= MOD

    

    return ans



if __name__ == '__main__':

    ans = main()

    print(ans)
import math

mod = int(1e9 + 7)
N = int(eval(input()))
n = math.factorial(N)
count_of_prime_factors = {}
while True:
    if n > 1:
        count = 0
        while n % 2 == 0:
            n //= 2
            count += 1
        if count != 0:
            count_of_prime_factors.update({2: count})
        if n == 1:
            break
        for i in range(3, N + 1, 2):
            count = 0
            while n % i == 0:
                n //= i
                count += 1
            if count != 0:
                count_of_prime_factors.update({i: count})
            if n == 1:
                break
        else:
            count_of_prime_factors.update({n: 1})
        break
    else:
        print((1))
        exit()
ans = 1
for prime_factor, count in list(count_of_prime_factors.items()):
    ans *= count + 1
print((ans % mod))

import sys
from math import floor, sqrt
from collections import defaultdict

MOD = 10**9 + 7
n = int(sys.stdin.readline().rstrip())
res = defaultdict(int)


def primeFactorize(n):
    while n % 2 == 0:
        res[2] += 1
        n //= 2
    if n == 1:
        return
    for i in range(3, floor(sqrt(n)) + 1, 2):
        while n % i == 0:
            res[i] += 1
            n //= i
        if n == 1:
            return
    res[n] += 1


def main():
    for i in range(1, n + 1):
        primeFactorize(i)
    ans = 1
    for c in list(res.values()):
        ans *= c + 1
        ans %= MOD
    return ans


if __name__ == "__main__":
    ans = main()
    print(ans)

-import math +import sys +from math import floor, sqrt +from collections import defaultdict -mod = int(1e9 + 7) -N = int(eval(input())) -n = math.factorial(N) -count_of_prime_factors = {} -while True: -    if n > 1: -        count = 0 -        while n % 2 == 0: -            n //= 2 -            count += 1 -        if count != 0: -            count_of_prime_factors.update({2: count}) +MOD = 10**9 + 7 +n = int(sys.stdin.readline().rstrip()) +res = defaultdict(int) + + +def primeFactorize(n): +    while n % 2 == 0: +        res[2] += 1 +        n //= 2 +    if n == 1: +        return +    for i in range(3, floor(sqrt(n)) + 1, 2): +        while n % i == 0: +            res[i] += 1 +            n //= i -            break -        for i in range(3, N + 1, 2): -            count = 0 -            while n % i == 0: -                n //= i -                count += 1 -            if count != 0: -                count_of_prime_factors.update({i: count}) -            if n == 1: -                break -        else: -            count_of_prime_factors.update({n: 1}) -        break -    else: -        print((1)) -        exit() -ans = 1 -for prime_factor, count in list(count_of_prime_factors.items()): -    ans *= count + 1 -print((ans % mod)) +            return +    res[n] += 1 + + +def main(): +    for i in range(1, n + 1): +        primeFactorize(i) +    ans = 1 +    for c in list(res.values()): +        ans *= c + 1 +        ans %= MOD +    return ans + + +if __name__ == "__main__": +    ans = main() +    print(ans)