import java.util.Scanner;


public class Main {

    public static String Y = "Yes";
    public static String N = "No";
    public static long MOD = (long) (Math.pow(10, 9) + 7);
    public static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {

        int n = ni();

        long ans = 1l;

        long limit = (long) Math.pow(10, 18);

        boolean minusflg = false;
        boolean zeroflg = false;
        boolean flg = false;
        boolean over = false;
        long tmpsum = 0;

        for (int i = 0; i < n; i++) {
            long tmp = nl();
            ans *= tmp;

            if (ans < 0l) {
                minusflg = true;
            }

            if (ans > limit) {
                flg = true;
            }

            if (tmp == 0l) {
                zeroflg = true;
                break;
            }

            if (tmpsum > ans) {
                over = true;
            }

            tmpsum = ans;

        }

        if (zeroflg) {
            ans = 0l;
        } else if (minusflg || ans > limit || flg || over) {
            ans = -1l;
        }
        out(ans);

        //      double a = nd();
        //      double b = nd();
        //
        //      out((long) (a * b));

    }

    /*
     * 以下メソッド集
     */
    static int ni() {

        return sc.nextInt();
    }

    static long nl() {

        return sc.nextLong();
    }

    static double nd() {

        return sc.nextDouble();
    }

    static String n() {

        return sc.next();
    }

    static char[] nc() {

        return sc.next().toCharArray();
    }

    static int kaijo(int n) {

        if (n == 0 || n == 1) {
            return 1;
        } else {
            return n * kaijo(n - 1);
        }
    }

    static int fib(int n) {

        return (n == 1 || n == 0) ? n : fib(n - 2) + fib(n - 1);
    }

    static long lcm(long m, long n) {

        return m * n / gcd(m, n);
    }

    static int lcm(int m, int n) {

        return m * n / gcd(m, n);
    }

    static long gcd(long a, long b) {

        return (b == 0) ? a : gcd(b, a % b);
    }

    static int gcd(int a, int b) {

        return (b == 0) ? a : gcd(b, a % b);
    }

    static void out(String info) {

        System.out.println(info);
    }

    static void out(int info) {

        System.out.println(info);
    }

    static void out(double info) {

        System.out.println(info);
    }

    static void out(long info) {

        System.out.println(info);
    }

    static void out(char info) {

        System.out.println(info);
    }

    static void out(Object obj) {

        System.out.println(obj.toString());
    }

    static void outn(String info) {

        System.out.print(info);
    }

    static void outn(int info) {

        System.out.print(info);
    }

    static void outn(double info) {

        System.out.print(info);
    }

    static void outn(long info) {

        System.out.print(info);
    }

    static void outn(char info) {

        System.out.print(info);
    }

    static int max(int a, int b) {

        return Math.max(a, b);
    }

    static long max(long a, long b) {

        return Math.max(a, b);
    }

    static int min(int a, int b) {

        return Math.min(a, b);
    }

    static long min(long a, long b) {

        return Math.min(a, b);
    }
}


class XY {

    int h;
    int c;

    XY(int h, int c) {
        this.h = h;
        this.c = c;
    }
} import java.util.Scanner; Scanner java.util public class Main {

    public static String Y = "Yes";
    public static String N = "No";
    public static long MOD = (long) (Math.pow(10, 9) + 7);
    public static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {

        int n = ni();

        long ans = 1l;

        long limit = (long) Math.pow(10, 18);

        boolean minusflg = false;
        boolean zeroflg = false;
        boolean flg = false;
        boolean over = false;
        long tmpsum = 0;

        for (int i = 0; i < n; i++) {
            long tmp = nl();
            ans *= tmp;

            if (ans < 0l) {
                minusflg = true;
            }

            if (ans > limit) {
                flg = true;
            }

            if (tmp == 0l) {
                zeroflg = true;
                break;
            }

            if (tmpsum > ans) {
                over = true;
            }

            tmpsum = ans;

        }

        if (zeroflg) {
            ans = 0l;
        } else if (minusflg || ans > limit || flg || over) {
            ans = -1l;
        }
        out(ans);

        //      double a = nd();
        //      double b = nd();
        //
        //      out((long) (a * b));

    }

    /*
     * 以下メソッド集
     */
    static int ni() {

        return sc.nextInt();
    }

    static long nl() {

        return sc.nextLong();
    }

    static double nd() {

        return sc.nextDouble();
    }

    static String n() {

        return sc.next();
    }

    static char[] nc() {

        return sc.next().toCharArray();
    }

    static int kaijo(int n) {

        if (n == 0 || n == 1) {
            return 1;
        } else {
            return n * kaijo(n - 1);
        }
    }

    static int fib(int n) {

        return (n == 1 || n == 0) ? n : fib(n - 2) + fib(n - 1);
    }

    static long lcm(long m, long n) {

        return m * n / gcd(m, n);
    }

    static int lcm(int m, int n) {

        return m * n / gcd(m, n);
    }

    static long gcd(long a, long b) {

        return (b == 0) ? a : gcd(b, a % b);
    }

    static int gcd(int a, int b) {

        return (b == 0) ? a : gcd(b, a % b);
    }

    static void out(String info) {

        System.out.println(info);
    }

    static void out(int info) {

        System.out.println(info);
    }

    static void out(double info) {

        System.out.println(info);
    }

    static void out(long info) {

        System.out.println(info);
    }

    static void out(char info) {

        System.out.println(info);
    }

    static void out(Object obj) {

        System.out.println(obj.toString());
    }

    static void outn(String info) {

        System.out.print(info);
    }

    static void outn(int info) {

        System.out.print(info);
    }

    static void outn(double info) {

        System.out.print(info);
    }

    static void outn(long info) {

        System.out.print(info);
    }

    static void outn(char info) {

        System.out.print(info);
    }

    static int max(int a, int b) {

        return Math.max(a, b);
    }

    static long max(long a, long b) {

        return Math.max(a, b);
    }

    static int min(int a, int b) {

        return Math.min(a, b);
    }

    static long min(long a, long b) {

        return Math.min(a, b);
    }
} Main public static String Y = "Yes"; Y "Yes" public static String N = "No"; N "No" public static long MOD = (long) (Math.pow(10, 9) + 7); MOD (long) (Math.pow(10, 9) + 7) Math.pow(10, 9) Math.pow Math 10 9 7 public static Scanner sc = new Scanner(System.in); sc new Scanner(System.in) public static void main(String[] args) {

        int n = ni();

        long ans = 1l;

        long limit = (long) Math.pow(10, 18);

        boolean minusflg = false;
        boolean zeroflg = false;
        boolean flg = false;
        boolean over = false;
        long tmpsum = 0;

        for (int i = 0; i < n; i++) {
            long tmp = nl();
            ans *= tmp;

            if (ans < 0l) {
                minusflg = true;
            }

            if (ans > limit) {
                flg = true;
            }

            if (tmp == 0l) {
                zeroflg = true;
                break;
            }

            if (tmpsum > ans) {
                over = true;
            }

            tmpsum = ans;

        }

        if (zeroflg) {
            ans = 0l;
        } else if (minusflg || ans > limit || flg || over) {
            ans = -1l;
        }
        out(ans);

        //      double a = nd();
        //      double b = nd();
        //
        //      out((long) (a * b));

    } main {

        int n = ni();

        long ans = 1l;

        long limit = (long) Math.pow(10, 18);

        boolean minusflg = false;
        boolean zeroflg = false;
        boolean flg = false;
        boolean over = false;
        long tmpsum = 0;

        for (int i = 0; i < n; i++) {
            long tmp = nl();
            ans *= tmp;

            if (ans < 0l) {
                minusflg = true;
            }

            if (ans > limit) {
                flg = true;
            }

            if (tmp == 0l) {
                zeroflg = true;
                break;
            }

            if (tmpsum > ans) {
                over = true;
            }

            tmpsum = ans;

        }

        if (zeroflg) {
            ans = 0l;
        } else if (minusflg || ans > limit || flg || over) {
            ans = -1l;
        }
        out(ans);

        //      double a = nd();
        //      double b = nd();
        //
        //      out((long) (a * b));

    } int n = ni(); n ni() ni long ans = 1l; ans 1l long limit = (long) Math.pow(10, 18); limit (long) Math.pow(10, 18) Math.pow Math 10 18 boolean minusflg = false; minusflg false boolean zeroflg = false; zeroflg false boolean flg = false; flg false boolean over = false; over false long tmpsum = 0; tmpsum 0 for (int i = 0; i < n; i++) {
            long tmp = nl();
            ans *= tmp;

            if (ans < 0l) {
                minusflg = true;
            }

            if (ans > limit) {
                flg = true;
            }

            if (tmp == 0l) {
                zeroflg = true;
                break;
            }

            if (tmpsum > ans) {
                over = true;
            }

            tmpsum = ans;

        } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
            long tmp = nl();
            ans *= tmp;

            if (ans < 0l) {
                minusflg = true;
            }

            if (ans > limit) {
                flg = true;
            }

            if (tmp == 0l) {
                zeroflg = true;
                break;
            }

            if (tmpsum > ans) {
                over = true;
            }

            tmpsum = ans;

        } {
            long tmp = nl();
            ans *= tmp;

            if (ans < 0l) {
                minusflg = true;
            }

            if (ans > limit) {
                flg = true;
            }

            if (tmp == 0l) {
                zeroflg = true;
                break;
            }

            if (tmpsum > ans) {
                over = true;
            }

            tmpsum = ans;

        } long tmp = nl(); tmp nl() nl ans *= tmp ans tmp if (ans < 0l) {
                minusflg = true;
            } ans < 0l ans 0l {
                minusflg = true;
            } minusflg = true minusflg true if (ans > limit) {
                flg = true;
            } ans > limit ans limit {
                flg = true;
            } flg = true flg true if (tmp == 0l) {
                zeroflg = true;
                break;
            } tmp == 0l tmp 0l {
                zeroflg = true;
                break;
            } zeroflg = true zeroflg true break; if (tmpsum > ans) {
                over = true;
            } tmpsum > ans tmpsum ans {
                over = true;
            } over = true over true tmpsum = ans tmpsum ans if (zeroflg) {
            ans = 0l;
        } else if (minusflg || ans > limit || flg || over) {
            ans = -1l;
        } zeroflg {
            ans = 0l;
        } ans = 0l ans 0l if (minusflg || ans > limit || flg || over) {
            ans = -1l;
        } minusflg || ans > limit || flg || over flg minusflg || ans > limit || flg || over minusflg ans > limit ans limit flg over {
            ans = -1l;
        } ans = -1l ans -1l 1l out(ans) out ans String[] args args /*
     * 以下メソッド集
     */
    static int ni() {

        return sc.nextInt();
    } ni {

        return sc.nextInt();
    } return sc.nextInt(); sc.nextInt() sc.nextInt sc static long nl() {

        return sc.nextLong();
    } nl {

        return sc.nextLong();
    } return sc.nextLong(); sc.nextLong() sc.nextLong sc static double nd() {

        return sc.nextDouble();
    } nd {

        return sc.nextDouble();
    } return sc.nextDouble(); sc.nextDouble() sc.nextDouble sc static String n() {

        return sc.next();
    } n {

        return sc.next();
    } return sc.next(); sc.next() sc.next sc static char[] nc() {

        return sc.next().toCharArray();
    } nc {

        return sc.next().toCharArray();
    } return sc.next().toCharArray(); sc.next().toCharArray() sc.next().toCharArray sc.next() sc.next sc static int kaijo(int n) {

        if (n == 0 || n == 1) {
            return 1;
        } else {
            return n * kaijo(n - 1);
        }
    } kaijo {

        if (n == 0 || n == 1) {
            return 1;
        } else {
            return n * kaijo(n - 1);
        }
    } if (n == 0 || n == 1) {
            return 1;
        } else {
            return n * kaijo(n - 1);
        } n == 0 || n == 1 n == 0 n 0 n == 1 n 1 {
            return 1;
        } return 1; 1 {
            return n * kaijo(n - 1);
        } return n * kaijo(n - 1); n * kaijo(n - 1) n kaijo(n - 1) kaijo n - 1 n 1 int n n static int fib(int n) {

        return (n == 1 || n == 0) ? n : fib(n - 2) + fib(n - 1);
    } fib {

        return (n == 1 || n == 0) ? n : fib(n - 2) + fib(n - 1);
    } return (n == 1 || n == 0) ? n : fib(n - 2) + fib(n - 1); (n == 1 || n == 0) ? n : fib(n - 2) + fib(n - 1) (n == 1 || n == 0) n == 1 n 1 n == 0 n 0 n fib(n - 2) + fib(n - 1) fib(n - 2) fib n - 2 n 2 fib(n - 1) fib n - 1 n 1 int n n static long lcm(long m, long n) {

        return m * n / gcd(m, n);
    } lcm {

        return m * n / gcd(m, n);
    } return m * n / gcd(m, n); m * n / gcd(m, n) m * n m n gcd(m, n) gcd m n long m m long n n static int lcm(int m, int n) {

        return m * n / gcd(m, n);
    } lcm {

        return m * n / gcd(m, n);
    } return m * n / gcd(m, n); m * n / gcd(m, n) m * n m n gcd(m, n) gcd m n int m m int n n static long gcd(long a, long b) {

        return (b == 0) ? a : gcd(b, a % b);
    } gcd {

        return (b == 0) ? a : gcd(b, a % b);
    } return (b == 0) ? a : gcd(b, a % b); (b == 0) ? a : gcd(b, a % b) (b == 0) b 0 a gcd(b, a % b) gcd b a % b a b long a a long b b static int gcd(int a, int b) {

        return (b == 0) ? a : gcd(b, a % b);
    } gcd {

        return (b == 0) ? a : gcd(b, a % b);
    } return (b == 0) ? a : gcd(b, a % b); (b == 0) ? a : gcd(b, a % b) (b == 0) b 0 a gcd(b, a % b) gcd b a % b a b int a a int b b static void out(String info) {

        System.out.println(info);
    } out {

        System.out.println(info);
    } System.out.println(info) System.out.println System.out System System.out info String info info static void out(int info) {

        System.out.println(info);
    } out {

        System.out.println(info);
    } System.out.println(info) System.out.println System.out System System.out info int info info static void out(double info) {

        System.out.println(info);
    } out {

        System.out.println(info);
    } System.out.println(info) System.out.println System.out System System.out info double info info static void out(long info) {

        System.out.println(info);
    } out {

        System.out.println(info);
    } System.out.println(info) System.out.println System.out System System.out info long info info static void out(char info) {

        System.out.println(info);
    } out {

        System.out.println(info);
    } System.out.println(info) System.out.println System.out System System.out info char info info static void out(Object obj) {

        System.out.println(obj.toString());
    } out {

        System.out.println(obj.toString());
    } System.out.println(obj.toString()) System.out.println System.out System System.out obj.toString() obj.toString obj Object obj obj static void outn(String info) {

        System.out.print(info);
    } outn {

        System.out.print(info);
    } System.out.print(info) System.out.print System.out System System.out info String info info static void outn(int info) {

        System.out.print(info);
    } outn {

        System.out.print(info);
    } System.out.print(info) System.out.print System.out System System.out info int info info static void outn(double info) {

        System.out.print(info);
    } outn {

        System.out.print(info);
    } System.out.print(info) System.out.print System.out System System.out info double info info static void outn(long info) {

        System.out.print(info);
    } outn {

        System.out.print(info);
    } System.out.print(info) System.out.print System.out System System.out info long info info static void outn(char info) {

        System.out.print(info);
    } outn {

        System.out.print(info);
    } System.out.print(info) System.out.print System.out System System.out info char info info static int max(int a, int b) {

        return Math.max(a, b);
    } max {

        return Math.max(a, b);
    } return Math.max(a, b); Math.max(a, b) Math.max Math a b int a a int b b static long max(long a, long b) {

        return Math.max(a, b);
    } max {

        return Math.max(a, b);
    } return Math.max(a, b); Math.max(a, b) Math.max Math a b long a a long b b static int min(int a, int b) {

        return Math.min(a, b);
    } min {

        return Math.min(a, b);
    } return Math.min(a, b); Math.min(a, b) Math.min Math a b int a a int b b static long min(long a, long b) {

        return Math.min(a, b);
    } min {

        return Math.min(a, b);
    } return Math.min(a, b); Math.min(a, b) Math.min Math a b long a a long b b class XY {

    int h;
    int c;

    XY(int h, int c) {
        this.h = h;
        this.c = c;
    }
} XY int h; h int c; c XY(int h, int c) {
        this.h = h;
        this.c = c;
    } XY {
        this.h = h;
        this.c = c;
    } this.h = h this.h this this.h h this.c = c this.c this this.c c int h h int c c public class Main {

    public static String Y = "Yes";
    public static String N = "No";
    public static long MOD = (long) (Math.pow(10, 9) + 7);
    public static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {

        int n = ni();

        long ans = 1l;

        long limit = (long) Math.pow(10, 18);

        boolean minusflg = false;
        boolean zeroflg = false;
        boolean flg = false;
        boolean over = false;
        long tmpsum = 0;

        for (int i = 0; i < n; i++) {
            long tmp = nl();
            ans *= tmp;

            if (ans < 0l) {
                minusflg = true;
            }

            if (ans > limit) {
                flg = true;
            }

            if (tmp == 0l) {
                zeroflg = true;
                break;
            }

            if (tmpsum > ans) {
                over = true;
            }

            tmpsum = ans;

        }

        if (zeroflg) {
            ans = 0l;
        } else if (minusflg || ans > limit || flg || over) {
            ans = -1l;
        }
        out(ans);

        //      double a = nd();
        //      double b = nd();
        //
        //      out((long) (a * b));

    }

    /*
     * 以下メソッド集
     */
    static int ni() {

        return sc.nextInt();
    }

    static long nl() {

        return sc.nextLong();
    }

    static double nd() {

        return sc.nextDouble();
    }

    static String n() {

        return sc.next();
    }

    static char[] nc() {

        return sc.next().toCharArray();
    }

    static int kaijo(int n) {

        if (n == 0 || n == 1) {
            return 1;
        } else {
            return n * kaijo(n - 1);
        }
    }

    static int fib(int n) {

        return (n == 1 || n == 0) ? n : fib(n - 2) + fib(n - 1);
    }

    static long lcm(long m, long n) {

        return m * n / gcd(m, n);
    }

    static int lcm(int m, int n) {

        return m * n / gcd(m, n);
    }

    static long gcd(long a, long b) {

        return (b == 0) ? a : gcd(b, a % b);
    }

    static int gcd(int a, int b) {

        return (b == 0) ? a : gcd(b, a % b);
    }

    static void out(String info) {

        System.out.println(info);
    }

    static void out(int info) {

        System.out.println(info);
    }

    static void out(double info) {

        System.out.println(info);
    }

    static void out(long info) {

        System.out.println(info);
    }

    static void out(char info) {

        System.out.println(info);
    }

    static void out(Object obj) {

        System.out.println(obj.toString());
    }

    static void outn(String info) {

        System.out.print(info);
    }

    static void outn(int info) {

        System.out.print(info);
    }

    static void outn(double info) {

        System.out.print(info);
    }

    static void outn(long info) {

        System.out.print(info);
    }

    static void outn(char info) {

        System.out.print(info);
    }

    static int max(int a, int b) {

        return Math.max(a, b);
    }

    static long max(long a, long b) {

        return Math.max(a, b);
    }

    static int min(int a, int b) {

        return Math.min(a, b);
    }

    static long min(long a, long b) {

        return Math.min(a, b);
    }
} public class Main {

    public static String Y = "Yes";
    public static String N = "No";
    public static long MOD = (long) (Math.pow(10, 9) + 7);
    public static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {

        int n = ni();

        long ans = 1l;

        long limit = (long) Math.pow(10, 18);

        boolean minusflg = false;
        boolean zeroflg = false;
        boolean flg = false;
        boolean over = false;
        long tmpsum = 0;

        for (int i = 0; i < n; i++) {
            long tmp = nl();
            ans *= tmp;

            if (ans < 0l) {
                minusflg = true;
            }

            if (ans > limit) {
                flg = true;
            }

            if (tmp == 0l) {
                zeroflg = true;
                break;
            }

            if (tmpsum > ans) {
                over = true;
            }

            tmpsum = ans;

        }

        if (zeroflg) {
            ans = 0l;
        } else if (minusflg || ans > limit || flg || over) {
            ans = -1l;
        }
        out(ans);

        //      double a = nd();
        //      double b = nd();
        //
        //      out((long) (a * b));

    }

    /*
     * 以下メソッド集
     */
    static int ni() {

        return sc.nextInt();
    }

    static long nl() {

        return sc.nextLong();
    }

    static double nd() {

        return sc.nextDouble();
    }

    static String n() {

        return sc.next();
    }

    static char[] nc() {

        return sc.next().toCharArray();
    }

    static int kaijo(int n) {

        if (n == 0 || n == 1) {
            return 1;
        } else {
            return n * kaijo(n - 1);
        }
    }

    static int fib(int n) {

        return (n == 1 || n == 0) ? n : fib(n - 2) + fib(n - 1);
    }

    static long lcm(long m, long n) {

        return m * n / gcd(m, n);
    }

    static int lcm(int m, int n) {

        return m * n / gcd(m, n);
    }

    static long gcd(long a, long b) {

        return (b == 0) ? a : gcd(b, a % b);
    }

    static int gcd(int a, int b) {

        return (b == 0) ? a : gcd(b, a % b);
    }

    static void out(String info) {

        System.out.println(info);
    }

    static void out(int info) {

        System.out.println(info);
    }

    static void out(double info) {

        System.out.println(info);
    }

    static void out(long info) {

        System.out.println(info);
    }

    static void out(char info) {

        System.out.println(info);
    }

    static void out(Object obj) {

        System.out.println(obj.toString());
    }

    static void outn(String info) {

        System.out.print(info);
    }

    static void outn(int info) {

        System.out.print(info);
    }

    static void outn(double info) {

        System.out.print(info);
    }

    static void outn(long info) {

        System.out.print(info);
    }

    static void outn(char info) {

        System.out.print(info);
    }

    static int max(int a, int b) {

        return Math.max(a, b);
    }

    static long max(long a, long b) {

        return Math.max(a, b);
    }

    static int min(int a, int b) {

        return Math.min(a, b);
    }

    static long min(long a, long b) {

        return Math.min(a, b);
    }
} Main
import java.util.Scanner;


public class Main {

    public static String Y = "Yes";
    public static String N = "No";
    public static long MOD = (long) (Math.pow(10, 9) + 7);
    public static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {

        int n = ni();

        long ans = 1l;

        long limit = (long) Math.pow(10, 18);

        boolean minusflg = false;
        boolean zeroflg = false;
        boolean flg = false;
        boolean over = false;
        long tmpsum = 0;

        for (int i = 0; i < n; i++) {
            long tmp = nl();
            ans *= tmp;

            if (ans < 0l) {
                minusflg = true;
            }

            if (ans > limit) {
                flg = true;
            }

            if (tmp == 0l) {
                zeroflg = true;
                break;
            }

            if (tmpsum > ans) {
                over = true;
            }

            tmpsum = ans;

        }

        if (zeroflg) {
            ans = 0l;
        } else if (minusflg || ans > limit || flg || over) {
            ans = -1l;
        }
        out(ans);

        //      double a = nd();
        //      double b = nd();
        //
        //      out((long) (a * b));

    }

    /*
     * 以下メソッド集
     */
    static int ni() {

        return sc.nextInt();
    }

    static long nl() {

        return sc.nextLong();
    }

    static double nd() {

        return sc.nextDouble();
    }

    static String n() {

        return sc.next();
    }

    static char[] nc() {

        return sc.next().toCharArray();
    }

    static int kaijo(int n) {

        if (n == 0 || n == 1) {
            return 1;
        } else {
            return n * kaijo(n - 1);
        }
    }

    static int fib(int n) {

        return (n == 1 || n == 0) ? n : fib(n - 2) + fib(n - 1);
    }

    static long lcm(long m, long n) {

        return m * n / gcd(m, n);
    }

    static int lcm(int m, int n) {

        return m * n / gcd(m, n);
    }

    static long gcd(long a, long b) {

        return (b == 0) ? a : gcd(b, a % b);
    }

    static int gcd(int a, int b) {

        return (b == 0) ? a : gcd(b, a % b);
    }

    static void out(String info) {

        System.out.println(info);
    }

    static void out(int info) {

        System.out.println(info);
    }

    static void out(double info) {

        System.out.println(info);
    }

    static void out(long info) {

        System.out.println(info);
    }

    static void out(char info) {

        System.out.println(info);
    }

    static void out(Object obj) {

        System.out.println(obj.toString());
    }

    static void outn(String info) {

        System.out.print(info);
    }

    static void outn(int info) {

        System.out.print(info);
    }

    static void outn(double info) {

        System.out.print(info);
    }

    static void outn(long info) {

        System.out.print(info);
    }

    static void outn(char info) {

        System.out.print(info);
    }

    static int max(int a, int b) {

        return Math.max(a, b);
    }

    static long max(long a, long b) {

        return Math.max(a, b);
    }

    static int min(int a, int b) {

        return Math.min(a, b);
    }

    static long min(long a, long b) {

        return Math.min(a, b);
    }
}


class XY {

    int h;
    int c;

    XY(int h, int c) {
        this.h = h;
        this.c = c;
    }
}