#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")