typedeflonglong ll; constint N = 1e8 + 4, MOD = 100000007; int P[6200000], tot, n; bitset<N> vis;
ll qaq = 1;
voidinit(int n){ for (int i = 2; i <= n; i++) { if (!vis[i]) P[++tot] = i; for (int j = 1; j <= tot && P[j] * i <= n; j++) { vis[i * P[j]] = 1; if (i % P[j] == 0) break; } } }
intmain(){ scanf("%d", &n); init(n); for (int i = 1; i <= tot; i++) { int d = n, p = P[i]; while (d / p) d /= p, qaq = qaq * 1ll * p % MOD; } printf("%lld\n", qaq); return0; }