Problem:
Score : 400 points

Problem Statement

You are given an integer N. Among the divisors of N! (= 1 \times 2 \times ... \times N), how many Shichi-Go numbers (literally "Seven-Five numbers") are there?

Here, a Shichi-Go number is a positive integer that has exactly 75 divisors.

Note

When a positive integer A divides a positive integer B, A is said to a divisor of B.
For example, 6 has four divisors: 1, 2, 3 and 6.

Constraints

1 \leq N \leq 100

N is an integer.

Input

Input is given from Standard Input in the following format:

N

Output

Print the number of the Shichi-Go numbers that are divisors of N!.

Sample Input 1

9

Sample Output 1

0

There are no Shichi-Go numbers among the divisors of 9! = 1 \times 2 \times ... \times 9 = 362880.

Sample Input 2

10

Sample Output 2

1

There is one Shichi-Go number among the divisors of 10! = 3628800: 32400.

Sample Input 3

100

Sample Output 3

543

Solution in C++14 (GCC 5.4.1) (judge verdict: Accepted)

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll N;
vector<int> prime;

void make_prime(){
	for(int i(1);i<=N;++i){
		int cnt(0);
		for(int j(1);j<=i;++j){
			if(i%j==0) cnt++;
		}
		if(cnt==2) prime.push_back(i);
	}
}

vector<int> factoring(int n){
	vector<int> factors(prime.size());
	for(int i(0);i<prime.size();++i){
		while(n % prime[i] == 0){
			factors[i]++;
			n /= prime[i];
		}
	}
	return factors;
}

int counter(vector<int> factor, int num){
	int cnt(0);
	for(int i(0);i<factor.size();++i){
		if(factor[i]>=num-1) cnt++;
	}
	return cnt;
}

int main(){
	cin >> N;
	make_prime();
	vector<int> factors(prime.size());
	for(int i(1);i<=N;++i){
		vector<int> t = factoring(i);
		for(int j(0);j<prime.size();++j){
			factors[j] += t[j];
		}
	}
	int ans = counter(factors,75) + counter(factors,25) * (counter(factors,3) - 1)
	+ counter(factors,15) * (counter(factors,5) - 1) + counter(factors,5) * (counter(factors,5) - 1) * (counter(factors,3) - 2) /2;
	cout << ans << endl;
	return 0;
}