#include #include #include using namespace std; int letters[200] = { 0 }; int main() { char input[1000010] = { '\0' }; scanf("%s", input); for (int i = 0; input[i] != '\0'; i++) { letters[(int)input[i]]++; } deque out; int odd = -1; for (int i = 0; i < 200; i++) { if (letters[i] % 2 == 1) { if (odd < 0) odd = i; else { printf("IMPOSSIBLE"); return 0; } } } if (odd > 0) { out.push_back((char)odd); letters[odd]--; } for (int i = 199; i >= 0; i--) { for (int j = letters[i] / 2; j < letters[i]; j++) { out.push_front((char)i); out.push_back((char)i); } } for (char& ch : out) { printf("%c", ch); } }