- #include <iostream> 
- using namespace std; 
-   
- const int MAX_SIZE = 2000; 
- const int FIRST_LETTER = 'a'; 
- const int LAST_LETTER = 'z'; 
-   
- bool isFrequest(char currentLetter, char frequestLetter, int currentFrequency, int maxFrequency) { 
- 	return frequestLetter == 0 || (currentFrequency > maxFrequency || (currentFrequency == maxFrequency && currentLetter > frequestLetter)); 
- } 
-   
- bool isLowerLetter(char c) { 
- 	return 'a' <= c && c <= 'z'; 
- } 
-   
- void countLowerLetters(char text[], int fr[], char &frequestLetter, int maxFrequency) { 
-     for (int i = 0; text[i]; ++i) { 
-     	if (isLowerLetter(text[i])) { 
- 	        ++fr[(int)text[i]]; 
- 	        if (isFrequest(text[i], frequestLetter, fr[(int)text[i]], maxFrequency)) { 
- 	            frequestLetter = text[i]; 
- 	            maxFrequency = fr[(int)text[i]]; 
- 	        } 
-     	} 
-     } 
- } 
-   
- bool existPalyndrome(int fr[]) { 
-     int numOfOddFrequencies = 0; 
-     for (int i = FIRST_LETTER; i <= LAST_LETTER; ++i) { 
-         if (fr[i] % 2 == 1) { 
-             ++numOfOddFrequencies; 
-             if (numOfOddFrequencies > 1) { 
-                 return false; 
-             } 
-         } 
-     } 
-     return true; 
- } 
-   
- int main() { 
-     char text[MAX_SIZE + 1], frequestLetter = 0; 
-     int fr[LAST_LETTER + 1] = {0}, maxFrequency = 0; 
-     while (cin.getline(text, MAX_SIZE + 1)) { 
-         countLowerLetters(text, fr, frequestLetter, maxFrequency); 
-     } 
-     if (existPalyndrome(fr)) { 
-         cout << "DA"; 
-     } else { 
-         cout << "NU"; 
-     } 
-     cout << "\n" << frequestLetter; 
-     return 0; 
- } 
				I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE1BWF9TSVpFID0gMjAwMDsKY29uc3QgaW50IEZJUlNUX0xFVFRFUiA9ICdhJzsKY29uc3QgaW50IExBU1RfTEVUVEVSID0gJ3onOwoKYm9vbCBpc0ZyZXF1ZXN0KGNoYXIgY3VycmVudExldHRlciwgY2hhciBmcmVxdWVzdExldHRlciwgaW50IGN1cnJlbnRGcmVxdWVuY3ksIGludCBtYXhGcmVxdWVuY3kpIHsKCXJldHVybiBmcmVxdWVzdExldHRlciA9PSAwIHx8IChjdXJyZW50RnJlcXVlbmN5ID4gbWF4RnJlcXVlbmN5IHx8IChjdXJyZW50RnJlcXVlbmN5ID09IG1heEZyZXF1ZW5jeSAmJiBjdXJyZW50TGV0dGVyID4gZnJlcXVlc3RMZXR0ZXIpKTsKfQoKYm9vbCBpc0xvd2VyTGV0dGVyKGNoYXIgYykgewoJcmV0dXJuICdhJyA8PSBjICYmIGMgPD0gJ3onOwp9Cgp2b2lkIGNvdW50TG93ZXJMZXR0ZXJzKGNoYXIgdGV4dFtdLCBpbnQgZnJbXSwgY2hhciAmZnJlcXVlc3RMZXR0ZXIsIGludCBtYXhGcmVxdWVuY3kpIHsKICAgIGZvciAoaW50IGkgPSAwOyB0ZXh0W2ldOyArK2kpIHsKICAgIAlpZiAoaXNMb3dlckxldHRlcih0ZXh0W2ldKSkgewoJICAgICAgICArK2ZyWyhpbnQpdGV4dFtpXV07CgkgICAgICAgIGlmIChpc0ZyZXF1ZXN0KHRleHRbaV0sIGZyZXF1ZXN0TGV0dGVyLCBmclsoaW50KXRleHRbaV1dLCBtYXhGcmVxdWVuY3kpKSB7CgkgICAgICAgICAgICBmcmVxdWVzdExldHRlciA9IHRleHRbaV07CgkgICAgICAgICAgICBtYXhGcmVxdWVuY3kgPSBmclsoaW50KXRleHRbaV1dOwoJICAgICAgICB9CiAgICAJfQogICAgfQp9Cgpib29sIGV4aXN0UGFseW5kcm9tZShpbnQgZnJbXSkgewogICAgaW50IG51bU9mT2RkRnJlcXVlbmNpZXMgPSAwOwogICAgZm9yIChpbnQgaSA9IEZJUlNUX0xFVFRFUjsgaSA8PSBMQVNUX0xFVFRFUjsgKytpKSB7CiAgICAgICAgaWYgKGZyW2ldICUgMiA9PSAxKSB7CiAgICAgICAgICAgICsrbnVtT2ZPZGRGcmVxdWVuY2llczsKICAgICAgICAgICAgaWYgKG51bU9mT2RkRnJlcXVlbmNpZXMgPiAxKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKfQoKaW50IG1haW4oKSB7CiAgICBjaGFyIHRleHRbTUFYX1NJWkUgKyAxXSwgZnJlcXVlc3RMZXR0ZXIgPSAwOwogICAgaW50IGZyW0xBU1RfTEVUVEVSICsgMV0gPSB7MH0sIG1heEZyZXF1ZW5jeSA9IDA7CiAgICB3aGlsZSAoY2luLmdldGxpbmUodGV4dCwgTUFYX1NJWkUgKyAxKSkgewogICAgICAgIGNvdW50TG93ZXJMZXR0ZXJzKHRleHQsIGZyLCBmcmVxdWVzdExldHRlciwgbWF4RnJlcXVlbmN5KTsKICAgIH0KICAgIGlmIChleGlzdFBhbHluZHJvbWUoZnIpKSB7CiAgICAgICAgY291dCA8PCAiREEiOwogICAgfSBlbHNlIHsKICAgICAgICBjb3V0IDw8ICJOVSI7CiAgICB9CiAgICBjb3V0IDw8ICJcbiIgPDwgZnJlcXVlc3RMZXR0ZXI7CiAgICByZXR1cm4gMDsKfQ==