import java.util.*;
import java.math.RoundingMode;
import java.math.BigDecimal;
 
 
 
public class Main{
	 public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		long[] a = new long[n];
		for(int i = 0; i < n; i++) {
			a[i]= sc.nextLong();
		}
		Arrays.sort(a);
		long max = 1;
		for(int i = 0; i < 18; i++) {
			max*=10;
		}
		BigDecimal max1 = BigDecimal.valueOf(max);
		BigDecimal ans = BigDecimal.valueOf(1);
		
		for(int i = 0; i < n; i++) {
			BigDecimal a1 = BigDecimal.valueOf(a[i]);
			ans = ans.multiply(a1);
			if(ans.compareTo(max1)>0) {
				ans = BigDecimal.valueOf(-1);
				break;
			}
		}
		if(ans.compareTo(max1)>0) {
			ans = BigDecimal.valueOf(-1);
		}
		System.out.println(ans);
	 }
} import java.util.*; util.* java import java.math.RoundingMode; RoundingMode java.math import java.math.BigDecimal; BigDecimal java.math public class Main{
	 public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		long[] a = new long[n];
		for(int i = 0; i < n; i++) {
			a[i]= sc.nextLong();
		}
		Arrays.sort(a);
		long max = 1;
		for(int i = 0; i < 18; i++) {
			max*=10;
		}
		BigDecimal max1 = BigDecimal.valueOf(max);
		BigDecimal ans = BigDecimal.valueOf(1);
		
		for(int i = 0; i < n; i++) {
			BigDecimal a1 = BigDecimal.valueOf(a[i]);
			ans = ans.multiply(a1);
			if(ans.compareTo(max1)>0) {
				ans = BigDecimal.valueOf(-1);
				break;
			}
		}
		if(ans.compareTo(max1)>0) {
			ans = BigDecimal.valueOf(-1);
		}
		System.out.println(ans);
	 }
} Main public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		long[] a = new long[n];
		for(int i = 0; i < n; i++) {
			a[i]= sc.nextLong();
		}
		Arrays.sort(a);
		long max = 1;
		for(int i = 0; i < 18; i++) {
			max*=10;
		}
		BigDecimal max1 = BigDecimal.valueOf(max);
		BigDecimal ans = BigDecimal.valueOf(1);
		
		for(int i = 0; i < n; i++) {
			BigDecimal a1 = BigDecimal.valueOf(a[i]);
			ans = ans.multiply(a1);
			if(ans.compareTo(max1)>0) {
				ans = BigDecimal.valueOf(-1);
				break;
			}
		}
		if(ans.compareTo(max1)>0) {
			ans = BigDecimal.valueOf(-1);
		}
		System.out.println(ans);
	 } main {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		long[] a = new long[n];
		for(int i = 0; i < n; i++) {
			a[i]= sc.nextLong();
		}
		Arrays.sort(a);
		long max = 1;
		for(int i = 0; i < 18; i++) {
			max*=10;
		}
		BigDecimal max1 = BigDecimal.valueOf(max);
		BigDecimal ans = BigDecimal.valueOf(1);
		
		for(int i = 0; i < n; i++) {
			BigDecimal a1 = BigDecimal.valueOf(a[i]);
			ans = ans.multiply(a1);
			if(ans.compareTo(max1)>0) {
				ans = BigDecimal.valueOf(-1);
				break;
			}
		}
		if(ans.compareTo(max1)>0) {
			ans = BigDecimal.valueOf(-1);
		}
		System.out.println(ans);
	 } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc long[] a = new long[n]; a new long[n] n for(int i = 0; i < n; i++) {
			a[i]= sc.nextLong();
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			a[i]= sc.nextLong();
		} {
			a[i]= sc.nextLong();
		} a[i]= sc.nextLong() a[i] a i sc.nextLong() sc.nextLong sc Arrays.sort(a) Arrays.sort Arrays a long max = 1; max 1 for(int i = 0; i < 18; i++) {
			max*=10;
		} int i = 0; int i = 0; i 0 i < 18 i 18 i++ i++ i {
			max*=10;
		} {
			max*=10;
		} max*=10 max 10 BigDecimal max1 = BigDecimal.valueOf(max); max1 BigDecimal.valueOf(max) BigDecimal.valueOf BigDecimal max BigDecimal ans = BigDecimal.valueOf(1); ans BigDecimal.valueOf(1) BigDecimal.valueOf BigDecimal 1 for(int i = 0; i < n; i++) {
			BigDecimal a1 = BigDecimal.valueOf(a[i]);
			ans = ans.multiply(a1);
			if(ans.compareTo(max1)>0) {
				ans = BigDecimal.valueOf(-1);
				break;
			}
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			BigDecimal a1 = BigDecimal.valueOf(a[i]);
			ans = ans.multiply(a1);
			if(ans.compareTo(max1)>0) {
				ans = BigDecimal.valueOf(-1);
				break;
			}
		} {
			BigDecimal a1 = BigDecimal.valueOf(a[i]);
			ans = ans.multiply(a1);
			if(ans.compareTo(max1)>0) {
				ans = BigDecimal.valueOf(-1);
				break;
			}
		} BigDecimal a1 = BigDecimal.valueOf(a[i]); a1 BigDecimal.valueOf(a[i]) BigDecimal.valueOf BigDecimal a[i] a i ans = ans.multiply(a1) ans ans.multiply(a1) ans.multiply ans a1 if(ans.compareTo(max1)>0) {
				ans = BigDecimal.valueOf(-1);
				break;
			} ans.compareTo(max1)>0 ans.compareTo(max1) ans.compareTo ans max1 0 {
				ans = BigDecimal.valueOf(-1);
				break;
			} ans = BigDecimal.valueOf(-1) ans BigDecimal.valueOf(-1) BigDecimal.valueOf BigDecimal -1 1 break; if(ans.compareTo(max1)>0) {
			ans = BigDecimal.valueOf(-1);
		} ans.compareTo(max1)>0 ans.compareTo(max1) ans.compareTo ans max1 0 {
			ans = BigDecimal.valueOf(-1);
		} ans = BigDecimal.valueOf(-1) ans BigDecimal.valueOf(-1) BigDecimal.valueOf BigDecimal -1 1 System.out.println(ans) System.out.println System.out System System.out ans String[] args args public class Main{
	 public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		long[] a = new long[n];
		for(int i = 0; i < n; i++) {
			a[i]= sc.nextLong();
		}
		Arrays.sort(a);
		long max = 1;
		for(int i = 0; i < 18; i++) {
			max*=10;
		}
		BigDecimal max1 = BigDecimal.valueOf(max);
		BigDecimal ans = BigDecimal.valueOf(1);
		
		for(int i = 0; i < n; i++) {
			BigDecimal a1 = BigDecimal.valueOf(a[i]);
			ans = ans.multiply(a1);
			if(ans.compareTo(max1)>0) {
				ans = BigDecimal.valueOf(-1);
				break;
			}
		}
		if(ans.compareTo(max1)>0) {
			ans = BigDecimal.valueOf(-1);
		}
		System.out.println(ans);
	 }
} public class Main{
	 public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		long[] a = new long[n];
		for(int i = 0; i < n; i++) {
			a[i]= sc.nextLong();
		}
		Arrays.sort(a);
		long max = 1;
		for(int i = 0; i < 18; i++) {
			max*=10;
		}
		BigDecimal max1 = BigDecimal.valueOf(max);
		BigDecimal ans = BigDecimal.valueOf(1);
		
		for(int i = 0; i < n; i++) {
			BigDecimal a1 = BigDecimal.valueOf(a[i]);
			ans = ans.multiply(a1);
			if(ans.compareTo(max1)>0) {
				ans = BigDecimal.valueOf(-1);
				break;
			}
		}
		if(ans.compareTo(max1)>0) {
			ans = BigDecimal.valueOf(-1);
		}
		System.out.println(ans);
	 }
} Main
import java.util.*;
import java.math.RoundingMode;
import java.math.BigDecimal;
 
 
 
public class Main{
	 public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		long[] a = new long[n];
		for(int i = 0; i < n; i++) {
			a[i]= sc.nextLong();
		}
		Arrays.sort(a);
		long max = 1;
		for(int i = 0; i < 18; i++) {
			max*=10;
		}
		BigDecimal max1 = BigDecimal.valueOf(max);
		BigDecimal ans = BigDecimal.valueOf(1);
		
		for(int i = 0; i < n; i++) {
			BigDecimal a1 = BigDecimal.valueOf(a[i]);
			ans = ans.multiply(a1);
			if(ans.compareTo(max1)>0) {
				ans = BigDecimal.valueOf(-1);
				break;
			}
		}
		if(ans.compareTo(max1)>0) {
			ans = BigDecimal.valueOf(-1);
		}
		System.out.println(ans);
	 }
}
