import std.stdio, std.string, std.range, std.conv, std.array, std.algorithm, std.math, std.typecons, std.functional;

alias FactorizeResult = ulong[101];

void main() {
    const N = readln.chomp.to!int;

    FactorizeResult table;
    foreach (i; 1..N+1) {
        table[] += primeFactorize(i)[];
    }

    ulong func(ulong i, int r) {
        if (r > 75) return 0;
        if (i == 101) {
            return r == 75 ? 1 : 0;
        }
        ulong result = 0;
        foreach (x; [0,2,4,14,24,74].filter!(y => y <= table[i])) {
            result += memoize!func(i+1,r * (x+1));
        }
        return result;
    }
    writeln(func(0,1));
}

FactorizeResult primeFactorize(int x) {
    if (x == 1) {
        FactorizeResult result;
        return result;
    }
    int y = 2;
    while (true) {
        if (x % y == 0) {
            auto po = memoize!primeFactorize(x/y);
            po[y]++;
            return po;
        } else {
            y++;
        }
    }
}
