#include <iostream>
#include <string>
#include <unordered_set>
#include <vector>
using namespace std;
int main() {
string s;
cin >> s;
int n = s.length();
unordered_set<char> unique_chars(s.begin(), s.end()); // 统计字符集合
// 如果字符集大小只有 1,说明无法构造满足条件的字符串
if (unique_chars.size() == 1) {
cout << -1 << endl;
return 0;
}
// 将字符集存储到一个数组中
vector<char> char_list(unique_chars.begin(), unique_chars.end());
int m = char_list.size();
string t = s; // 初始化结果字符串 t
// 遍历字符串,替换每个字符
for (int i = 0; i < n; i++) {
// 在字符列表中找到当前字符的位置
for (int j = 0; j < m; j++) {
if (char_list[j] == s[i]) {
// 替换为列表中的下一个字符(循环处理)
t[i] = char_list[(j + 1) % m];
break;
}
}
}
cout << t << endl; // 输出结果
return 0;
}