#include<stdio.h>
#include<stdlib.h>
typedef long long int ll;
int cmpfunc(const void *a,const void *b){
    if(*(long long int*)a==*(long long int*)b) return 0;
    else if(*(long long int*)a>*(long long int*)b) return 1;
    else return -1;
}
int main()
{
    int n,flag=1;
    scanf("%d",&n);
    ll a[n],mul=1;
    for(int i=0;i<n;i++){
        scanf("%lld",&a[i]);
        if(a[i]==0)flag=0;}
    qsort(a,n,sizeof(ll),cmpfunc);
    if(!flag){printf("0");return 0;}
    for(int i=0;i<n;i++)
    {
        if((1000000000000000000/mul)<a[i])
        {
            printf("-1");
            return 0;
        }
        mul*=a[i];
    }
    printf("%lld",mul);
}
