Problem:
Score : 300 points

Problem Statement

You are given an integer N.
Find the number of the positive divisors of N!, modulo 10^9+7.

Constraints

1≤N≤10^3

Input

The input is given from Standard Input in the following format:

N

Output

Print the number of the positive divisors of N!, modulo 10^9+7.

Sample Input 1

3

Sample Output 1

4

There are four divisors of 3! =6: 1, 2, 3 and 6. Thus, the output should be 4.

Sample Input 2

6

Sample Output 2

30

Sample Input 3

1000

Sample Output 3

972926972

Solution in C (GCC 5.4.1) (judge verdict: Wrong Answer)

#include<stdio.h>

void insubunkai(int N,int *A){
  int i;
  for(i=2;i<=N;i++){
    if(N%i == 0){
      A[i]++;
      N /= i;
      i = 1;
    }
  }
}

int main(){
  int N;
  int A[1001]={};
  int count=1;
  int i;

  scanf("%d", &N);
  for(i=1;i<=N;i++){
    insubunkai(i,A);
  }
  for(i=0;i<=N;i++){
    if(A[i]>=1){
      count *= A[i]+1;
    }
  }
  printf("%d\n", count%1000000007);
  return 0;
}