#include <bits/stdc++.h>
using namespace std;
int i, b[3], x = 0;
string a;
void out() {
  if (b[0] + b[1] + b[2] == x) {
    cout << 0;
    return;
  }
  for (i = 0; i < a.size() - 1; i++)
    if (a[i] != 'x' && a[i] != '0') break;
  for (i; i < a.size(); i++)
    if (a[i] != 'x') cout << a[i];
}
int main() {
  cin >> a;
  for (i = 0; i < a.size(); i++) {
    ++b[(a[i] - '0') % 3];
    if (a[i] == '0') ++x;
  }
  if ((!b[0] && !b[1] && b[2] < 3) || (!b[0] && !b[2] && b[1] < 3)) {
    cout << -1;
    return 0;
  }
  if ((b[1] + 2 * b[2]) % 3 == 0) {
    cout << a;
    return 0;
  }
  if ((b[1] + 2 * b[2]) % 3 == 1) {
    if (b[1] > 1 || (b[1] && (b[2] < 2 || (a[0] - '0') % 3 != 1 ||
                              ((a[0] - '0') % 3 == 1 && a[1] != '0')))) {
      for (i = a.size() - 1; i >= 0; i--)
        if ((a[i] - '0') % 3 == 1) {
          a[i] = 'x';
          out();
          return 0;
        }
    }
    for (i = a.size(); i >= 0; i--)
      if ((a[i] - '0') % 3 == 2) {
        --b[2];
        a[i] = 'x';
        if ((2 * b[2] + b[1]) % 3 == 0) {
          out();
          return 0;
        }
      }
  }
  if ((b[1] + 2 * b[2]) % 3 == 2) {
    if (b[2] > 1 || (b[2] && (b[1] < 2 || (a[0] - '0') % 3 != 2 ||
                              ((a[0] - '0') % 3 == 2 && a[1] != '0')))) {
      for (i = a.size() - 1; i >= 0; i--)
        if ((a[i] - '0') % 3 == 2) {
          a[i] = 'x';
          out();
          return 0;
        }
    }
    for (i = a.size(); i >= 0; i--)
      if ((a[i] - '0') % 3 == 1) {
        --b[1];
        a[i] = 'x';
        if ((b[1] + 2 * b[2]) % 3 == 0) {
          out();
          return 0;
        }
      }
  }
  return 0;
}
