#include using namespace std; #include using mint = atcoder::modint1000000007; using ll = long long; using vl = vector; int main() { ll n; cin >> n; const int L = 6; const int MASK = (1 << L) - 1; vector f((int)(n >> L) + 1); mint ans = 1; for (ll p = 2; p <= n; p += (p & 1) + 1) { if ((f[p >> L] >> (p & MASK)) & 1) continue; mint v = 1; for (ll x = n; x; ) v += x /= p; ans *= v; if (n / p / p) { for (ll i = p * p; i <= n; i += p) f[i >> L] |= 1ull << (i & MASK); } } cout << ans.val() << "\n"; }