#include <bits/stdc++.h>
using namespace std;
vector<long long int> v;
bool vi[1002][1002];
char te[100006];
map<pair<long long int, long long int>, long long int> ma;
int main() {
  long long int n;
  cin >> te;
  long long int l = strlen(te);
  for (long long int i = 0; i < l; i++) v.push_back(te[i] - '0');
  long long int la = v[v.size() - 1];
  l = v.size();
  long long int max = INT_MAX;
  int flag1 = 0;
  int flag2 = 0;
  long long int temp_i = -1;
  for (long long int i = 0; i < l; i++) {
    if (v[i] % 2 == 0) {
      flag1 = 1;
      if (v[i] < la) {
        v[l - 1] = v[i];
        v[i] = la;
        flag2 = 1;
        break;
      } else if (v[i] > la) {
        if (temp_i < i) {
          temp_i = i;
          max = v[i];
        }
      }
    }
  }
  if (flag2) {
    for (long long int i = 0; i < l; i++) printf("%I64d", v[i]);
  } else {
    if (!flag1) {
      printf("-1");
    } else if (max != INT_MAX) {
      long long int temp = v[temp_i];
      v[temp_i] = la;
      v[l - 1] = temp;
      for (long long int i = 0; i < l; i++) printf("%I64d", v[i]);
    }
  }
  return 0;
}
