#include <iostream>
using namespace std;
const int MAX_BANKNOTES = 8;
const string VALID_BANKNOTES[] = {"1", "5", "10", "20", "50", "100", "200", "500"};
int frqBankNotes[MAX_BANKNOTES] = {0};
int isValidBanknote(const string currNum) {
for (int i = 0; i < MAX_BANKNOTES; ++i) {
if (currNum == VALID_BANKNOTES[i]) {
return i;
}
}
return -1;
}
string getMostFrqBankNote(const int &noValidBanknotes) {
if (noValidBanknotes == 0) {
return "NU EXISTA";
}
int mostFrqIndex = 0;
for (int i = 0; i < MAX_BANKNOTES; ++i) {
if (frqBankNotes[i] >= frqBankNotes[mostFrqIndex]) {
mostFrqIndex = i;
}
}
return VALID_BANKNOTES[mostFrqIndex];
}
void splitNumbers(const string &text, int &noValidBanknotes) {
const int len = (int)text.size();
string currNum;
for (int i = 0; i <= len; ++i) {
if (isdigit(text[i]) && (text[i] != '0' || !currNum.empty())) {
currNum += text[i];
} else if (!currNum.empty()) {
const int indexBankNote = isValidBanknote(currNum);
if (indexBankNote >= 0) {
++frqBankNotes[indexBankNote];
++noValidBanknotes;
}
currNum.clear();
}
}
}
string formatResult(const int &noValidBanknotes) {
return to_string(noValidBanknotes) + '\n' + getMostFrqBankNote(noValidBanknotes);
}
int main() {
string text;
int noValidBanknotes = 0;
while (getline(cin, text)) {
splitNumbers(text, noValidBanknotes);
}
cout << formatResult(noValidBanknotes);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE1BWF9CQU5LTk9URVMgPSA4Owpjb25zdCBzdHJpbmcgVkFMSURfQkFOS05PVEVTW10gPSB7IjEiLCAiNSIsICIxMCIsICIyMCIsICI1MCIsICIxMDAiLCAiMjAwIiwgIjUwMCJ9OwppbnQgZnJxQmFua05vdGVzW01BWF9CQU5LTk9URVNdID0gezB9OwoKaW50IGlzVmFsaWRCYW5rbm90ZShjb25zdCBzdHJpbmcgY3Vyck51bSkgewogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNQVhfQkFOS05PVEVTOyArK2kpIHsKICAgICAgICBpZiAoY3Vyck51bSA9PSBWQUxJRF9CQU5LTk9URVNbaV0pIHsKICAgICAgICAgICAgcmV0dXJuIGk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIC0xOwp9CgpzdHJpbmcgZ2V0TW9zdEZycUJhbmtOb3RlKGNvbnN0IGludCAmbm9WYWxpZEJhbmtub3RlcykgewogICAgaWYgKG5vVmFsaWRCYW5rbm90ZXMgPT0gMCkgewogICAgICAgIHJldHVybiAiTlUgRVhJU1RBIjsKICAgIH0KICAgIGludCBtb3N0RnJxSW5kZXggPSAwOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNQVhfQkFOS05PVEVTOyArK2kpIHsKICAgICAgICBpZiAoZnJxQmFua05vdGVzW2ldID49IGZycUJhbmtOb3Rlc1ttb3N0RnJxSW5kZXhdKSB7CiAgICAgICAgICAgIG1vc3RGcnFJbmRleCA9IGk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFZBTElEX0JBTktOT1RFU1ttb3N0RnJxSW5kZXhdOwp9Cgp2b2lkIHNwbGl0TnVtYmVycyhjb25zdCBzdHJpbmcgJnRleHQsIGludCAmbm9WYWxpZEJhbmtub3RlcykgewogICAgY29uc3QgaW50IGxlbiA9IChpbnQpdGV4dC5zaXplKCk7CiAgICBzdHJpbmcgY3Vyck51bTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDw9IGxlbjsgKytpKSB7CiAgICAgICAgaWYgKGlzZGlnaXQodGV4dFtpXSkgJiYgKHRleHRbaV0gIT0gJzAnIHx8ICFjdXJyTnVtLmVtcHR5KCkpKSB7CiAgICAgICAgICAgIGN1cnJOdW0gKz0gdGV4dFtpXTsKICAgICAgICB9IGVsc2UgaWYgKCFjdXJyTnVtLmVtcHR5KCkpIHsKICAgICAgICAgICAgY29uc3QgaW50IGluZGV4QmFua05vdGUgPSBpc1ZhbGlkQmFua25vdGUoY3Vyck51bSk7CiAgICAgICAgICAgIGlmIChpbmRleEJhbmtOb3RlID49IDApIHsKICAgICAgICAgICAgICAgICsrZnJxQmFua05vdGVzW2luZGV4QmFua05vdGVdOwogICAgICAgICAgICAgICAgKytub1ZhbGlkQmFua25vdGVzOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGN1cnJOdW0uY2xlYXIoKTsKICAgICAgICB9CiAgICB9Cn0KCnN0cmluZyBmb3JtYXRSZXN1bHQoY29uc3QgaW50ICZub1ZhbGlkQmFua25vdGVzKSB7CiAgICByZXR1cm4gdG9fc3RyaW5nKG5vVmFsaWRCYW5rbm90ZXMpICsgJ1xuJyArIGdldE1vc3RGcnFCYW5rTm90ZShub1ZhbGlkQmFua25vdGVzKTsKfQoKaW50IG1haW4oKSB7CiAgICBzdHJpbmcgdGV4dDsKICAgIGludCBub1ZhbGlkQmFua25vdGVzID0gMDsKICAgIHdoaWxlIChnZXRsaW5lKGNpbiwgdGV4dCkpIHsKICAgICAgICBzcGxpdE51bWJlcnModGV4dCwgbm9WYWxpZEJhbmtub3Rlcyk7CiAgICB9CiAgICBjb3V0IDw8IGZvcm1hdFJlc3VsdChub1ZhbGlkQmFua25vdGVzKTsKICAgIHJldHVybiAwOwp9Cgo=