diff --git a/AcWing/871/871.cpp b/AcWing/871/871.cpp new file mode 100644 index 00000000..7c394002 --- /dev/null +++ b/AcWing/871/871.cpp @@ -0,0 +1,32 @@ +#include + +using namespace std; + +const int mod = 1000000007; + +int n, x; +long long ans = 1; + +int main() { + cin >> n; + map primes; + while (n--) { + cin >> x; + for (int i = 2; i * i <= x; i++) { + while (x % i == 0) { + x /= i; + primes[i]++; + } + } + primes[x] += x > 1; + } + for (auto p : primes) { + long long t = 1; + while (p.second--) { + t = (t * p.first + 1) % mod; + } + ans = ans * t % mod; + } + cout << ans << endl; + return 0; +}