0ffd23f7796f190df5cd47985f6e1911e2ec9263da61b4cc2286e06bbeb35ec6
// https://szkopul.edu.pl/problemset/problem/ciasta/site/?key=statement
// OIG XI (3 etap, zawody drużynowe)
#include <bitset>
#include <iostream>
constexpr int sizik = 1000 * 1000 + 17;
std::bitset<sizik> arr;
constexpr int mod = 1000 * 1000 * 1000 + 33;
int main() {
std::ios_base::sync_with_stdio(0);
std::cin.tie(0);
std::cout.tie(0);
int n;
std::cin >> n;
long long ans = 1;
for (int i = 2; i <= n; i++) {
if (!arr[i]) {
long long temp = 0;
for (int j = i; j <= n; j += i) {
arr[j] = true;
}
for (long long j = i; j <= n; j *= i) {
temp++;
}
ans = (ans * temp) % mod;
}
}
std::cout << ans % mod << '\n';
return 0;
}