#include <bits/stdc++.h>
using namespace std;
signed main() {
  ios_base ::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  string s, w;
  cin >> s;
  w = s;
  long long n = s.length(), sum = 0, rem[3] = {0};
  for (long long i = 0; i < n; i++) {
    char c = s[i];
    long long d = (c - '0');
    sum += d;
    rem[d % 3]++;
  }
  if (sum % 3 == 0)
    return cout << s, 0;
  else {
    if (n == 1) return cout << -1, 0;
    if (sum % 3 == 1) {
      long long cnt = 0;
      if (rem[1] >= 1) {
        for (long long i = n - 1; i >= 0; i--) {
          char c = s[i];
          if ((c - '0') % 3 == 1 && cnt < 1) {
            s[i] = 'd';
            cnt++;
          }
        }
      }
      string temp = "", ans1 = "";
      long long f = 0;
      for (long long i = 0; i < n; i++)
        if (s[i] != 'd') temp += s[i];
      for (long long i = 0; i < temp.length(); i++) {
        if (temp[i] != '0') f = 1;
        if (f == 1) ans1 += temp[i];
      }
      if (ans1 == s) ans1 = "";
      s = w;
      if (rem[2] > 1) {
        cnt = 0;
        for (long long i = n - 1; i >= 0; i--) {
          char c = s[i];
          if ((c - '0') % 3 == 2 && cnt < 2) {
            s[i] = 'd';
            cnt++;
          }
        }
      }
      temp = "";
      string ans2 = "";
      f = 0;
      for (long long i = 0; i < n; i++)
        if (s[i] != 'd') temp += s[i];
      for (long long i = 0; i < temp.length(); i++) {
        if (temp[i] != '0') f = 1;
        if (f == 1) ans2 += temp[i];
      }
      if (ans2 == s) ans2 = "";
      if (ans1.length() > ans2.length())
        cout << ans1;
      else if (ans1.length() == ans2.length() && ans1.length() == 0) {
        if (temp.length() == 0)
          cout << -1;
        else
          cout << 0;
      } else
        cout << ans2;
    } else {
      long long cnt = 0;
      if (rem[2] >= 1) {
        for (long long i = n - 1; i >= 0; i--) {
          char c = s[i];
          if ((c - '0') % 3 == 2 && cnt < 1) {
            s[i] = 'd';
            cnt++;
          }
        }
      }
      string temp = "", ans1 = "";
      long long f = 0;
      for (long long i = 0; i < n; i++)
        if (s[i] != 'd') temp += s[i];
      for (long long i = 0; i < temp.length(); i++) {
        if (temp[i] != '0') f = 1;
        if (f == 1) ans1 += temp[i];
      }
      s = w;
      if (ans1 == s) ans1 = "";
      if (rem[1] > 1) {
        cnt = 0;
        for (long long i = n - 1; i >= 0; i--) {
          char c = s[i];
          if ((c - '0') % 3 == 1 && cnt < 2) {
            s[i] = 'd';
            cnt++;
          }
        }
      }
      temp = "";
      string ans2 = "";
      f = 0;
      for (long long i = 0; i < n; i++)
        if (s[i] != 'd') temp += s[i];
      for (long long i = 0; i < temp.length(); i++) {
        if (temp[i] != '0') f = 1;
        if (f == 1) ans2 += temp[i];
      }
      if (ans2 == s) ans2 = "";
      if (ans1.length() > ans2.length())
        cout << ans1;
      else if (ans1.length() == ans2.length() && ans1.length() == 0) {
        if (temp.length() == 0)
          cout << -1;
        else
          cout << 0;
      } else
        cout << ans2;
    }
  }
  cerr << "\nTime elapsed : " << 1.0 * clock() / CLOCKS_PER_SEC << " sec \n";
  return 0;
}
