#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;
}