#include <stdio.h>

#define rep(i, n) for(int i=0; i<(n); ++i)
#define MAX 9223372036854775807
#define ARR_MAX 288199999999999999

void debug(char * string, long long int target) {
  printf("%s", string);
  printf("%lld", target);
  printf("%c", '\n');
}

int main() {
  int N;

  scanf("%d", &N);

  if (N < 2) {
    return 1;
  }
  if (N > 100000) {
    return 1;
  }

  long long int ans = 1;

  long long int A[N];

  rep(i, N) {
    scanf("%lld", &A[i]);
    if (A[i] == 0) {
      printf("%d\n", 0);
      return 0;
    }
  }

  rep(i, N) {
    // debug("A[i]: ", A[i]);
    // debug("10e18 / ans: ", 10e18 / ans);
    if (A[i] > 10e18 / ans) {
      printf("-1\n");
      return 0;
    }
    ans *= A[i];
  }

  printf("%lld\n", ans);
  return 0;
}
