import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Scanner;
// A - Multiplication 1
class Main{
	public static void main(String[] args){

		Scanner sc = new Scanner(System.in);
		long N= sc.nextInt(); //

		//long ans = sc.nextLong();
		BigInteger ans = BigInteger.valueOf(0);
		long x = 0;
		BigInteger v = BigInteger.valueOf(Long.valueOf("1000000000000000000"));

		boolean exFlg = false;

		ArrayList<Long> lstA;
		lstA = new ArrayList<Long>();

		for (int i=0; i < N; i++) {
			x = sc.nextLong();
			// 0掛けしていれば終わり
			if (x == 0) {
				exFlg = true;
				break;
			}
			lstA.add(x);
		}

		if (!exFlg) {
			ans = BigInteger.valueOf(lstA.get(0));
			for (int i=1; i < N; i++) {

				ans= ans.multiply(BigInteger.valueOf(lstA.get(i)));

				try {
					if (ans.subtract(v).longValueExact() > 0) {
						ans = BigInteger.valueOf(-1);
						break;
					}

				} catch (Exception e) {
					ans = BigInteger.valueOf(-1);
					break;
				}

			}

		}
		System.out.println(ans);
	}
} import java.math.BigInteger; BigInteger java.math import java.util.ArrayList; ArrayList java.util import java.util.Scanner; Scanner java.util class Main{
	public static void main(String[] args){

		Scanner sc = new Scanner(System.in);
		long N= sc.nextInt(); //

		//long ans = sc.nextLong();
		BigInteger ans = BigInteger.valueOf(0);
		long x = 0;
		BigInteger v = BigInteger.valueOf(Long.valueOf("1000000000000000000"));

		boolean exFlg = false;

		ArrayList<Long> lstA;
		lstA = new ArrayList<Long>();

		for (int i=0; i < N; i++) {
			x = sc.nextLong();
			// 0掛けしていれば終わり
			if (x == 0) {
				exFlg = true;
				break;
			}
			lstA.add(x);
		}

		if (!exFlg) {
			ans = BigInteger.valueOf(lstA.get(0));
			for (int i=1; i < N; i++) {

				ans= ans.multiply(BigInteger.valueOf(lstA.get(i)));

				try {
					if (ans.subtract(v).longValueExact() > 0) {
						ans = BigInteger.valueOf(-1);
						break;
					}

				} catch (Exception e) {
					ans = BigInteger.valueOf(-1);
					break;
				}

			}

		}
		System.out.println(ans);
	}
} Main public static void main(String[] args){

		Scanner sc = new Scanner(System.in);
		long N= sc.nextInt(); //

		//long ans = sc.nextLong();
		BigInteger ans = BigInteger.valueOf(0);
		long x = 0;
		BigInteger v = BigInteger.valueOf(Long.valueOf("1000000000000000000"));

		boolean exFlg = false;

		ArrayList<Long> lstA;
		lstA = new ArrayList<Long>();

		for (int i=0; i < N; i++) {
			x = sc.nextLong();
			// 0掛けしていれば終わり
			if (x == 0) {
				exFlg = true;
				break;
			}
			lstA.add(x);
		}

		if (!exFlg) {
			ans = BigInteger.valueOf(lstA.get(0));
			for (int i=1; i < N; i++) {

				ans= ans.multiply(BigInteger.valueOf(lstA.get(i)));

				try {
					if (ans.subtract(v).longValueExact() > 0) {
						ans = BigInteger.valueOf(-1);
						break;
					}

				} catch (Exception e) {
					ans = BigInteger.valueOf(-1);
					break;
				}

			}

		}
		System.out.println(ans);
	} main {

		Scanner sc = new Scanner(System.in);
		long N= sc.nextInt(); //

		//long ans = sc.nextLong();
		BigInteger ans = BigInteger.valueOf(0);
		long x = 0;
		BigInteger v = BigInteger.valueOf(Long.valueOf("1000000000000000000"));

		boolean exFlg = false;

		ArrayList<Long> lstA;
		lstA = new ArrayList<Long>();

		for (int i=0; i < N; i++) {
			x = sc.nextLong();
			// 0掛けしていれば終わり
			if (x == 0) {
				exFlg = true;
				break;
			}
			lstA.add(x);
		}

		if (!exFlg) {
			ans = BigInteger.valueOf(lstA.get(0));
			for (int i=1; i < N; i++) {

				ans= ans.multiply(BigInteger.valueOf(lstA.get(i)));

				try {
					if (ans.subtract(v).longValueExact() > 0) {
						ans = BigInteger.valueOf(-1);
						break;
					}

				} catch (Exception e) {
					ans = BigInteger.valueOf(-1);
					break;
				}

			}

		}
		System.out.println(ans);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) long N= sc.nextInt(); N sc.nextInt() sc.nextInt sc BigInteger ans = BigInteger.valueOf(0); ans BigInteger.valueOf(0) BigInteger.valueOf BigInteger 0 long x = 0; x 0 BigInteger v = BigInteger.valueOf(Long.valueOf("1000000000000000000")); v BigInteger.valueOf(Long.valueOf("1000000000000000000")) BigInteger.valueOf BigInteger Long.valueOf("1000000000000000000") Long.valueOf Long "1000000000000000000" boolean exFlg = false; exFlg false ArrayList<Long> lstA; lstA lstA = new ArrayList<Long>() lstA new ArrayList<Long>() for (int i=0; i < N; i++) {
			x = sc.nextLong();
			// 0掛けしていれば終わり
			if (x == 0) {
				exFlg = true;
				break;
			}
			lstA.add(x);
		} int i=0; int i=0; i 0 i < N i N i++ i++ i {
			x = sc.nextLong();
			// 0掛けしていれば終わり
			if (x == 0) {
				exFlg = true;
				break;
			}
			lstA.add(x);
		} {
			x = sc.nextLong();
			// 0掛けしていれば終わり
			if (x == 0) {
				exFlg = true;
				break;
			}
			lstA.add(x);
		} x = sc.nextLong() x sc.nextLong() sc.nextLong sc if (x == 0) {
				exFlg = true;
				break;
			} x == 0 x 0 {
				exFlg = true;
				break;
			} exFlg = true exFlg true break; lstA.add(x) lstA.add lstA x if (!exFlg) {
			ans = BigInteger.valueOf(lstA.get(0));
			for (int i=1; i < N; i++) {

				ans= ans.multiply(BigInteger.valueOf(lstA.get(i)));

				try {
					if (ans.subtract(v).longValueExact() > 0) {
						ans = BigInteger.valueOf(-1);
						break;
					}

				} catch (Exception e) {
					ans = BigInteger.valueOf(-1);
					break;
				}

			}

		} !exFlg exFlg {
			ans = BigInteger.valueOf(lstA.get(0));
			for (int i=1; i < N; i++) {

				ans= ans.multiply(BigInteger.valueOf(lstA.get(i)));

				try {
					if (ans.subtract(v).longValueExact() > 0) {
						ans = BigInteger.valueOf(-1);
						break;
					}

				} catch (Exception e) {
					ans = BigInteger.valueOf(-1);
					break;
				}

			}

		} ans = BigInteger.valueOf(lstA.get(0)) ans BigInteger.valueOf(lstA.get(0)) BigInteger.valueOf BigInteger lstA.get(0) lstA.get lstA 0 for (int i=1; i < N; i++) {

				ans= ans.multiply(BigInteger.valueOf(lstA.get(i)));

				try {
					if (ans.subtract(v).longValueExact() > 0) {
						ans = BigInteger.valueOf(-1);
						break;
					}

				} catch (Exception e) {
					ans = BigInteger.valueOf(-1);
					break;
				}

			} int i=1; int i=1; i 1 i < N i N i++ i++ i {

				ans= ans.multiply(BigInteger.valueOf(lstA.get(i)));

				try {
					if (ans.subtract(v).longValueExact() > 0) {
						ans = BigInteger.valueOf(-1);
						break;
					}

				} catch (Exception e) {
					ans = BigInteger.valueOf(-1);
					break;
				}

			} {

				ans= ans.multiply(BigInteger.valueOf(lstA.get(i)));

				try {
					if (ans.subtract(v).longValueExact() > 0) {
						ans = BigInteger.valueOf(-1);
						break;
					}

				} catch (Exception e) {
					ans = BigInteger.valueOf(-1);
					break;
				}

			} ans= ans.multiply(BigInteger.valueOf(lstA.get(i))) ans ans.multiply(BigInteger.valueOf(lstA.get(i))) ans.multiply ans BigInteger.valueOf(lstA.get(i)) BigInteger.valueOf BigInteger lstA.get(i) lstA.get lstA i try {
					if (ans.subtract(v).longValueExact() > 0) {
						ans = BigInteger.valueOf(-1);
						break;
					}

				} catch (Exception e) {
					ans = BigInteger.valueOf(-1);
					break;
				} catch (Exception e) {
					ans = BigInteger.valueOf(-1);
					break;
				} Exception e {
					ans = BigInteger.valueOf(-1);
					break;
				} ans = BigInteger.valueOf(-1) ans BigInteger.valueOf(-1) BigInteger.valueOf BigInteger -1 1 break; {
					if (ans.subtract(v).longValueExact() > 0) {
						ans = BigInteger.valueOf(-1);
						break;
					}

				} if (ans.subtract(v).longValueExact() > 0) {
						ans = BigInteger.valueOf(-1);
						break;
					} ans.subtract(v).longValueExact() > 0 ans.subtract(v).longValueExact() ans.subtract(v).longValueExact ans.subtract(v) ans.subtract ans v 0 {
						ans = BigInteger.valueOf(-1);
						break;
					} ans = BigInteger.valueOf(-1) ans BigInteger.valueOf(-1) BigInteger.valueOf BigInteger -1 1 break; System.out.println(ans) System.out.println System.out System System.out ans String[] args args
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Scanner;
// A - Multiplication 1
class Main{
	public static void main(String[] args){

		Scanner sc = new Scanner(System.in);
		long N= sc.nextInt(); //

		//long ans = sc.nextLong();
		BigInteger ans = BigInteger.valueOf(0);
		long x = 0;
		BigInteger v = BigInteger.valueOf(Long.valueOf("1000000000000000000"));

		boolean exFlg = false;

		ArrayList<Long> lstA;
		lstA = new ArrayList<Long>();

		for (int i=0; i < N; i++) {
			x = sc.nextLong();
			// 0掛けしていれば終わり
			if (x == 0) {
				exFlg = true;
				break;
			}
			lstA.add(x);
		}

		if (!exFlg) {
			ans = BigInteger.valueOf(lstA.get(0));
			for (int i=1; i < N; i++) {

				ans= ans.multiply(BigInteger.valueOf(lstA.get(i)));

				try {
					if (ans.subtract(v).longValueExact() > 0) {
						ans = BigInteger.valueOf(-1);
						break;
					}

				} catch (Exception e) {
					ans = BigInteger.valueOf(-1);
					break;
				}

			}

		}
		System.out.println(ans);
	}
}