import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc=new Scanner(System.in);

		int n=sc.nextInt();		//n個の整数
		/*long zyou = (long) Math.pow(10, 18);
		
		long result=0;

		for(int i=0;i<n;i++) {		//n個の整数を計算
			long a=sc.nextLong();
			
			if(i==0) {
				result=a;
			}else {
				result=result*a;
			}
		}
		
		//System.out.println(zyou);
		//System.out.println(result);
		
		if(zyou<result) {
			System.out.println(-1);
		}else {
			System.out.println(result);
		}*/
		
		long result=1;
		long zyou = (long) Math.pow(10, 18);
		
		for(int i=0;i<n;i++) {
			long a=sc.nextLong();
			if(a==0) {
				result=0;
				break;
			}
			if(zyou/result>=a) {
				result*=a;
			}else {
				result=-1;
			}
		}
		System.out.println(result);
		sc.close();
	}
} import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc=new Scanner(System.in);

		int n=sc.nextInt();		//n個の整数
		/*long zyou = (long) Math.pow(10, 18);
		
		long result=0;

		for(int i=0;i<n;i++) {		//n個の整数を計算
			long a=sc.nextLong();
			
			if(i==0) {
				result=a;
			}else {
				result=result*a;
			}
		}
		
		//System.out.println(zyou);
		//System.out.println(result);
		
		if(zyou<result) {
			System.out.println(-1);
		}else {
			System.out.println(result);
		}*/
		
		long result=1;
		long zyou = (long) Math.pow(10, 18);
		
		for(int i=0;i<n;i++) {
			long a=sc.nextLong();
			if(a==0) {
				result=0;
				break;
			}
			if(zyou/result>=a) {
				result*=a;
			}else {
				result=-1;
			}
		}
		System.out.println(result);
		sc.close();
	}
} Main public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc=new Scanner(System.in);

		int n=sc.nextInt();		//n個の整数
		/*long zyou = (long) Math.pow(10, 18);
		
		long result=0;

		for(int i=0;i<n;i++) {		//n個の整数を計算
			long a=sc.nextLong();
			
			if(i==0) {
				result=a;
			}else {
				result=result*a;
			}
		}
		
		//System.out.println(zyou);
		//System.out.println(result);
		
		if(zyou<result) {
			System.out.println(-1);
		}else {
			System.out.println(result);
		}*/
		
		long result=1;
		long zyou = (long) Math.pow(10, 18);
		
		for(int i=0;i<n;i++) {
			long a=sc.nextLong();
			if(a==0) {
				result=0;
				break;
			}
			if(zyou/result>=a) {
				result*=a;
			}else {
				result=-1;
			}
		}
		System.out.println(result);
		sc.close();
	} main {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc=new Scanner(System.in);

		int n=sc.nextInt();		//n個の整数
		/*long zyou = (long) Math.pow(10, 18);
		
		long result=0;

		for(int i=0;i<n;i++) {		//n個の整数を計算
			long a=sc.nextLong();
			
			if(i==0) {
				result=a;
			}else {
				result=result*a;
			}
		}
		
		//System.out.println(zyou);
		//System.out.println(result);
		
		if(zyou<result) {
			System.out.println(-1);
		}else {
			System.out.println(result);
		}*/
		
		long result=1;
		long zyou = (long) Math.pow(10, 18);
		
		for(int i=0;i<n;i++) {
			long a=sc.nextLong();
			if(a==0) {
				result=0;
				break;
			}
			if(zyou/result>=a) {
				result*=a;
			}else {
				result=-1;
			}
		}
		System.out.println(result);
		sc.close();
	} Scanner sc=new Scanner(System.in); sc new Scanner(System.in) int n=sc.nextInt(); n sc.nextInt() sc.nextInt sc long result=1; result 1 long zyou = (long) Math.pow(10, 18); zyou (long) Math.pow(10, 18) Math.pow Math 10 18 for(int i=0;i<n;i++) {
			long a=sc.nextLong();
			if(a==0) {
				result=0;
				break;
			}
			if(zyou/result>=a) {
				result*=a;
			}else {
				result=-1;
			}
		} int i=0; int i=0; i 0 i<n i n i++ i++ i {
			long a=sc.nextLong();
			if(a==0) {
				result=0;
				break;
			}
			if(zyou/result>=a) {
				result*=a;
			}else {
				result=-1;
			}
		} {
			long a=sc.nextLong();
			if(a==0) {
				result=0;
				break;
			}
			if(zyou/result>=a) {
				result*=a;
			}else {
				result=-1;
			}
		} long a=sc.nextLong(); a sc.nextLong() sc.nextLong sc if(a==0) {
				result=0;
				break;
			} a==0 a 0 {
				result=0;
				break;
			} result=0 result 0 break; if(zyou/result>=a) {
				result*=a;
			}else {
				result=-1;
			} zyou/result>=a zyou/result zyou result a {
				result*=a;
			} result*=a result a {
				result=-1;
			} result=-1 result -1 1 System.out.println(result) System.out.println System.out System System.out result sc.close() sc.close sc String[] args args public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc=new Scanner(System.in);

		int n=sc.nextInt();		//n個の整数
		/*long zyou = (long) Math.pow(10, 18);
		
		long result=0;

		for(int i=0;i<n;i++) {		//n個の整数を計算
			long a=sc.nextLong();
			
			if(i==0) {
				result=a;
			}else {
				result=result*a;
			}
		}
		
		//System.out.println(zyou);
		//System.out.println(result);
		
		if(zyou<result) {
			System.out.println(-1);
		}else {
			System.out.println(result);
		}*/
		
		long result=1;
		long zyou = (long) Math.pow(10, 18);
		
		for(int i=0;i<n;i++) {
			long a=sc.nextLong();
			if(a==0) {
				result=0;
				break;
			}
			if(zyou/result>=a) {
				result*=a;
			}else {
				result=-1;
			}
		}
		System.out.println(result);
		sc.close();
	}
} public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc=new Scanner(System.in);

		int n=sc.nextInt();		//n個の整数
		/*long zyou = (long) Math.pow(10, 18);
		
		long result=0;

		for(int i=0;i<n;i++) {		//n個の整数を計算
			long a=sc.nextLong();
			
			if(i==0) {
				result=a;
			}else {
				result=result*a;
			}
		}
		
		//System.out.println(zyou);
		//System.out.println(result);
		
		if(zyou<result) {
			System.out.println(-1);
		}else {
			System.out.println(result);
		}*/
		
		long result=1;
		long zyou = (long) Math.pow(10, 18);
		
		for(int i=0;i<n;i++) {
			long a=sc.nextLong();
			if(a==0) {
				result=0;
				break;
			}
			if(zyou/result>=a) {
				result*=a;
			}else {
				result=-1;
			}
		}
		System.out.println(result);
		sc.close();
	}
} Main
import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc=new Scanner(System.in);

		int n=sc.nextInt();		//n個の整数
		/*long zyou = (long) Math.pow(10, 18);
		
		long result=0;

		for(int i=0;i<n;i++) {		//n個の整数を計算
			long a=sc.nextLong();
			
			if(i==0) {
				result=a;
			}else {
				result=result*a;
			}
		}
		
		//System.out.println(zyou);
		//System.out.println(result);
		
		if(zyou<result) {
			System.out.println(-1);
		}else {
			System.out.println(result);
		}*/
		
		long result=1;
		long zyou = (long) Math.pow(10, 18);
		
		for(int i=0;i<n;i++) {
			long a=sc.nextLong();
			if(a==0) {
				result=0;
				break;
			}
			if(zyou/result>=a) {
				result*=a;
			}else {
				result=-1;
			}
		}
		System.out.println(result);
		sc.close();
	}
}