#include<stdio.h>
#include<math.h>
#define Nm 50
#define Log3vm 18
#define Log5vm 12
#define Cm 450
#define Imp -2000
#define max(a,b) ((a)>(b)?(a):(b))
#define AA(i,j) A[(i)+Log3vm*Nm][(j)+Log5vm*Nm]
short A[Log3vm*Nm<<1|1][Log5vm*Nm<<1|1];
int Ans[Cm];
void mul(int x)
{
int i,t=0;
for(i=1;i<=Ans[0] || t;++i,t/=10)
Ans[i]=(t+=Ans[i]*x)%10;
Ans[0]=i-1;
}
int main()
{
int n,i,j,k,x,p2,p3,p5,bi,bj,ei,ej,pi,pj,im,jm;
double m;
freopen("aliens.in","r",stdin);
scanf("%d",&n);
for(i=-Log3vm*n;i<=Log3vm*n;++i)
for(j=-Log5vm*n;j<=Log5vm*n;++j)
AA(i,j)=Imp;
AA(0,0)=0;
for(k=0;k<n;++k)
{
p2=p3=p5=0;
scanf("%d",&x);
while(x%2==0)
x/=2, ++p2;
while(x%3==0)
x/=3, ++p3;
while(x%5==0)
x/=5, ++p5;
scanf("%d",&x);
while(x%2==0)
x/=2, --p2;
while(x%3==0)
x/=3, --p3;
while(x%5==0)
x/=5, --p5;
if(p3<0)
bi=-Log3vm*k, ei=Log3vm*k+1, pi=1;
else
bi=Log3vm*k, ei=-Log3vm*k-1, pi=-1;
if(p5<0)
bj=-Log5vm*k, ej=Log5vm*k+1, pj=1;
else
bj=Log5vm*k, ej=-Log5vm*k-1, pj=-1;
for(i=bi;i!=ei;i+=pi)
for(j=bj;j!=ej;j+=pj)
if(AA(i,j)!=Imp)
AA(i+p3,j+p5)=max(AA(i+p3,j+p5),AA(i,j)+p2);
}
m=-1;
for(i=0;i<=Log3vm*n;++i)
for(j=0;j<=Log5vm*n;++j)
if(AA(i,j)>=0 && AA(i,j)*log(2)+i*log(3)+j*log(5)>m)
m=AA(i,j)*log(2)+i*log(3)+j*log(5), im=i, jm=j;
Ans[0]=Ans[1]=1;
while(AA(im,jm)--)
mul(2);
while(im--)
mul(3);
while(jm--)
mul(5);
freopen("aliens.out","w",stdout);
for(i=Ans[0];i;--i)
printf("%d",Ans[i]);
printf("\n");
return 0;
}