def make_palindrome(s):
char_count = Counter(s)
flag = 0
mid = (None, None)
for key, count in char_count.items():
if count % 2 != 0:
if flag == 0:
flag = 1
mid = (key, count % 2)
char_count[key] = count - count % 2
else:
return 'Impossible'
sorted_list = sorted(char_count.keys())
palindrome = []
for el in sorted_list:
palindrome.append(el*(char_count[el]//2))
if mid[0]:
palindrome.append(mid[0]*mid[1])
for i in range(len(sorted_list) - 1, -1, -1):
palindrome.append(sorted_list[i]*(char_count[sorted_list[i]]//2))
return ''.join(palindrome)
s = input()
print(make_palindrome(s))
ZGVmIG1ha2VfcGFsaW5kcm9tZShzKToKICAgIGNoYXJfY291bnQgPSBDb3VudGVyKHMpCiAgICBmbGFnID0gMAogICAgbWlkID0gKE5vbmUsIE5vbmUpCiAgICAKICAgIGZvciBrZXksIGNvdW50IGluIGNoYXJfY291bnQuaXRlbXMoKToKICAgICAgICBpZiBjb3VudCAlIDIgIT0gMDoKICAgICAgICAgICAgaWYgZmxhZyA9PSAwOgogICAgICAgICAgICAgICAgZmxhZyA9IDEKICAgICAgICAgICAgICAgIG1pZCA9IChrZXksIGNvdW50ICUgMikKICAgICAgICAgICAgICAgIGNoYXJfY291bnRba2V5XSA9IGNvdW50IC0gY291bnQgJSAyCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICByZXR1cm4gJ0ltcG9zc2libGUnCgogICAgc29ydGVkX2xpc3QgPSBzb3J0ZWQoY2hhcl9jb3VudC5rZXlzKCkpCgogICAgcGFsaW5kcm9tZSA9IFtdCgogICAgZm9yIGVsIGluIHNvcnRlZF9saXN0OgogICAgICAgIHBhbGluZHJvbWUuYXBwZW5kKGVsKihjaGFyX2NvdW50W2VsXS8vMikpCgogICAgaWYgbWlkWzBdOgogICAgICAgIHBhbGluZHJvbWUuYXBwZW5kKG1pZFswXSptaWRbMV0pCiAgICAgICAgCiAgICBmb3IgaSBpbiByYW5nZShsZW4oc29ydGVkX2xpc3QpIC0gMSwgLTEsIC0xKToKICAgICAgICBwYWxpbmRyb21lLmFwcGVuZChzb3J0ZWRfbGlzdFtpXSooY2hhcl9jb3VudFtzb3J0ZWRfbGlzdFtpXV0vLzIpKQogICAgICAgIAogICAgcmV0dXJuICcnLmpvaW4ocGFsaW5kcm9tZSkKCgpzID0gaW5wdXQoKQoKcHJpbnQobWFrZV9wYWxpbmRyb21lKHMpKQ==