//活动地址: 牛客春招刷题训练营 - 编程打卡活动
#include <bits/stdc++.h>
#define int long long
using namespace std;
void solve(){
string s;
cin>>s;
int n=s.size();
unordered_map<int,bool>p;
unordered_map<int,char>res;
vector<char>v;
for(auto x:s){
if(!p[x]){
// 存储这个的下一个字符
v.push_back(x);
}
// 标记已经存在
p[x]=true;
}
n=v.size();
if(v.size()==1){
cout<<"-1";
}
else{
// 把每一字符用它后面应该字符来替代
for(int i=0;i<n;i++){
res[v[i]]=v[(i+1)%n]; // a-b b-c c-a
}
for(int i=0;i<s.size();i++)cout<<res[s[i]];
}
}
signed main() {
int T=1;
//cin>>T;
while(T--){
solve();
}
}
//活动地址: 牛客春招刷题训练营 - 编程打卡活动
// 64 位输出请用 printf("%lld")