#include <bits/stdc++.h>
using namespace std;
int main(int argc, const char *argv[]) {
  string str = "";
  long diff = 0, pos[3][100001], rem_0 = 0, rem_1 = 0, rem_2 = 0;
  cin >> str;
  vector<long> number(str.length());
  vector<long>::iterator it(number.begin());
  for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 100001; j++) {
      pos[i][j] = -1;
    }
  }
  for (int i = 0; i < str.length(); i++) {
    number[i] = static_cast<long>(str[i] - '0');
    if (number[i] % 3 == 0) {
      pos[number[i] % 3][rem_0++] = i;
    } else if (number[i] % 3 == 1) {
      pos[number[i] % 3][rem_1++] = i;
    } else {
      pos[number[i] % 3][rem_2++] = i;
    }
    diff = (diff + number[i]) % 3;
  }
  if (diff == 1) {
    if (rem_1 > 1) {
      number.erase(it + pos[1][1]);
    } else if (rem_1 == 1 && rem_2 < 2) {
      number.erase(it + pos[1][0]);
    } else if (rem_1 == 1 && rem_2 > 1) {
      if (pos[1][0] == 0 && number[1] == 0 && number[2] == 0) {
        number.erase(it + pos[2][1]);
        number.erase(it + pos[2][0]);
      } else {
        number.erase(it + pos[1][0]);
      }
    } else if (rem_1 == 0 && rem_2 > 1) {
      number.erase(it + pos[2][rem_2 - 1]);
      number.erase(it + pos[2][rem_2 - 2]);
    } else {
      str = "";
    }
  } else if (diff == 2) {
    if (rem_2 > 1) {
      number.erase(it + pos[2][1]);
    } else if (rem_2 == 1 && rem_1 < 2) {
      number.erase(it + pos[2][0]);
    } else if (rem_2 == 1 && rem_1 > 1) {
      if (pos[2][0] == 0 && number[1] == 0 && number[2] == 0) {
        number.erase(it + pos[1][1]);
        number.erase(it + pos[1][0]);
      } else {
        number.erase(it + pos[2][0]);
      }
    } else if (rem_2 == 0 && rem_1 > 1) {
      number.erase(it + pos[1][rem_1 - 1]);
      number.erase(it + pos[1][rem_1 - 2]);
    } else {
      str = "";
    }
  }
  if (str != "" && !number.empty()) {
    while (number[0] == 0 && number.size() > 1) {
      number.erase(number.begin());
    }
    for (int i = 0; i < number.size(); i++) {
      cout << number[i];
    }
  } else {
    cout << -1;
  }
  return 0;
}
