#include <bits/stdc++.h>
using namespace std;
void Eraky() {
  ios::sync_with_stdio(0);
  ios_base::sync_with_stdio(0);
  cin.tie(0), cout.tie(0);
}
int m, s;
int main() {
  Eraky();
  cin >> m >> s;
  string ans = "";
  if (9 * m < s || (s == 0 && m > 1)) {
    cout << -1 << " " << -1;
  } else {
    long long total = 0;
    long long tmp = 0;
    if (s == 0) {
      cout << "0"
           << " "
           << "0";
      return 0;
    }
    while (total < s) {
      total++;
      if (total % 9 == 0) {
        ans += '9';
        tmp = total;
      }
    }
    if (ans.size() < m) ans += (s - tmp) + '0';
    while (ans.size() < m) ans += '0';
    string ans2 = ans;
    if (ans[m - 1] == '0') {
      ans[m - 1] = '1';
      for (int i = m - 2; i >= 0; i--) {
        if (ans[i] != '0') {
          ans[i]--;
          break;
        }
      }
    }
    for (int i = m - 1; i >= 0; i--) cout << ans[i];
    cout << " " << ans2;
  }
  return 0;
}

### Prompt

Construct a CPP code solution to the problem outlined:

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 Eraky() {
  ios::sync_with_stdio(0);
  ios_base::sync_with_stdio(0);
  cin.tie(0), cout.tie(0);
}
int m, s;
int main() {
  Eraky();
  cin >> m >> s;
  string ans = "";
  if (9 * m < s || (s == 0 && m > 1)) {
    cout << -1 << " " << -1;
  } else {
    long long total = 0;
    long long tmp = 0;
    if (s == 0) {
      cout << "0"
           << " "
           << "0";
      return 0;
    }
    while (total < s) {
      total++;
      if (total % 9 == 0) {
        ans += '9';
        tmp = total;
      }
    }
    if (ans.size() < m) ans += (s - tmp) + '0';
    while (ans.size() < m) ans += '0';
    string ans2 = ans;
    if (ans[m - 1] == '0') {
      ans[m - 1] = '1';
      for (int i = m - 2; i >= 0; i--) {
        if (ans[i] != '0') {
          ans[i]--;
          break;
        }
      }
    }
    for (int i = m - 1; i >= 0; i--) cout << ans[i];
    cout << " " << ans2;
  }
  return 0;
}

```