#include <stdio.h>

int main(){
	int n;
	scanf("%d", &n);

	// 入力
	static unsigned long long a[112345];
	for(int i = 0; i < n; ++i){
		scanf("%llu", a + i);
	}

	// もし 0 が 1 つでもあったら答えは 0
	for(int i = 0; i < n; ++i){
		if(a[i] == 0){
			puts("0");
			return 0;
		}
	}
	// ここにたどり着く時点で， a に 0 は含まれていない

	unsigned long long ans = 1;
	for(int i = 0; i < n; ++i){

		long double ans_tmp = ans;
		long double a_i_tmp = a[i];

		if(ans_tmp * a_i_tmp > 1e+18l){
			puts("-1");
			return 0;
		}

		ans *= a[i];
	}

	printf("%llu\n", ans);
}
