#include "bits/stdc++.h" #define YES "YES" #define NO "NO" #define Yes "Yes" #define No "No" #define YESNO OUT(three(solve(),YES,NO)) #define YesNo OUT(three(solve(),Yes,No)) #define ECHO OUT(solve()) #define three(A,B,C) ((A)?(B):(C)) #define FOR(i,a,b) for(LL i=(a);i< (LL)(b);i++) #define EFOR(i,a,b) for(LL i=(a);i<=(LL)(b);i++) #define RFOR(i,a,b) for(LL i=(b-1);i>=(LL)(a);i--) #define REP(i,b) FOR(i,zero,b) #define rep REP #define EREP(i,b) EFOR(i,zero,b) #define RREP(i,b) RFOR(i,zero,b) #define ALL(c) c.begin(),c.end() #define UNIQUE(c) sort(ALL(c));c.erase(unique(ALL(c)),c.end()) #define MAX(c) (*max_element(ALL(c))) #define MIN(c) (*min_element(ALL(c))) #define MP make_pair #define FI first #define SE second #define SI(x) (LL(x.size())) #define PB push_back #define DEBUG(a) OUT(a) #define DEBUG2(a,b) OUT2(a,b) #define cat cout << __LINE__ << endl #define OUT(a) cout << (a) << endl #define OUT2(a,b) cout << (a) <<" "<<(b) << endl #define zero 0LL #define all ALL #define pb emplace_back #define eb pb #define int long long using namespace std; template inline void maximize(T &a, T b) { a = max(a, b); } template inline void minimize(T &a, T b) { a = min(a, b); } template inline bool middle(T a, T b, T c) { return b <= a && a <= c; } template inline bool MX(T &l, const T &r) { return l < r ? l = r, 1 : 0; } template inline bool MN(T &l, const T &r) { return l > r ? l = r, 1 : 0; } typedef int LL; typedef double ld; typedef int ut; typedef vector VI; typedef vector VII; typedef pair pr; typedef pair ppr; typedef vector Vpr; typedef vector Vppr; typedef tuple tapu; typedef vector Vtapu; typedef priority_queue > PQ; inline void outputVI(VI x) { REP(i, SI(x)) { cout << three(i, " ", "") << x[i]; }OUT(""); } const int SIZE1 = 3e5 + 1000; const int SIZE2 = 5010; const int SIZE3 = 430; const int SIZE = SIZE1; const int MAPSIZE = 40; const LL p = 7 + 1e9; const LL INF = 1LL << 60; const long double EPS = 1e-7; const LL NONE=-2; typedef pair pld; ut N, M, K, L, Q, D, H, W,R; VI edges[SIZE]; LL vals[SIZE], answer = zero; int A[SIZE],B[SIZE];string s[SIZE]; LL solve(){ string s; cin >> s; sort(ALL(s),greater()); if(s[0]==s.back()) return -1; REP(i,s.size()){ if(s[i]!=s[i+1] and s[i+1]==s.back()){ swap(s[i],s[i+1]); break; } } if(s[0]=='0') return -1; cout <> N; return 0; }