#include <bits/stdc++.h>
using namespace std;
int n, x, k, t, f[1000010][10], p[1000010][10];
char a[1000010];
string s;
int main() {
  cin >> s;
  n = s.size();
  if (n == 1) {
    if (s[0] % 3 == 0)
      cout << s[0];
    else
      cout << -1;
    return 0;
  }
  s = " " + s;
  memset(f, 0x3f, sizeof(f));
  memset(p, 0xff, sizeof(p));
  f[1][0] = 1;
  f[1][s[1] % 3] = 0;
  for (int i = 2; i <= n; i++) {
    x = s[i] % 3;
    for (int j = 0; j < 3; j++) {
      f[i][j] = f[i - 1][j] + 1;
      p[i][j] = j;
      if (s[i] == '0' && f[i - 1][j] == i - 1) continue;
      if (f[i][j] > f[i - 1][(j - x + 3) % 3]) {
        f[i][j] = f[i - 1][(j - x + 3) % 3];
        p[i][j] = (j - x + 3) % 3;
      }
    }
  }
  if (f[n][0] == n) {
    for (int i = 1; i <= n; i++)
      if (s[i] == '0') {
        puts("0");
        return 0;
      }
    puts("-1");
    return 0;
  }
  for (int i = n, j = 0; i >= 2; j = k, i--) {
    k = p[i][j];
    if (f[i - 1][k] == f[i][j]) a[++t] = s[i];
  }
  if (s[1] % 3 == k) a[++t] = s[1];
  for (int i = t; i >= 1; i--) printf("%c", a[i]);
  return 0;
}
