usingnamespace std; constint mod = 1e9 + 7; int n;
intmain() { ios::sync_with_stdio(false),cin.tie(0),cout.tie(0); unordered_map<int, int> prime; cin >> n; while (n--) { int x; cin >> x; for (int i = 2; i * i <= x; i ++) { while (x % i == 0) { x /= i; prime[i]++; } } if (x > 1) prime[x]++; }
longlong res = 1; for (auto k:prime) { res = res * (k.second + 1) % mod; }
usingnamespace std; constint mod = 1e9 + 7; int n;
intmain() { ios::sync_with_stdio(false),cin.tie(0),cout.tie(0); unordered_map<int, int> prime; cin >> n; while (n--) { int x; cin >> x; for (int i = 2; i * i <= x; i ++) { while (x % i == 0) { x /= i; prime[i]++; } } if (x > 1) prime[x]++; }
longlong res = 1; for (auto k:prime) { int a = k.first, b = k.second; longlong tt = 1; for (int i = 0; i < b; i++) { tt = (tt * a + 1) % mod; } res = res * tt % mod; }