#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <regex>
using namespace std;
bool myless(char l, char r) {
return (int)l < (int)r;
}
int main()
{
string num1, num2;
cin >> num1 >> num2;
auto pred = [](char ch){ return myless('0', ch) && !myless('9', ch); };
auto it1 = stable_partition(num1.begin(), num1.end(), pred);
num1.erase(it1, num1.end());
auto it2 = stable_partition(num2.begin(), num2.end(), pred);
num2.erase(it2, num2.end());
cout << num1 << endl;
cout << num2 << endl;
// if (!regex_match(num1, regex("[0-9]+")))
// cout << "invalid num" << endl;
// if (!regex_match(num2, regex("[0-9]+")))
// cout << "invalid num" << endl;
if (num1.size() < num2.size())
cout << num1 + " is less than " + num2 << endl;
else if(num1.size() > num2.size())
cout << num1 + " is greater than " + num2 << endl;
else
{
// auto mypair = mismatch(num1.cbegin(), num1.cend(), num2.cbegin());
// if (mypair.first==num1.cend())
// cout << num1 + " is equal to " + num2 << endl;
// else if (myless(*mypair.first,*mypair.second))
// cout << num1 + " is less than " + num2 << endl;
// else /*if (myless(*mypair.second, *mypair.first))*/
// cout << num1 + " is greater than " + num2 << endl;
if(num1<num2)
cout << num1 + " is less than " + num2 << endl;
else if(num1>num2)
cout << num1 + " is greater than " + num2 << endl;
else
cout << num1 + " is equal to " + num2 << endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8cmVnZXg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKYm9vbCBteWxlc3MoY2hhciBsLCBjaGFyIHIpIHsKCXJldHVybiAoaW50KWwgPCAoaW50KXI7Cn0KCgppbnQgbWFpbigpCnsKCXN0cmluZyBudW0xLCBudW0yOwoJY2luID4+IG51bTEgPj4gbnVtMjsKCglhdXRvIHByZWQgPSBbXShjaGFyIGNoKXsgcmV0dXJuIG15bGVzcygnMCcsIGNoKSAmJiAhbXlsZXNzKCc5JywgY2gpOyB9OwoKCWF1dG8gaXQxID0gc3RhYmxlX3BhcnRpdGlvbihudW0xLmJlZ2luKCksIG51bTEuZW5kKCksIHByZWQpOwoJbnVtMS5lcmFzZShpdDEsIG51bTEuZW5kKCkpOwoJYXV0byBpdDIgPSBzdGFibGVfcGFydGl0aW9uKG51bTIuYmVnaW4oKSwgbnVtMi5lbmQoKSwgcHJlZCk7CgludW0yLmVyYXNlKGl0MiwgbnVtMi5lbmQoKSk7CgoJY291dCA8PCBudW0xIDw8IGVuZGw7Cgljb3V0IDw8IG51bTIgPDwgZW5kbDsKCgovLwlpZiAoIXJlZ2V4X21hdGNoKG51bTEsIHJlZ2V4KCJbMC05XSsiKSkpCi8vCQljb3V0IDw8ICJpbnZhbGlkIG51bSIgPDwgZW5kbDsKLy8JaWYgKCFyZWdleF9tYXRjaChudW0yLCByZWdleCgiWzAtOV0rIikpKQovLwkJY291dCA8PCAiaW52YWxpZCBudW0iIDw8IGVuZGw7CgoJaWYgKG51bTEuc2l6ZSgpIDwgbnVtMi5zaXplKCkpCgkJY291dCA8PCBudW0xICsgIiBpcyBsZXNzIHRoYW4gIiArIG51bTIgPDwgZW5kbDsKCWVsc2UgaWYobnVtMS5zaXplKCkgPiBudW0yLnNpemUoKSkKCQljb3V0IDw8IG51bTEgKyAiIGlzIGdyZWF0ZXIgdGhhbiAiICsgbnVtMiA8PCBlbmRsOwoJZWxzZQoJewovLwkJYXV0byBteXBhaXIgPSBtaXNtYXRjaChudW0xLmNiZWdpbigpLCBudW0xLmNlbmQoKSwgbnVtMi5jYmVnaW4oKSk7Ci8vCQlpZiAobXlwYWlyLmZpcnN0PT1udW0xLmNlbmQoKSkKLy8JCQljb3V0IDw8IG51bTEgKyAiIGlzIGVxdWFsIHRvICIgKyBudW0yIDw8IGVuZGw7Ci8vCQllbHNlIGlmIChteWxlc3MoKm15cGFpci5maXJzdCwqbXlwYWlyLnNlY29uZCkpCi8vCQkJY291dCA8PCBudW0xICsgIiBpcyBsZXNzIHRoYW4gIiArIG51bTIgPDwgZW5kbDsKLy8JCWVsc2UgLyppZiAobXlsZXNzKCpteXBhaXIuc2Vjb25kLCAqbXlwYWlyLmZpcnN0KSkqLwovLwkJCWNvdXQgPDwgbnVtMSArICIgaXMgZ3JlYXRlciB0aGFuICIgKyBudW0yIDw8IGVuZGw7CgkJaWYobnVtMTxudW0yKQoJCQljb3V0IDw8IG51bTEgKyAiIGlzIGxlc3MgdGhhbiAiICsgbnVtMiA8PCBlbmRsOwoJCWVsc2UgaWYobnVtMT5udW0yKQoJCQljb3V0IDw8IG51bTEgKyAiIGlzIGdyZWF0ZXIgdGhhbiAiICsgbnVtMiA8PCBlbmRsOwoJCWVsc2UKCQkJY291dCA8PCBudW0xICsgIiBpcyBlcXVhbCB0byAiICsgbnVtMiA8PCBlbmRsOwoJfQp9