# M = a ** x * b ** y * c ** z

# の約数の個数は(x + 1)*(y + 1)*(z + 1)

# なので約数が75個になるには、以下パターンが考えられる

# 75

# 25 * 3

# 15 * 5

# 5 * 5 * 3

# よって1～Nまで素因数分解して、各素因数の指数部分の値を求めて

# 計算する



import itertools



def main():

    N = int(eval(input()))

    d = [0] * (N+1)



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

        cur = i

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

            while cur % j == 0:

                d[j] += 1

                cur = cur // j



    ans = 0

    for i in d:

        if i >= 74:

            ans += 1

    for (x, y, z) in itertools.combinations(d,3):

        for a, b, c in [[4, 4, 2],[4, 2, 4],[2, 4, 4]]:

            if x >= a and y >= b and z >= c:

                ans += 1



    for (x, y) in itertools.combinations(d,2):

        for a, b in [[24,2],[14,4],[4,14],[2,24]]:

            if x >= a and y >= b:

                ans += 1



    print(ans)





    



main()
from collections import defaultdict



def main():

    # 75 * 1

    # 25 * 3

    # 15 * 5

    # 5 * 5 * 3

    N = int(eval(input()))

    d = defaultdict(int)

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

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

            while n % i == 0:

                d[i] += 1

                n = n // i

        if n != 1:

            d[n] += 1



    d2 = 0

    d4 = 0

    d14 = 0

    d24 = 0

    d74 = 0

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

        if i >= 2:

            d2 += 1

        if i >= 4:

            d4 += 1

        if i >= 14:

            d14 += 1

        if i >= 24:

            d24 += 1

        if i >= 74:

            d74 += 1



    ans = d74

    ans += d24 * (d2 - 1)

    ans += d14 * (d4 - 1)

    ans += (d4 * (d4 - 1) * (d2 - 2)) // 2



    print(ans)





if __name__ == "__main__":

    main()
# M = a ** x * b ** y * c ** z
# の約数の個数は(x + 1)*(y + 1)*(z + 1)
# なので約数が75個になるには、以下パターンが考えられる
# 75
# 25 * 3
# 15 * 5
# 5 * 5 * 3
# よって1～Nまで素因数分解して、各素因数の指数部分の値を求めて
# 計算する
import itertools


def main():
    N = int(eval(input()))
    d = [0] * (N + 1)
    for i in range(2, N + 1):
        cur = i
        for j in range(2, i + 1):
            while cur % j == 0:
                d[j] += 1
                cur = cur // j
    ans = 0
    for i in d:
        if i >= 74:
            ans += 1
    for (x, y, z) in itertools.combinations(d, 3):
        for a, b, c in [[4, 4, 2], [4, 2, 4], [2, 4, 4]]:
            if x >= a and y >= b and z >= c:
                ans += 1
    for (x, y) in itertools.combinations(d, 2):
        for a, b in [[24, 2], [14, 4], [4, 14], [2, 24]]:
            if x >= a and y >= b:
                ans += 1
    print(ans)


main()

from collections import defaultdict


def main():
    # 75 * 1
    # 25 * 3
    # 15 * 5
    # 5 * 5 * 3
    N = int(eval(input()))
    d = defaultdict(int)
    for n in range(1, N + 1):
        for i in range(2, int(n**0.5) + 1):
            while n % i == 0:
                d[i] += 1
                n = n // i
        if n != 1:
            d[n] += 1
    d2 = 0
    d4 = 0
    d14 = 0
    d24 = 0
    d74 = 0
    for i in list(d.values()):
        if i >= 2:
            d2 += 1
        if i >= 4:
            d4 += 1
        if i >= 14:
            d14 += 1
        if i >= 24:
            d24 += 1
        if i >= 74:
            d74 += 1
    ans = d74
    ans += d24 * (d2 - 1)
    ans += d14 * (d4 - 1)
    ans += (d4 * (d4 - 1) * (d2 - 2)) // 2
    print(ans)


if __name__ == "__main__":
    main()

-# M = a ** x * b ** y * c ** z -# の約数の個数は(x + 1)*(y + 1)*(z + 1) -# なので約数が75個になるには、以下パターンが考えられる -# 75 -# 25 * 3 -# 15 * 5 -# 5 * 5 * 3 -# よって1～Nまで素因数分解して、各素因数の指数部分の値を求めて -# 計算する -import itertools +from collections import defaultdict +    # 75 * 1 +    # 25 * 3 +    # 15 * 5 +    # 5 * 5 * 3 -    d = [0] * (N + 1) -    for i in range(2, N + 1): -        cur = i -        for j in range(2, i + 1): -            while cur % j == 0: -                d[j] += 1 -                cur = cur // j -    ans = 0 -    for i in d: +    d = defaultdict(int) +    for n in range(1, N + 1): +        for i in range(2, int(n**0.5) + 1): +            while n % i == 0: +                d[i] += 1 +                n = n // i +        if n != 1: +            d[n] += 1 +    d2 = 0 +    d4 = 0 +    d14 = 0 +    d24 = 0 +    d74 = 0 +    for i in list(d.values()): +        if i >= 2: +            d2 += 1 +        if i >= 4: +            d4 += 1 +        if i >= 14: +            d14 += 1 +        if i >= 24: +            d24 += 1 -            ans += 1 -    for (x, y, z) in itertools.combinations(d, 3): -        for a, b, c in [[4, 4, 2], [4, 2, 4], [2, 4, 4]]: -            if x >= a and y >= b and z >= c: -                ans += 1 -    for (x, y) in itertools.combinations(d, 2): -        for a, b in [[24, 2], [14, 4], [4, 14], [2, 24]]: -            if x >= a and y >= b: -                ans += 1 +            d74 += 1 +    ans = d74 +    ans += d24 * (d2 - 1) +    ans += d14 * (d4 - 1) +    ans += (d4 * (d4 - 1) * (d2 - 2)) // 2 -main() +if __name__ == "__main__": +    main()