#include <bits/stdc++.h>
using namespace std;
char s[1000005];
int bo[1000], n, m, ans, t, boo;
int main() {
  scanf("%s", s);
  n = strlen(s);
  for (int i = 1; i < n; i++) {
    ++bo[s[i] % 3];
    t = (t + s[i]) % 3;
    if (s[i] == 48) ++boo;
  }
  t = (t + s[0]) % 3;
  if (!t) {
    for (int i = 0; i < n; i++) printf("%c", s[i]);
    return 0;
  }
  if (bo[t]) {
    int i = 0;
    for (; i < n; i++)
      if (s[i] % 3 == t && i > 0)
        break;
      else
        printf("%c", s[i]);
    for (i++; i < n; i++) printf("%c", s[i]);
    return 0;
  }
  if (bo[3 - t] > 1 && (s[0] % 3 != t || (s[0] % 3 == t && s[1] == '0'))) {
    t = 3 - t;
    int i = 0;
    for (; i < n; i++)
      if (s[i] % 3 == t && i > 0)
        break;
      else
        printf("%c", s[i]);
    for (i++; i < n; i++)
      if (s[i] % 3 == t && i > 0)
        break;
      else
        printf("%c", s[i]);
    for (i++; i < n; i++) printf("%c", s[i]);
    return 0;
  }
  if (n == 1) {
    puts("-1");
    return 0;
  }
  if (boo == n - 1) {
    puts("0");
    return 0;
  }
  t = (t - s[0] + 99) % 3;
  m = 1;
  ans = 1;
  while (s[m] == '0') ++ans, ++m;
  --bo[s[m] % 3];
  if (!t) {
    for (int i = m; i < n; i++) printf("%c", s[i]);
    return 0;
  }
  if (bo[t]) {
    int i = m;
    for (; i < n; i++)
      if (s[i] % 3 == t && i > m)
        break;
      else
        printf("%c", s[i]);
    for (i++; i < n; i++) printf("%c", s[i]);
    return 0;
  }
  if ((t - s[m] + 99) % 3 == 0 && m < n - 1) {
    ++m;
    ++ans;
    while (s[m] == '0' && m < n - 1) ++m, ++ans;
    for (int i = m; i < n; i++) printf("%c", s[i]);
    return 0;
  } else {
    if (!boo)
      puts("-1");
    else
      puts("0");
    return 0;
  }
}
