Problem: Olesya loves numbers consisting of n digits, and Rodion only likes numbers that are divisible by t. Find some number that satisfies both of them.

Your task is: given the n and t print an integer strictly larger than zero consisting of n digits that is divisible by t. If such number doesn't exist, print  - 1.

Input

The single line contains two numbers, n and t (1 ≤ n ≤ 100, 2 ≤ t ≤ 10) — the length of the number and the number it should be divisible by.

Output

Print one such positive number without leading zeroes, — the answer to the problem, or  - 1, if such number doesn't exist. If there are multiple possible answers, you are allowed to print any of them.

Examples

Input

3 2


Output

712

Solution (in JAVA):

Solution:
import java.io.*;
import static java.lang.Math.*;
import java.math.BigInteger;

public class _584A {

    static PrintWriter out = new PrintWriter(System.out);
    static Scan in = new Scan();

    public static void main(String[] args) throws IOException {
        int n = in.nextInt(), t = in.nextInt(), k = n - 1;
        String s = "1";
        while (k-- != 0) s += '0';
        BigInteger big = new BigInteger(s);
        BigInteger mod = new BigInteger("" + t);
        while (big.mod(mod).compareTo(BigInteger.ZERO) != 0) {
            big = big.add(BigInteger.ONE);
        }

        String ans = big.toString();
        out.println(ans.length() > n ? "-1" : ans);

        out.flush();
    }
}
class Scan {

    public java.io.InputStream stream = System.in;
    private final static byte EOF = -1, NL = '\n', D = '-', SPC = ' ', buffer[] = new byte[0xFFFF];
    private char cBuff[] = new char[0xFF];
    public int $index, $readCount, itr;

    private void inc() { cBuff = java.util.Arrays.copyOf(cBuff, cBuff.length << 1); }
    
    private boolean readLINE() throws IOException {
        if ($readCount == EOF) return false;
        for (itr = 0;;) {
            while ($index < $readCount)
                if (buffer[$index] != NL) {
                    if (itr == cBuff.length) inc();
                    cBuff[itr++] = (char)buffer[$index++];
                } else {
                    $index++;
                    return true;
                }
            $index = 0; $readCount = stream.read(buffer);
            if ($readCount == EOF) return true;
        }
    }
    
    private boolean readPRT() throws IOException {
        if ($readCount == EOF) return false;
        T: for (;;) {
            while ($index < $readCount)
                if (buffer[$index] > SPC) break T;
                else $index++;
            $index = 0; $readCount = stream.read(buffer);
            if ($readCount == EOF) return false;
        }
        for (itr = 0;;) {
            while ($index < $readCount)
                if (buffer[$index] > SPC) {
                    if (itr == cBuff.length) inc();
                    cBuff[itr++] = (char)buffer[$index++];
                } else return true;
            $index = 0; $readCount = stream.read(buffer);
            if ($readCount == EOF) return true;
        }
    }

    public int nextInt() throws IOException {
        if (!readPRT())
            throw new IOException();
        else {
            int v = 0, i = 0; boolean neg;
            if (cBuff[i] == D) {neg = true; i++;} else neg = false;
            while (i < itr) v = (v << 3) + (v << 1) + cBuff[i++] - '0';
            return neg ? -v : v;
        }
    }

    public long nextLong() throws IOException {
        if (!readPRT())
            throw new IOException();
        else {
            long v = 0; int i = 0; boolean neg;
            if (cBuff[i] == D) {neg = true; i++;} else neg = false;
            while (i < itr) v = (v << 3L) + (v << 1L) + cBuff[i++] - '0';
            return neg ? -v : v;
        }
    }

    public char[] buffer() throws IOException
    { return readPRT() ? cBuff : null; }

    public String next() throws IOException
    { return readPRT() ? new String(cBuff, 0, itr) : null; }

    public char[] nextArr() throws IOException
    { return readPRT() ? java.util.Arrays.copyOf(cBuff, itr) : null; }

    public String nextLine() throws IOException
    { return readLINE() ? new String(cBuff, 0, itr) : null; }

    public char[] nextLineArr() throws IOException
    { return readLINE() ? java.util.Arrays.copyOf(cBuff, itr) : null; }

    public float nextFloat() throws IOException
    { return Float.parseFloat(next()); }

    public double nextDouble() throws IOException
    { return Double.parseDouble(next()); }
}