#include <iostream>
#include <cstring>
#define MAXN 1000001
using namespace std;
int main()
{
int n;
cin >> n;
char is_prime[MAXN];
int d[MAXN],p[MAXN];
long long a[MAXN];
memset(is_prime,1,(n+1)*sizeof(char));
memset(a,0,(n+1)*sizeof(long long));
is_prime[0] = 0;
is_prime[1] = 0;
for (int i=2; i * i<=n; i++)
if (is_prime[i])
{
if (i * 1ll * i <= n)
for (int j=i*i; j<=n; j += i)
{
is_prime[j] = 0;
p[j] = i;
d[j] = j/i;
}
}
for (int i=2;i<=n;i++)
{
if (is_prime[i])
{
d[i] = 1;
p[i] = i;
}
}
for(int i=1;i<=n;i++)
{
int k = i;
while (k!=1)
{
int div = p[k];
++a[div];
k = d[k];
}
}
long long ans = 1;
for(int i=1;i<=n;i++)
if (is_prime[i])
ans = (ans * (1 + 2 * a[i]))%1000007;
cout << ans;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KI2RlZmluZSBNQVhOIDEwMDAwMDEKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKaW50IG1haW4oKQp7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgY2hhciBpc19wcmltZVtNQVhOXTsKICAgIGludCBkW01BWE5dLHBbTUFYTl07CiAgICBsb25nIGxvbmcgYVtNQVhOXTsKICAgIG1lbXNldChpc19wcmltZSwxLChuKzEpKnNpemVvZihjaGFyKSk7IAogICAgbWVtc2V0KGEsMCwobisxKSpzaXplb2YobG9uZyBsb25nKSk7CiAgICBpc19wcmltZVswXSA9IDA7CiAgICBpc19wcmltZVsxXSA9IDA7CiAgICBmb3IgKGludCBpPTI7IGkgKiBpPD1uOyBpKyspCiAgICAgICAgICAgIGlmIChpc19wcmltZVtpXSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGlmIChpICogMWxsICogaSA8PSBuKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpbnQgaj1pKmk7IGo8PW47IGogKz0gaSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfcHJpbWVbal0gPSAwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwW2pdID0gaTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZFtqXSA9IGovaTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIGZvciAoaW50IGk9MjtpPD1uO2krKykKICAgICAgICB7CiAgICAgICAgICAgIGlmIChpc19wcmltZVtpXSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZFtpXSA9IDE7CiAgICAgICAgICAgICAgICBwW2ldID0gaTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBmb3IoaW50IGk9MTtpPD1uO2krKykKICAgICAgICB7CiAgICAgICAgICAgIGludCBrID0gaTsKICAgICAgICAgICAgd2hpbGUgKGshPTEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGludCBkaXYgPSBwW2tdOwogICAgICAgICAgICAgICAgKythW2Rpdl07CiAgICAgICAgICAgICAgICBrID0gZFtrXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBsb25nIGxvbmcgYW5zID0gMTsKICAgICAgICBmb3IoaW50IGk9MTtpPD1uO2krKykKICAgICAgICAgICAgaWYgKGlzX3ByaW1lW2ldKQogICAgICAgICAgICAgICAgYW5zID0gKGFucyAqICgxICsgMiAqIGFbaV0pKSUxMDAwMDA3OwogICAgICAgIGNvdXQgPDwgYW5zOwogICAgICAgIHJldHVybiAwOwp9