import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.*;
import java.math.BigInteger;
public class Main {
	public static void main(String[] args)throws IOException {
		FastReader sc = new FastReader();
		PrintWriter pw = new PrintWriter(System.out);
		int n = sc.nextInt();
		long arr[] = new long[n];
		int zero = 0;
		for (int i = 0; i < n; i++) {
			arr[i] = sc.nextLong();
			if (arr[i] == 0)
				zero++;
		}
		if (zero > 0) {
			System.out.println(0);
			return;
		}
		long prod = 1;
		boolean flag = false;
		for (int i = 0; i < n; i++) {
			if (arr[i] <= ((long)Math.pow(10, 18)) / prod) {
				prod = prod * arr[i];
			} else {
				System.out.println(-1);
				flag = true;
				break;
			}
		}
		if (!flag) {
			System.out.println(prod);
		}



	}
}





class FastReader {
	BufferedReader br;
	StringTokenizer st;

	public FastReader() {
		br = new BufferedReader(new
		                        InputStreamReader(System.in));
	}

	String next() {
		while (st == null || !st.hasMoreElements()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException  e) {
				e.printStackTrace();
			}
		}
		return st.nextToken();
	}

	int nextInt() {
		return Integer.parseInt(next());
	}

	long nextLong() {
		return Long.parseLong(next());
	}

	double nextDouble() {
		return Double.parseDouble(next());
	}

	String nextLine() {
		String str = "";
		try {
			str = br.readLine();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return str;
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io import java.io.PrintWriter; PrintWriter java.io import java.util.*; util.* java import java.math.BigInteger; BigInteger java.math public class Main {
	public static void main(String[] args)throws IOException {
		FastReader sc = new FastReader();
		PrintWriter pw = new PrintWriter(System.out);
		int n = sc.nextInt();
		long arr[] = new long[n];
		int zero = 0;
		for (int i = 0; i < n; i++) {
			arr[i] = sc.nextLong();
			if (arr[i] == 0)
				zero++;
		}
		if (zero > 0) {
			System.out.println(0);
			return;
		}
		long prod = 1;
		boolean flag = false;
		for (int i = 0; i < n; i++) {
			if (arr[i] <= ((long)Math.pow(10, 18)) / prod) {
				prod = prod * arr[i];
			} else {
				System.out.println(-1);
				flag = true;
				break;
			}
		}
		if (!flag) {
			System.out.println(prod);
		}



	}
} Main public static void main(String[] args)throws IOException {
		FastReader sc = new FastReader();
		PrintWriter pw = new PrintWriter(System.out);
		int n = sc.nextInt();
		long arr[] = new long[n];
		int zero = 0;
		for (int i = 0; i < n; i++) {
			arr[i] = sc.nextLong();
			if (arr[i] == 0)
				zero++;
		}
		if (zero > 0) {
			System.out.println(0);
			return;
		}
		long prod = 1;
		boolean flag = false;
		for (int i = 0; i < n; i++) {
			if (arr[i] <= ((long)Math.pow(10, 18)) / prod) {
				prod = prod * arr[i];
			} else {
				System.out.println(-1);
				flag = true;
				break;
			}
		}
		if (!flag) {
			System.out.println(prod);
		}



	} main {
		FastReader sc = new FastReader();
		PrintWriter pw = new PrintWriter(System.out);
		int n = sc.nextInt();
		long arr[] = new long[n];
		int zero = 0;
		for (int i = 0; i < n; i++) {
			arr[i] = sc.nextLong();
			if (arr[i] == 0)
				zero++;
		}
		if (zero > 0) {
			System.out.println(0);
			return;
		}
		long prod = 1;
		boolean flag = false;
		for (int i = 0; i < n; i++) {
			if (arr[i] <= ((long)Math.pow(10, 18)) / prod) {
				prod = prod * arr[i];
			} else {
				System.out.println(-1);
				flag = true;
				break;
			}
		}
		if (!flag) {
			System.out.println(prod);
		}



	} FastReader sc = new FastReader(); sc new FastReader() PrintWriter pw = new PrintWriter(System.out); pw new PrintWriter(System.out) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc long arr[] = new long[n]; arr new long[n] n int zero = 0; zero 0 for (int i = 0; i < n; i++) {
			arr[i] = sc.nextLong();
			if (arr[i] == 0)
				zero++;
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			arr[i] = sc.nextLong();
			if (arr[i] == 0)
				zero++;
		} {
			arr[i] = sc.nextLong();
			if (arr[i] == 0)
				zero++;
		} arr[i] = sc.nextLong() arr[i] arr i sc.nextLong() sc.nextLong sc if (arr[i] == 0)
				zero++; arr[i] == 0 arr[i] arr i 0 zero++ zero if (zero > 0) {
			System.out.println(0);
			return;
		} zero > 0 zero 0 {
			System.out.println(0);
			return;
		} System.out.println(0) System.out.println System.out System System.out 0 return; long prod = 1; prod 1 boolean flag = false; flag false for (int i = 0; i < n; i++) {
			if (arr[i] <= ((long)Math.pow(10, 18)) / prod) {
				prod = prod * arr[i];
			} else {
				System.out.println(-1);
				flag = true;
				break;
			}
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			if (arr[i] <= ((long)Math.pow(10, 18)) / prod) {
				prod = prod * arr[i];
			} else {
				System.out.println(-1);
				flag = true;
				break;
			}
		} {
			if (arr[i] <= ((long)Math.pow(10, 18)) / prod) {
				prod = prod * arr[i];
			} else {
				System.out.println(-1);
				flag = true;
				break;
			}
		} if (arr[i] <= ((long)Math.pow(10, 18)) / prod) {
				prod = prod * arr[i];
			} else {
				System.out.println(-1);
				flag = true;
				break;
			} arr[i] <= ((long)Math.pow(10, 18)) / prod arr[i] arr i ((long)Math.pow(10, 18)) / prod ((long)Math.pow(10, 18)) Math.pow Math 10 18 prod {
				prod = prod * arr[i];
			} prod = prod * arr[i] prod prod * arr[i] prod arr[i] arr i {
				System.out.println(-1);
				flag = true;
				break;
			} System.out.println(-1) System.out.println System.out System System.out -1 1 flag = true flag true break; if (!flag) {
			System.out.println(prod);
		} !flag flag {
			System.out.println(prod);
		} System.out.println(prod) System.out.println System.out System System.out prod String[] args args class FastReader {
	BufferedReader br;
	StringTokenizer st;

	public FastReader() {
		br = new BufferedReader(new
		                        InputStreamReader(System.in));
	}

	String next() {
		while (st == null || !st.hasMoreElements()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException  e) {
				e.printStackTrace();
			}
		}
		return st.nextToken();
	}

	int nextInt() {
		return Integer.parseInt(next());
	}

	long nextLong() {
		return Long.parseLong(next());
	}

	double nextDouble() {
		return Double.parseDouble(next());
	}

	String nextLine() {
		String str = "";
		try {
			str = br.readLine();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return str;
	}
} FastReader BufferedReader br; br StringTokenizer st; st public FastReader() {
		br = new BufferedReader(new
		                        InputStreamReader(System.in));
	} FastReader {
		br = new BufferedReader(new
		                        InputStreamReader(System.in));
	} br = new BufferedReader(new
		                        InputStreamReader(System.in)) br new BufferedReader(new
		                        InputStreamReader(System.in)) String next() {
		while (st == null || !st.hasMoreElements()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException  e) {
				e.printStackTrace();
			}
		}
		return st.nextToken();
	} next {
		while (st == null || !st.hasMoreElements()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException  e) {
				e.printStackTrace();
			}
		}
		return st.nextToken();
	} while (st == null || !st.hasMoreElements()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException  e) {
				e.printStackTrace();
			}
		} st == null || !st.hasMoreElements() st == null st null !st.hasMoreElements() st.hasMoreElements() st.hasMoreElements st {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException  e) {
				e.printStackTrace();
			}
		} try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException  e) {
				e.printStackTrace();
			} catch (IOException  e) {
				e.printStackTrace();
			} IOException  e {
				e.printStackTrace();
			} e.printStackTrace() e.printStackTrace e {
				st = new StringTokenizer(br.readLine());
			} st = new StringTokenizer(br.readLine()) st new StringTokenizer(br.readLine()) return st.nextToken(); st.nextToken() st.nextToken st int nextInt() {
		return Integer.parseInt(next());
	} nextInt {
		return Integer.parseInt(next());
	} return Integer.parseInt(next()); Integer.parseInt(next()) Integer.parseInt Integer next() next long nextLong() {
		return Long.parseLong(next());
	} nextLong {
		return Long.parseLong(next());
	} return Long.parseLong(next()); Long.parseLong(next()) Long.parseLong Long next() next double nextDouble() {
		return Double.parseDouble(next());
	} nextDouble {
		return Double.parseDouble(next());
	} return Double.parseDouble(next()); Double.parseDouble(next()) Double.parseDouble Double next() next String nextLine() {
		String str = "";
		try {
			str = br.readLine();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return str;
	} nextLine {
		String str = "";
		try {
			str = br.readLine();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return str;
	} String str = ""; str "" try {
			str = br.readLine();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} IOException e {
			e.printStackTrace();
		} e.printStackTrace() e.printStackTrace e {
			str = br.readLine();
		} str = br.readLine() str br.readLine() br.readLine br return str; str public class Main {
	public static void main(String[] args)throws IOException {
		FastReader sc = new FastReader();
		PrintWriter pw = new PrintWriter(System.out);
		int n = sc.nextInt();
		long arr[] = new long[n];
		int zero = 0;
		for (int i = 0; i < n; i++) {
			arr[i] = sc.nextLong();
			if (arr[i] == 0)
				zero++;
		}
		if (zero > 0) {
			System.out.println(0);
			return;
		}
		long prod = 1;
		boolean flag = false;
		for (int i = 0; i < n; i++) {
			if (arr[i] <= ((long)Math.pow(10, 18)) / prod) {
				prod = prod * arr[i];
			} else {
				System.out.println(-1);
				flag = true;
				break;
			}
		}
		if (!flag) {
			System.out.println(prod);
		}



	}
} public class Main {
	public static void main(String[] args)throws IOException {
		FastReader sc = new FastReader();
		PrintWriter pw = new PrintWriter(System.out);
		int n = sc.nextInt();
		long arr[] = new long[n];
		int zero = 0;
		for (int i = 0; i < n; i++) {
			arr[i] = sc.nextLong();
			if (arr[i] == 0)
				zero++;
		}
		if (zero > 0) {
			System.out.println(0);
			return;
		}
		long prod = 1;
		boolean flag = false;
		for (int i = 0; i < n; i++) {
			if (arr[i] <= ((long)Math.pow(10, 18)) / prod) {
				prod = prod * arr[i];
			} else {
				System.out.println(-1);
				flag = true;
				break;
			}
		}
		if (!flag) {
			System.out.println(prod);
		}



	}
} Main
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.*;
import java.math.BigInteger;
public class Main {
	public static void main(String[] args)throws IOException {
		FastReader sc = new FastReader();
		PrintWriter pw = new PrintWriter(System.out);
		int n = sc.nextInt();
		long arr[] = new long[n];
		int zero = 0;
		for (int i = 0; i < n; i++) {
			arr[i] = sc.nextLong();
			if (arr[i] == 0)
				zero++;
		}
		if (zero > 0) {
			System.out.println(0);
			return;
		}
		long prod = 1;
		boolean flag = false;
		for (int i = 0; i < n; i++) {
			if (arr[i] <= ((long)Math.pow(10, 18)) / prod) {
				prod = prod * arr[i];
			} else {
				System.out.println(-1);
				flag = true;
				break;
			}
		}
		if (!flag) {
			System.out.println(prod);
		}



	}
}





class FastReader {
	BufferedReader br;
	StringTokenizer st;

	public FastReader() {
		br = new BufferedReader(new
		                        InputStreamReader(System.in));
	}

	String next() {
		while (st == null || !st.hasMoreElements()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException  e) {
				e.printStackTrace();
			}
		}
		return st.nextToken();
	}

	int nextInt() {
		return Integer.parseInt(next());
	}

	long nextLong() {
		return Long.parseLong(next());
	}

	double nextDouble() {
		return Double.parseDouble(next());
	}

	String nextLine() {
		String str = "";
		try {
			str = br.readLine();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return str;
	}
}