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