#include <iostream>
#include <fstream>
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;
}
Comments