#include <bits/stdc++.h>
using namespace std;
int N, K;
int main(int argc, char** argv) {
  scanf("%d%d", &N, &K);
  if ((!K && N != 1) || N * 9 < K)
    puts("-1 -1");
  else {
    int k = K;
    string s, second;
    for (int i = (1); i <= (N); i++) {
      if (K > 9)
        s.push_back('9'), K -= 9;
      else if (i != N && K > 1)
        s.push_back((K - 1) + '0'), K = 1;
      else if (i != N)
        s.push_back('0');
      else
        s.push_back(K + '0');
    }
    K = k;
    for (int i = (1); i <= (N); i++) {
      if (K >= 9)
        second.push_back('9'), K -= 9;
      else if (K)
        second.push_back(K + '0'), K = 0;
      else
        second.push_back('0');
    }
    reverse((s).begin(), (s).end());
    printf("%s %s\n", s.c_str(), second.c_str());
  }
  return 0;
}

### Prompt

Create a solution in CPP for 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;
int N, K;
int main(int argc, char** argv) {
  scanf("%d%d", &N, &K);
  if ((!K && N != 1) || N * 9 < K)
    puts("-1 -1");
  else {
    int k = K;
    string s, second;
    for (int i = (1); i <= (N); i++) {
      if (K > 9)
        s.push_back('9'), K -= 9;
      else if (i != N && K > 1)
        s.push_back((K - 1) + '0'), K = 1;
      else if (i != N)
        s.push_back('0');
      else
        s.push_back(K + '0');
    }
    K = k;
    for (int i = (1); i <= (N); i++) {
      if (K >= 9)
        second.push_back('9'), K -= 9;
      else if (K)
        second.push_back(K + '0'), K = 0;
      else
        second.push_back('0');
    }
    reverse((s).begin(), (s).end());
    printf("%s %s\n", s.c_str(), second.c_str());
  }
  return 0;
}

```