using System;
using System.Linq;
using System.Collections.Generic;
using static System.Console;
using System.Text;
using System.IO;
using static System.Math;
using System.Numerics;

namespace AtCoder
{
    public class Program
    {
        public static void Main(string[] args)
        {
            //SetOut(new StreamWriter(OpenStandardOutput()) { AutoFlush = false });
            Solve();
            //Out.Flush();
            Read();
        }

        static void Solve()
        {
            var N = Sarray()[0];
            var primeSum = new Dictionary<long, long>();
            for(var i=2;i<=N;++i)
            {
                var primes = primefactorize(i);
                foreach (var p in primes)
                {
                    if (!primeSum.ContainsKey(p)) primeSum[p] = 0;
                    ++primeSum[p];
                }
            }
            var num75 = primeSum.Count(kv => 74 <= kv.Value);
            var num25 = primeSum.Count(kv => 24 <= kv.Value && kv.Value < 74);
            var num15 = primeSum.Count(kv => 14 <= kv.Value && kv.Value < 24);
            var num5 = primeSum.Count(kv => 4 <= kv.Value && kv.Value < 14);
            var num3 = primeSum.Count(kv => 2 <= kv.Value && kv.Value < 4);
            var cnt = 0L;
            //1x75
            cnt = num75;
            //3x25
            var gt25 = num25 + num75;
            cnt += Max(0, gt25 * (gt25 - 1) );//25以上から片方25、片方3
            cnt += (num3 + num5 + num15) * gt25;
            //5x15
            var gt15 = num15 + gt25;
            cnt += Max(0, gt15 * (gt15 - 1) );
            cnt += num5 * gt15;
            //3x5x5(3を一つ、5を二つ)
            var gt5 = num5 + num15 + num25 + num75;
            cnt += Max(0, gt5 * (gt5 - 1) / 2 * (gt5 - 2));
            cnt += Max(0, gt5 * (gt5 - 1) / 2 * num3);
            WriteLine(cnt);

        }
        static List<long> primefactorize(long n)
        {
            var primes = new List<long>();
            for (long i = 2L; i * i <= n; ++i)
            {
                while (n % i == 0)
                {
                    primes.Add(i);
                    n /= i;
                }
            }
            if (n != 1) primes.Add(n);
            return primes;
        }
        static long Mod = (long)1e9 + 7;
        private static int pl;

        static public long[] Sarray() { return ReadLine().Split().Select(long.Parse).ToArray(); }
        static public List<long> Slist() { return ReadLine().Split().Select(long.Parse).ToList(); }
        static public (T1 a, T2 b) Slice<T1, T2>()
        {
            var t = ReadLine().Split();
            return (
            (T1)Convert.ChangeType(t[0], typeof(T1)),
            (T2)Convert.ChangeType(t[1], typeof(T2)));
        }
        static public (T a, T b) Slice2<T>()
        {
            var t = ReadLine().Split();
            return (
            (T)Convert.ChangeType(t[0], typeof(T)),
            (T)Convert.ChangeType(t[1], typeof(T)));
        }
        static public (T a, T b, T c) Slice3<T>()
        {
            var t = ReadLine().Split();
            return (
            (T)Convert.ChangeType(t[0], typeof(T)),
            (T)Convert.ChangeType(t[1], typeof(T)),
            (T)Convert.ChangeType(t[2], typeof(T)));
        }
        static public (T a, T b, T c, T d) Slice4<T>()
        {
            var t = ReadLine().Split();
            return (
            (T)Convert.ChangeType(t[0], typeof(T)),
            (T)Convert.ChangeType(t[1], typeof(T)),
            (T)Convert.ChangeType(t[2], typeof(T)),
            (T)Convert.ChangeType(t[3], typeof(T)));
        }
    }
}

Measured memory_bytes: 28224