#include <bits/stdc++.h>
#include <unordered_map>
#include <unordered_set>
using namespace std;
string ss(string s) {
unordered_set<char> charSet(s.begin(), s.end());
if (charSet.size() < 2) {
return "-1"; // 无解
}
unordered_map<char, char> charMap;
vector<char> chars(charSet.begin(), charSet.end());
for (int i = 0; i < chars.size(); ++i) {// 选择字符集的下一个字符作为替换,%的作用是如果到了最后一个字符,则循环回第一个字符
charMap[chars[i]] = chars[(i + 1) % chars.size()];
}
// 构造t
string t;
for (char c : s)
t += charMap[c];
return t;
}
int main() {
string s;
cin >> s;
string t = ss(s);
if (t == "-1") {
cout << -1 << std::endl;
else
cout << t << std::endl;
return 0;
}