#include <iostream>
#include <string>
using namespace std;
void createFrqArr(int frq[], const string &text) {
for (char c : text) {
if (islower(c)) {
cout << c << " ";
++frq[c];
}
}
}
bool isPalindrome(const int frqLetters[]) {
int cntOddFrq = 0;
for (int c = 'a'; c <= 'z'; ++c) {
if (frqLetters[c] % 2) {
++cntOddFrq;
}
}
return cntOddFrq <= 1;
}
char findMostFrqLetter(int frqLetters[]) {
char mostFrqLetter = 'z';
for (int c = 'z'; c >= 'a'; --c) {
if (frqLetters[c] > frqLetters[mostFrqLetter]) {
mostFrqLetter = (char)c;
frqLetters[mostFrqLetter] = frqLetters[c];
}
}
return mostFrqLetter;
}
int main() {
string text;
int frqLetters['z' + 1] = {0};
while (getline(cin, text)) {
createFrqArr(frqLetters, text);
}
cout << "\n";
if (isPalindrome(frqLetters)) {
cout << "DA\n" << findMostFrqLetter(frqLetters);
} else {
cout << "NU";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBjcmVhdGVGcnFBcnIoaW50IGZycVtdLCBjb25zdCBzdHJpbmcgJnRleHQpIHsKICAgIGZvciAoY2hhciBjIDogdGV4dCkgewogICAgICAgIGlmIChpc2xvd2VyKGMpKSB7CiAgICAgICAgCWNvdXQgPDwgYyA8PCAiICI7CiAgICAgICAgICAgICsrZnJxW2NdOwogICAgICAgIH0KICAgIH0KfQoKYm9vbCBpc1BhbGluZHJvbWUoY29uc3QgaW50IGZycUxldHRlcnNbXSkgewogICAgaW50IGNudE9kZEZycSA9IDA7CiAgICBmb3IgKGludCBjID0gJ2EnOyBjIDw9ICd6JzsgKytjKSB7CiAgICAgICAgaWYgKGZycUxldHRlcnNbY10gJSAyKSB7CiAgICAgICAgICAgICsrY250T2RkRnJxOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBjbnRPZGRGcnEgPD0gMTsKfQoKY2hhciBmaW5kTW9zdEZycUxldHRlcihpbnQgZnJxTGV0dGVyc1tdKSB7CiAgICBjaGFyIG1vc3RGcnFMZXR0ZXIgPSAneic7CiAgICBmb3IgKGludCBjID0gJ3onOyBjID49ICdhJzsgLS1jKSB7CiAgICAgICAgaWYgKGZycUxldHRlcnNbY10gPiBmcnFMZXR0ZXJzW21vc3RGcnFMZXR0ZXJdKSB7CiAgICAgICAgICAgIG1vc3RGcnFMZXR0ZXIgPSAoY2hhciljOwogICAgICAgICAgICBmcnFMZXR0ZXJzW21vc3RGcnFMZXR0ZXJdID0gZnJxTGV0dGVyc1tjXTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gbW9zdEZycUxldHRlcjsKfQoKaW50IG1haW4oKSB7CiAgICBzdHJpbmcgdGV4dDsKICAgIGludCBmcnFMZXR0ZXJzWyd6JyArIDFdID0gezB9OwogICAgd2hpbGUgKGdldGxpbmUoY2luLCB0ZXh0KSkgewogICAgICAgIGNyZWF0ZUZycUFycihmcnFMZXR0ZXJzLCB0ZXh0KTsKICAgIH0KICAgIGNvdXQgPDwgIlxuIjsKICAgIGlmIChpc1BhbGluZHJvbWUoZnJxTGV0dGVycykpIHsKICAgICAgICBjb3V0IDw8ICJEQVxuIiA8PCBmaW5kTW9zdEZycUxldHRlcihmcnFMZXR0ZXJzKTsKICAgIH0gZWxzZSB7CiAgICAgICAgY291dCA8PCAiTlUiOwogICAgfQogICAgcmV0dXJuIDA7Cn0K