#include <bits/stdc++.h>
using namespace std;
string num(int ind1, int ind2, string s) {
  int ans = 0;
  string s2 = "";
  for (int i = s.size() - 1; i >= 0; i--) {
    if (i != ind1 && i != ind2)
      s2 += s[i];
    else
      ans++;
  }
  reverse(s2.begin(), s2.end());
  for (int i = s2.size() - 1; i >= 0; i--) {
    if (s2[i] == '0' && s2.size() != 1)
      s2.erase(s2.begin() + s2.size() - 1);
    else
      break;
  }
  if (ans >= s.size()) return "-1";
  int mod = 0;
  for (int i = 0; i < s2.size(); i++) mod += (s2[i] - '0');
  if (mod % 3 != 0) return "-1";
  reverse(s2.begin(), s2.end());
  return s2;
}
int main() {
  string s;
  cin >> s;
  reverse(s.begin(), s.end());
  int mod = 0;
  vector<vector<int> > m1(2, vector<int>(0));
  for (int i = 0; i < s.size(); i++) {
    mod += s[i] - '0';
    if ((s[i] - '0') % 3 != 0) m1[s[i] % 3 - 1].push_back(i);
  }
  mod %= 3;
  if (mod == 0) {
    reverse(s.begin(), s.end());
    cout << s;
    return 0;
  }
  int a = -1, b1 = -1, b2 = -1;
  if (m1[mod - 1].size() > 0) a = m1[mod - 1][0];
  if (m1[mod % 2].size() > 1) {
    b1 = m1[mod % 2][0];
    b2 = m1[mod % 2][1];
  }
  string ans1 = num(a, -1, s), ans2 = num(b1, b2, s);
  if (ans1 == "-1")
    cout << ans2;
  else if (ans2 == "-1")
    cout << ans1;
  else if (ans1.size() < ans2.size())
    cout << ans2;
  else
    cout << ans1;
}
