import java.util.*;

class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        // a[i]の取得
        long[] a = new long[n];
        for(int i=0; i<n; i++){
            a[i] = sc.nextLong();
            // ゼロがあった場合は，0を返して終了
            if(a[i]==0){
                System.out.println(0);
                return;
            }
        }
        // ゼロがない場合，回答を求める
        long ans = 1L;
        long upper = 1000000000000000000L;
        for(int j=0; j<n; j++){
            // 10^18を超えたら-1にしてループを抜ける
            if(a[j] > upper/ans){
                ans = -1;
                break;
            }
            // 乗算を行う
            ans *= a[j];
        }
        System.out.println(ans);
    }
} import java.util.*; util.* java class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        // a[i]の取得
        long[] a = new long[n];
        for(int i=0; i<n; i++){
            a[i] = sc.nextLong();
            // ゼロがあった場合は，0を返して終了
            if(a[i]==0){
                System.out.println(0);
                return;
            }
        }
        // ゼロがない場合，回答を求める
        long ans = 1L;
        long upper = 1000000000000000000L;
        for(int j=0; j<n; j++){
            // 10^18を超えたら-1にしてループを抜ける
            if(a[j] > upper/ans){
                ans = -1;
                break;
            }
            // 乗算を行う
            ans *= a[j];
        }
        System.out.println(ans);
    }
} Main public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        // a[i]の取得
        long[] a = new long[n];
        for(int i=0; i<n; i++){
            a[i] = sc.nextLong();
            // ゼロがあった場合は，0を返して終了
            if(a[i]==0){
                System.out.println(0);
                return;
            }
        }
        // ゼロがない場合，回答を求める
        long ans = 1L;
        long upper = 1000000000000000000L;
        for(int j=0; j<n; j++){
            // 10^18を超えたら-1にしてループを抜ける
            if(a[j] > upper/ans){
                ans = -1;
                break;
            }
            // 乗算を行う
            ans *= a[j];
        }
        System.out.println(ans);
    } main {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        // a[i]の取得
        long[] a = new long[n];
        for(int i=0; i<n; i++){
            a[i] = sc.nextLong();
            // ゼロがあった場合は，0を返して終了
            if(a[i]==0){
                System.out.println(0);
                return;
            }
        }
        // ゼロがない場合，回答を求める
        long ans = 1L;
        long upper = 1000000000000000000L;
        for(int j=0; j<n; j++){
            // 10^18を超えたら-1にしてループを抜ける
            if(a[j] > upper/ans){
                ans = -1;
                break;
            }
            // 乗算を行う
            ans *= a[j];
        }
        System.out.println(ans);
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc long[] a = new long[n]; a new long[n] n for(int i=0; i<n; i++){
            a[i] = sc.nextLong();
            // ゼロがあった場合は，0を返して終了
            if(a[i]==0){
                System.out.println(0);
                return;
            }
        } int i=0; int i=0; i 0 i<n i n i++ i++ i {
            a[i] = sc.nextLong();
            // ゼロがあった場合は，0を返して終了
            if(a[i]==0){
                System.out.println(0);
                return;
            }
        } {
            a[i] = sc.nextLong();
            // ゼロがあった場合は，0を返して終了
            if(a[i]==0){
                System.out.println(0);
                return;
            }
        } a[i] = sc.nextLong() a[i] a i sc.nextLong() sc.nextLong sc if(a[i]==0){
                System.out.println(0);
                return;
            } a[i]==0 a[i] a i 0 {
                System.out.println(0);
                return;
            } System.out.println(0) System.out.println System.out System System.out 0 return; long ans = 1L; ans 1L long upper = 1000000000000000000L; upper 1000000000000000000L for(int j=0; j<n; j++){
            // 10^18を超えたら-1にしてループを抜ける
            if(a[j] > upper/ans){
                ans = -1;
                break;
            }
            // 乗算を行う
            ans *= a[j];
        } int j=0; int j=0; j 0 j<n j n j++ j++ j {
            // 10^18を超えたら-1にしてループを抜ける
            if(a[j] > upper/ans){
                ans = -1;
                break;
            }
            // 乗算を行う
            ans *= a[j];
        } {
            // 10^18を超えたら-1にしてループを抜ける
            if(a[j] > upper/ans){
                ans = -1;
                break;
            }
            // 乗算を行う
            ans *= a[j];
        } if(a[j] > upper/ans){
                ans = -1;
                break;
            } a[j] > upper/ans a[j] a j upper/ans upper ans {
                ans = -1;
                break;
            } ans = -1 ans -1 1 break; ans *= a[j] ans a[j] a j System.out.println(ans) System.out.println System.out System System.out ans String[] args args
import java.util.*;

class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        // a[i]の取得
        long[] a = new long[n];
        for(int i=0; i<n; i++){
            a[i] = sc.nextLong();
            // ゼロがあった場合は，0を返して終了
            if(a[i]==0){
                System.out.println(0);
                return;
            }
        }
        // ゼロがない場合，回答を求める
        long ans = 1L;
        long upper = 1000000000000000000L;
        for(int j=0; j<n; j++){
            // 10^18を超えたら-1にしてループを抜ける
            if(a[j] > upper/ans){
                ans = -1;
                break;
            }
            // 乗算を行う
            ans *= a[j];
        }
        System.out.println(ans);
    }
}