#include<iostream>
#include<cmath>
#include<algorithm>
#include<iomanip>
#include<climits>
#include<numeric>
#include<set>
#include<sstream>
#include<map>
#include<vector>
#include<string>
using namespace std;
vector<string> split(string haystack, string needle) {
vector<string> result;
int start_pos = 0;
int found_pos = haystack.find(needle, start_pos);
while (found_pos != string::npos) {
int count = found_pos - start_pos;
string token = haystack.substr(start_pos, count);
if (!token.empty()) {
result.push_back(token);
}
start_pos = found_pos + needle.length();
found_pos = haystack.find(needle, start_pos);
}
string token = haystack.substr(start_pos, haystack.length()-start_pos);
if (!token.empty()) {
result.push_back(token);
}
return result;
}
string nameConvert(const string& name) {
const string DELIMITER = " ";
stringstream builder;
auto parts = split(name, DELIMITER);
for (auto part : parts) {
part[0] = toupper(part[0]);
transform(part.begin()+1, part.end(),part.begin()+1, ::tolower);
builder << part << DELIMITER;
}
return builder.str();
}
string dateConvert(const string& date) {
const string DELIMITER = "/";
stringstream builder;
auto parts = split(date, DELIMITER);
builder << setw(2) << setfill('0') << parts[0] << DELIMITER;
builder << setw(2) << setfill('0') << parts[1] << DELIMITER;
builder << parts[2];
return builder.str();
}
string maxValue(int m, int s) {
string result = "";
while (m--) {
if (s > 9) {
result = result + '9';
s = s - 9;
}
else {
result = result + to_string(s);
s = 0;
}
}
return result;
}
string minValue(int m, int s) {
string result = "";
s--;
while (m--) {
if (s > 9) {
result = result + '9';
s = s - 9;
}
else {
result = to_string(s) + result;
s = 0;
}
}
result[0]++;
return result;
}
int main() {
int m, s;cin >> m >> s;
if (((m == 1) && (s >9)) || (9*m<s) ) {
cout << "NOT FOUND";
}
else if (m == 1 && s == 0) {
cout << 0 << endl << 0;
}
else {
cout << minValue(m, s) << " " << maxValue(m, s);
}
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGNtYXRoPgojaW5jbHVkZTxhbGdvcml0aG0+CiNpbmNsdWRlPGlvbWFuaXA+CiNpbmNsdWRlPGNsaW1pdHM+CiNpbmNsdWRlPG51bWVyaWM+CiNpbmNsdWRlPHNldD4KI2luY2x1ZGU8c3N0cmVhbT4KI2luY2x1ZGU8bWFwPgojaW5jbHVkZTx2ZWN0b3I+CiNpbmNsdWRlPHN0cmluZz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2ZWN0b3I8c3RyaW5nPiBzcGxpdChzdHJpbmcgaGF5c3RhY2ssIHN0cmluZyBuZWVkbGUpIHsKCXZlY3RvcjxzdHJpbmc+IHJlc3VsdDsKCWludCBzdGFydF9wb3MgPSAwOwoJaW50IGZvdW5kX3BvcyA9IGhheXN0YWNrLmZpbmQobmVlZGxlLCBzdGFydF9wb3MpOwoJd2hpbGUgKGZvdW5kX3BvcyAhPSBzdHJpbmc6Om5wb3MpIHsKCQlpbnQgY291bnQgPSBmb3VuZF9wb3MgLSBzdGFydF9wb3M7CgkJc3RyaW5nIHRva2VuID0gaGF5c3RhY2suc3Vic3RyKHN0YXJ0X3BvcywgY291bnQpOwoJCWlmICghdG9rZW4uZW1wdHkoKSkgewoJCQlyZXN1bHQucHVzaF9iYWNrKHRva2VuKTsKCQl9CgkJc3RhcnRfcG9zID0gZm91bmRfcG9zICsgbmVlZGxlLmxlbmd0aCgpOwoJCWZvdW5kX3BvcyA9IGhheXN0YWNrLmZpbmQobmVlZGxlLCBzdGFydF9wb3MpOwoJfQoJc3RyaW5nIHRva2VuID0gaGF5c3RhY2suc3Vic3RyKHN0YXJ0X3BvcywgaGF5c3RhY2subGVuZ3RoKCktc3RhcnRfcG9zKTsKCWlmICghdG9rZW4uZW1wdHkoKSkgewoJCXJlc3VsdC5wdXNoX2JhY2sodG9rZW4pOwoJfQoJcmV0dXJuIHJlc3VsdDsKfQpzdHJpbmcgbmFtZUNvbnZlcnQoY29uc3Qgc3RyaW5nJiBuYW1lKSB7Cgljb25zdCBzdHJpbmcgREVMSU1JVEVSID0gIiAiOwoJc3RyaW5nc3RyZWFtIGJ1aWxkZXI7CglhdXRvIHBhcnRzID0gc3BsaXQobmFtZSwgREVMSU1JVEVSKTsKCWZvciAoYXV0byBwYXJ0IDogcGFydHMpIHsKCQlwYXJ0WzBdID0gdG91cHBlcihwYXJ0WzBdKTsKCQl0cmFuc2Zvcm0ocGFydC5iZWdpbigpKzEsIHBhcnQuZW5kKCkscGFydC5iZWdpbigpKzEsIDo6dG9sb3dlcik7CgkJYnVpbGRlciA8PCBwYXJ0IDw8IERFTElNSVRFUjsKCX0KCXJldHVybiBidWlsZGVyLnN0cigpOwp9CnN0cmluZyBkYXRlQ29udmVydChjb25zdCBzdHJpbmcmIGRhdGUpIHsKCWNvbnN0IHN0cmluZyBERUxJTUlURVIgPSAiLyI7CglzdHJpbmdzdHJlYW0gYnVpbGRlcjsKCWF1dG8gcGFydHMgPSBzcGxpdChkYXRlLCBERUxJTUlURVIpOwoJYnVpbGRlciA8PCBzZXR3KDIpIDw8IHNldGZpbGwoJzAnKSA8PCBwYXJ0c1swXSA8PCBERUxJTUlURVI7CglidWlsZGVyIDw8IHNldHcoMikgPDwgc2V0ZmlsbCgnMCcpIDw8IHBhcnRzWzFdIDw8IERFTElNSVRFUjsKCWJ1aWxkZXIgPDwgcGFydHNbMl07CglyZXR1cm4gYnVpbGRlci5zdHIoKTsKCn0KCgpzdHJpbmcgbWF4VmFsdWUoaW50IG0sIGludCBzKSB7CglzdHJpbmcgcmVzdWx0ID0gIiI7Cgl3aGlsZSAobS0tKSB7CgkJaWYgKHMgPiA5KSB7CgkJCXJlc3VsdCA9IHJlc3VsdCArICc5JzsKCQkJcyA9IHMgLSA5OwoJCX0KCQllbHNlIHsKCQkJcmVzdWx0ID0gcmVzdWx0ICsgdG9fc3RyaW5nKHMpOwoJCQlzID0gMDsKCQl9Cgl9CglyZXR1cm4gcmVzdWx0Owp9CgpzdHJpbmcgbWluVmFsdWUoaW50IG0sIGludCBzKSB7CglzdHJpbmcgcmVzdWx0ID0gIiI7CglzLS07Cgl3aGlsZSAobS0tKSB7CgkJaWYgKHMgPiA5KSB7CgkJCXJlc3VsdCA9IHJlc3VsdCArICc5JzsKCQkJcyA9IHMgLSA5OwoJCX0KCQllbHNlIHsKCQkJcmVzdWx0ID0gdG9fc3RyaW5nKHMpICsgcmVzdWx0OwoJCQlzID0gMDsKCQl9Cgl9CglyZXN1bHRbMF0rKzsKCXJldHVybiByZXN1bHQ7Cgp9CmludCBtYWluKCkgewoJaW50IG0sIHM7Y2luID4+IG0gPj4gczsKCWlmICgoKG0gPT0gMSkgJiYgKHMgPjkpKSB8fCAoOSptPHMpICkgewoJCWNvdXQgPDwgIk5PVCBGT1VORCI7CgoJfQoJZWxzZSBpZiAobSA9PSAxICYmIHMgPT0gMCkgewoJCWNvdXQgPDwgMCA8PCBlbmRsIDw8IDA7Cgl9CgllbHNlIHsKCQljb3V0IDw8IG1pblZhbHVlKG0sIHMpIDw8ICIgIiA8PCBtYXhWYWx1ZShtLCBzKTsKCX0KfQo=