using System;
using System.Collections.Generic;
using System.Linq;
using BitArray = System.Collections.BitArray;
using BigInteger = System.Numerics.BigInteger;

namespace AtCoderProject
{
    static class DicExt
    {
        public static V GetOrDefault<K, V>(this IDictionary<K, V> dic, K key, V defaultValue = default(V))
        {
            V val;
            return dic.TryGetValue(key, out val) ? val : defaultValue;
        }
        public static V GetOrInit<K, V>(this IDictionary<K, V> dic, K key) where V : new()
        {
            V val;
            if (dic.TryGetValue(key, out val))
                return val;

            val = new V();
            dic.Add(key, val);
            return val;
        }
    }
    public class Program
    {
        public object Calc()
        {
            // var line = consoleReader.SplitInt32();
            var N = consoleReader.Int32();
            if (N < 10) return 0;

            var primes = new[] { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 };
            var factorCount = new Dictionary<int, int>();
            for (int i = 2; i <= N; i++)
            {
                var pi = 0;
                var num = i;
                while (num > 1)
                {
                    int amari;
                    var d = Math.DivRem(num, primes[pi], out amari);
                    if (amari == 0)
                    {
                        var c = factorCount.GetOrDefault(primes[pi]);
                        factorCount[primes[pi]] = c + 1;
                        num = d;
                    }
                    else pi++;
                }
            }

            var counts = new int[76];
            counts[0] = counts[1] = factorCount.Count;
            foreach (var i in factorCount.Values)
            {
                var to = Math.Min(i, 75);
                for (int j = 2; j <= to; j++)
                {
                    ++counts[j];
                }
            }

            return (counts[4] * (counts[4] - 1)) / 2 * (counts[2] - 2)
                + counts[24] * (counts[2] - 1)
                + counts[14] * (counts[4] - 1)
                + counts[74];
        }

        IEnumerable<long> GetYakusu(long num)
        {
            long amari;
            var sqrt = (long)Math.Sqrt(num);
            for (long l = 1; l <= sqrt; l++)
            {
                var d = Math.DivRem(num, l, out amari);
                if (amari == 0)
                {
                    yield return l;
                    yield return d;
                }
            }
        }

        private readonly ConsoleReader consoleReader;
        public Program() : this(new ConsoleReader()) { }
        public Program(ConsoleReader consoleReader) { this.consoleReader = consoleReader; }
        static void Main() => Console.WriteLine(new Program().Calc());
        public static string MultiLine<T>(IEnumerable<T> source) => string.Join("\n", source);
    }

    public class ConsoleReader
    {
        public virtual string String() => Console.ReadLine(); public int Int32() => int.Parse(String()); public long Int64() => long.Parse(String()); public ulong UInt64() => ulong.Parse(String()); public double Double() => double.Parse(String()); public string[] Split() => String().Split().ToArray(); public int[] SplitInt32() => String().Split().Select(int.Parse).ToArray(); public long[] SplitInt64() => String().Split().Select(long.Parse).ToArray(); public ulong[] SplitUInt64() => String().Split().Select(ulong.Parse).ToArray(); public double[] SplitDouble() => String().Split().Select(double.Parse).ToArray(); public IEnumerable<string> Repeat(int count) { for (int i = 0; i < count; i++) yield return String(); }
        public IEnumerable<int> RepeatInt32(int count) { for (int i = 0; i < count; i++) yield return Int32(); }
        public IEnumerable<long> RepeatInt64(int count) { for (int i = 0; i < count; i++) yield return Int64(); }
        public IEnumerable<string[]> RepeatSplit(int count) { for (int i = 0; i < count; i++) yield return Split(); }
        public IEnumerable<int[]> RepeatSplitInt32(int count) { for (int i = 0; i < count; i++) yield return SplitInt32(); }
    }
}


Measured memory_bytes: 13152