#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
using u64 = uint64_t;
using u128 = __uint128_t;
mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count());
const int mx = 1e5;
int arr[mx + 5];
string res;
void update(string ss) {
  if (ss.size() < res.size()) return;
  res = ss;
}
void solve() {
  string str;
  cin >> str;
  auto sum = 0;
  for (int i(0); i < str.length(); ++i) {
    arr[i] = (str[i] - '0') % 3;
    sum += (str[i] - '0') % 3;
    sum %= 3;
  }
  if (sum == 0) {
    cout << str << '\n';
    return;
  }
  for (int i = str.size() - 1; i >= 0; i--) {
    if (arr[i] == sum) {
      string ss = str;
      ss.erase(i, 1);
      while (ss.size() > 1 && ss[0] == '0') {
        ss.erase(0, 1);
      }
      update(ss);
    }
  }
  int cnt = 0;
  string s = str;
  for (int i = str.size() - 1; i >= 0; i--) {
    if (arr[i] * 2 % 3 == sum) {
      s.erase(i, 1);
      cnt++;
      if (cnt == 2) {
        while (s.size() > 1 && s[0] == '0') {
          s.erase(0, 1);
        }
        update(s);
      }
    }
  }
  if (res.size() == 0)
    cout << -1 << '\n';
  else
    cout << res << '\n';
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  solve();
  cerr << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << "s.\n";
  return 0;
}
