///f. fizzbuzz sequence
#include <stdio.h>
#include <math.h>

int main()
{
    long long int n;
    scanf("%lld",&n);
    long long int d3,d5,d15;
    d3=n/3; d5=n/5; d15=n/15;

    long long sum = (n*(n+1)-3*d3*(d3+1)-5*d5*(d5+1)+15*d15*(d15+1))/2;
    printf("%lld",sum);
    return 0;
}
#include <iostream>
#include <vector>
#include <map>
#include <cmath>
using namespace std;
#define MOD 1000000007;

void solve(){
  int n; cin >> n;
  long long ans = 1;
  vector<int> pn;
  map<int, int> mp;
  for(int i = 2; i <= n; ++i){
    int cnt = 0;
    for(int j = 1; j <= i; ++j){
      if(i % j == 0)cnt++;
    }
    if(cnt == 2) pn.push_back(i);
  }
  for(int i = 2; i <= n; ++i){
    int tmp = i;
    while(tmp !=1){
      for(auto p : pn){
        if(tmp%p == 0) {
          mp[p]++;
          tmp/=p;
          if(tmp == 1)break;
        }
      }
    }
  }
  for(auto m: mp){
    ans *= (m.second+1);
    ans %= MOD;
  }
  cout << ans << endl;
}

int main(){
  solve();
  return 0; 
}