// Palindrome Reorder #include using namespace std; int main() { map char_to_count; string s; cin >> s; for (auto c: s) char_to_count[c]++; string forward; char middle = ' '; for (auto &[ch, c]: char_to_count) { if (c & 1) { if (middle != ' ') { cout << "NO SOLUTION" << endl; return 0; } middle = ch; forward.append(string((c - 1) / 2, ch)); } else { forward.append(string(c/2, ch)); } } cout << forward; if (middle != ' ') cout << middle; std::reverse(forward.begin(), forward.end()); cout << forward << endl; return 0; }