#include <algorithm>
#include <cmath>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <vector>
#define rep(i, f, n) for (ll i = (f); i < (ll)(n); i++)
#define repe(i, f, n) for (ll i = (f); i <= (ll)(n); i++)
#define accum(x) accumulate((x).begin(), (x).end(), 0)
using namespace std;
using ll = long long;
using pint = pair<int, int>;

const ll MOD = 1e9 + 7;

int a[1001];

void f(int X) {
  int x = X;
  for (int i = 2; i * i <= X; i++) {
    if (x % i != 0) continue;
    while (x % i == 0) {
      a[i]++;
      x /= i;
    }
  }
  if (x != 1) a[x]++;
}

int main() {
  int n;
  cin >> n;

  repe(i, 2, n) f(i);

  ll ans = 1;
  repe(i, 2, n) {
    if (a[i] == 0) continue;
    ans *= a[i] + 1;
    ans %= MOD;
  }

  cout << ans << endl;

  return 0;
}

#include<bits/stdc++.h>
#define rep(i,N) for(int i=0;i<(N);i++)
#define FOR(i,a,b) for(int i=(a);i<(b);i++)
using namespace std;
const long long MOD = 1e9 + 7;
const long long INF = 1e12;
const int inf = 1e9;
typedef long long ll;
typedef pair<ll,int> P;
typedef set<int> S;
int main(){
    int n;
    cin>>n;
    int cnt = 0;
    if(n<3){
        cout<<0<<endl;
        return 0;
    }
    cnt = 0;
    while(n>=3){
        cnt++;
        n-=3;
    }
    cout<<cnt<<endl;
    return 0;
}