#include <bits/stdc++.h>
using namespace std;
using LL = long long;
using ULL = unsigned long long;
using LD = long double;
using pii = pair<int, int>;
using pll = pair<LL, LL>;
using pld = pair<LD, LD>;
int cnt_mod3[3];
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  string n;
  cin >> n;
  int len = n.size();
  deque<int> str(len);
  int mod_sum_digs = 0;
  for (int i = 0; i < len; ++i) {
    str[i] = n[i] - '0';
    mod_sum_digs = (mod_sum_digs + str[i]) % 3;
    ++cnt_mod3[str[i] % 3];
  }
  array<int, 3> to_del = {-1, -1, -1};
  string res_str1, res_str2;
  switch (mod_sum_digs) {
    case 0:
      cout << n;
      return 0;
    default:
      int two_occ = mod_sum_digs ^ 3, one_occ = mod_sum_digs;
      if (cnt_mod3[two_occ] <= 1 && cnt_mod3[one_occ] == 0) {
        if (cnt_mod3[0] == 0) {
          cout << "-1";
          return 0;
        }
        while (!str.empty()) {
          if (str.front() % 3 == 0) {
            res_str1 += str.front() + '0';
          }
          str.pop_front();
        }
        break;
      }
      if (cnt_mod3[one_occ] != 0) {
        for (int i = len - 1; ~i; --i) {
          if (str[i] % 3 == one_occ) {
            to_del[0] = i;
            break;
          }
        }
      }
      for (int i = len - 1; ~i; --i) {
        if (str[i] % 3 == two_occ) {
          if (to_del[1] != -1) {
            to_del[2] = i;
            break;
          }
          to_del[1] = i;
        }
      }
  }
  for (int pos = 0; pos < len; ++pos) {
    int nr = str[pos];
    if (pos != to_del[1] && pos != to_del[2]) {
      res_str2 += nr + '0';
    }
    if (pos != to_del[0]) {
      res_str1 += nr + '0';
    }
  }
  if (to_del[0] == -1) {
    res_str1 = "";
  }
  if (to_del[2] == -1) {
    res_str2 = "";
  }
  int len1 = res_str1.size(), len2 = res_str2.size();
  if (res_str1.empty() && res_str2.empty()) {
    cout << "-1";
  } else if (len1 == 1 && len2 == 1) {
    cout << res_str1;
  } else {
    int i1 = 0, i2 = 0;
    for (; i1 < len1 && res_str1[i1] == '0'; ++i1)
      ;
    for (; i2 < len2 && res_str2[i2] == '0'; ++i2)
      ;
    if (i1 == len1 && i2 == len2) {
      cout << "0";
    }
    string output1 = res_str1.substr(i1, res_str1.npos);
    string output2 = res_str2.substr(i2, res_str2.npos);
    cout << (len1 - i1 > len2 - i2 ? output1 : output2);
  }
}
