import 'dart:io';
import 'dart:async';
import 'dart:convert';
import 'dart:math';

void main() async{
  String strN = stdin.readLineSync();
  var lines = stdin.transform(utf8.decoder).transform(LineSplitter());
  int N = int.parse(strN);
  int A;
  List<int> listA = [];
  //10の18乗
  int limit = pow(10, 18);

  await for(var line in lines) {
    listA = line.split(' ').map((x) => int.parse(x)).toList();
    A = listA[0];
    for(int i = 1; i < N; i++) {
      A *= listA[i];
    }
    break;
  }
  
  //もしAが10の18乗を超えたら
  if(A < limit) {
    print(A);
  } else {
    print(-1);
  }
}

