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 CPP):

Solution:
#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, t;
  vector<int> num;
  cin >> n >> t;
  if (n == 1) {
    if (t < 10)
      cout << t;
    else
      cout << -1;
  } else {
    num.push_back(1);
    for (int i = 1; i < n - 1; i++) num.push_back(0);
    switch (t) {
      case 2:
        num.push_back(2);
        break;
      case 3:
        num.push_back(5);
        break;
      case 4: {
        if (n == 2)
          num.push_back(2);
        else
          num.push_back(4);
      } break;
      case 5:
        num.push_back(5);
        break;
      case 6:
        num.push_back(2);
        break;
      case 7: {
        if (n == 2) num.push_back(4);
        if (n == 3) num.push_back(5);
        if (n > 3) {
          if (n % 3 == 0) {
            if ((n / 3) % 2 == 0)
              num.push_back(2);
            else
              num.push_back(5);
          }
          if (n % 3 == 1) {
            if (n % 2 == 0)
              num.push_back(1);
            else
              num.push_back(6);
          }
          if (n % 3 == 2) {
            if (n % 2 == 0)
              num.push_back(4);
            else
              num.push_back(3);
          }
        }
      } break;
      case 8: {
        if (n == 2) num.push_back(6);
        if (n == 3) num.push_back(4);
        if (n > 3) num.push_back(8);
      } break;
      case 9:
        num.push_back(8);
        break;
      case 10:
        num.push_back(0);
        break;
    }
  }
  for (int i = 0; i < num.size(); i++) cout << num[i];
  return 0;
}