#include <iostream>
#include <set>
#include <string>
#include <vector>
using namespace std;
int main() {
std::string s;
cin >> s;
// set 储存字符集合(确保无重复)
std::set<char> s_set(s.begin(), s.end());
// 转换为vector方便直接用位置索引
std::vector<char> s_vec(s_set.begin(), s_set.end());
// 只有一个字符的话,无法满足题目中的每个位置不相同的条件
if (s_vec.size() < 2) {
std::cout << "-1" << std::endl;
return 0;
}
// 拷贝构造一个和输入字符串完全相同的输出字符串,方便比较对应位置是否相同
std::string out(s);
int index = 0; // 字符集合的索引
int i = 0;
while (i < s.length()) {
// 如果和输入相同则取字符集合的下一个元素
while (out[i] == s[i]) {
out[i] = s_vec[index++];
index = index % s_vec.size(); // 循环遍历字符集合
}
i++;
}
std::cout << out << std::endl;
}
// 64 位输出请用 printf("%lld")