#include #include using namespace std; int maxv = 2; int maxp = 1; int n, x, aux, ant, viit; int p[1000000], k = 1; int prim[1000000]; int r; void inmultire(int n) { viit = p[1]*n; for (int j=1; j<=k; j++) { ant = viit; p[j+1] = p[j+1] * n; if (ant >= 10) { p[j+1] += ant/10; } viit = p[j+1]; p[j] = ant%10; } if (p[k+1] != 0) { k++; while (p[k] >= 10) { k++; p[k] = p[k-1]/10; p[k-1] %= 10; } } } void primus(int n) { int d = 2, p = 1; if (n%2 == 0) { inmultire(2); } d++; while (d <= n) { if (n%d == 0) { p = 2; inmultire(d); while (n%d==0) { n /= d; } } d+=2; } if(p == 1) { inmultire(n); } } ifstream fin("date.in"); ofstream fout("date.out"); int main() { cin >> n; p[1] = 1; prim[1] = 2; for (int i=1; i<=n; i++) { cin >> x; primus(x); /*for (int j=1; j<=k; j++) { ant = viit; p[j+1] = p[j+1] * r; if (ant >= 10) { p[j+1] += ant/10; } viit = p[j+1]; p[j] = ant%10; } if (p[k+1] != 0) { k++; while (p[k] >= 10) { k++; p[k] = p[k-1]/10; p[k-1] %= 10; } }*/ /* for (int i=k; i>=1; i--) { cout << p[i]; } cout << " " << k << endl << endl << endl;*/ } for (int i=k; i>=1; i--) { cout << p[i]; } return 0; }