//活动地址: 牛客春招刷题训练营 - 编程打卡活动
#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")