#include <bits/stdc++.h>
using namespace std;
void numcreator(vector<int> v, int m) {
  for (int i = 0; i < m; ++i) {
    cout << v[i];
  }
}
int main() {
  int m, s;
  cin >> m >> s;
  int sum = s;
  if (s >= 1 && 9 * m >= s) {
    vector<int> mini(m);
    for (int i = 1; i < 10; ++i) {
      if (i + 9 * (m - 1) >= s) {
        mini[0] = i;
        s -= i;
        break;
      }
    }
    for (int j = 2; j <= m; ++j) {
      for (int i = 0; i < 10; ++i) {
        if (i + 9 * (m - j) >= s) {
          mini[j - 1] = i;
          s -= i;
          break;
        }
      }
    }
    vector<int> maxi(m);
    for (int i = 1; i <= m; ++i) {
      for (int j = 9; j >= 0; --j) {
        if (j <= sum) {
          maxi[i - 1] = j;
          sum -= j;
          break;
        }
      }
    }
    numcreator(mini, m);
    cout << " ";
    numcreator(maxi, m);
  } else {
    if (s == 0 && m == 1) {
      cout << "0"
           << " "
           << "0";
    } else {
      cout << "-1"
           << " "
           << "-1";
    }
  }
}

### Prompt

Please formulate a CPP solution to the following problem:

You have a positive integer m and a non-negative integer s. Your task is to find the smallest and the largest of the numbers that have length m and sum of digits s. The required numbers should be non-negative integers written in the decimal base without leading zeroes.

Input

The single line of the input contains a pair of integers m, s (1 ≤ m ≤ 100, 0 ≤ s ≤ 900) — the length and the sum of the digits of the required numbers.

Output

In the output print the pair of the required non-negative integer numbers — first the minimum possible number, then — the maximum possible number. If no numbers satisfying conditions required exist, print the pair of numbers "-1 -1" (without the quotes).

Examples

Input

2 15


Output

69 96


Input

3 0


Output

-1 -1

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
void numcreator(vector<int> v, int m) {
  for (int i = 0; i < m; ++i) {
    cout << v[i];
  }
}
int main() {
  int m, s;
  cin >> m >> s;
  int sum = s;
  if (s >= 1 && 9 * m >= s) {
    vector<int> mini(m);
    for (int i = 1; i < 10; ++i) {
      if (i + 9 * (m - 1) >= s) {
        mini[0] = i;
        s -= i;
        break;
      }
    }
    for (int j = 2; j <= m; ++j) {
      for (int i = 0; i < 10; ++i) {
        if (i + 9 * (m - j) >= s) {
          mini[j - 1] = i;
          s -= i;
          break;
        }
      }
    }
    vector<int> maxi(m);
    for (int i = 1; i <= m; ++i) {
      for (int j = 9; j >= 0; --j) {
        if (j <= sum) {
          maxi[i - 1] = j;
          sum -= j;
          break;
        }
      }
    }
    numcreator(mini, m);
    cout << " ";
    numcreator(maxi, m);
  } else {
    if (s == 0 && m == 1) {
      cout << "0"
           << " "
           << "0";
    } else {
      cout << "-1"
           << " "
           << "-1";
    }
  }
}

```