#include <bits/stdc++.h>
using namespace std;
const int maxn = 100000 + 10;
const int INF = 1e9;
char a[maxn];
int len;
int main() {
  scanf("%s", a + 1);
  int len = strlen(a + 1);
  int s = 0;
  for (int i = 1; i <= len; i++) {
    s = (s + a[i] - '0') % 3;
  }
  if (s == 0) {
    cout << a + 1 << endl;
  } else {
    int t = 0;
    string temp, temp2;
    for (int i = len; i >= 1; i--) {
      if ((a[i] - '0') % 3 == s) {
        t = i;
        break;
      }
    }
    if (t != 0) {
      for (int i = 1; i <= len; i++) {
        if (i != t) temp += a[i];
      }
      int i = 0;
      while (i < temp.size() - 1 && temp[i] == '0') i++;
      temp = temp.substr(i);
    }
    int f1 = 0, f2 = 0;
    if (s == 1) {
      for (int i = len; i >= 1; i--) {
        if ((a[i] - '0') % 3 == 2) {
          if (f1 == 0)
            f1 = i;
          else {
            f2 = i;
            break;
          }
        }
      }
    } else {
      for (int i = len; i >= 1; i--) {
        if ((a[i] - '0') % 3 == 1) {
          if (f1 == 0)
            f1 = i;
          else {
            f2 = i;
            break;
          }
        }
      }
    }
    if (f1 != 0 && f2 != 0) {
      for (int i = 1; i <= len; i++) {
        if (i != f1 && i != f2) {
          temp2 += a[i];
        }
      }
      int i = 0;
      while (i < temp2.size() - 1 && temp2[i] == '0') i++;
      temp2 = temp2.substr(i);
    }
    if (temp.size() == 0 && temp2.size() == 0) {
      cout << "-1" << endl;
    } else if (temp.size() > temp2.size()) {
      cout << temp << endl;
    } else
      cout << temp2 << endl;
  }
}
