#include <bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:102400000,102400000")
const int N = 200005;
char s[N], ans[N];
int n, dp[N][3];
int main() {
  memset(dp, -1, sizeof(dp));
  scanf("%s", s + 1);
  n = strlen(s + 1);
  for (int i = 1; i <= n; i++) s[i] = s[i] - '0';
  dp[1][s[1] % 3] = 1;
  for (int i = 2; i <= n; i++) {
    if (s[i]) dp[i][s[i] % 3] = 1;
    for (int j = 0; j <= 2; j++)
      if (dp[i - 1][(j - s[i] + 9) % 3] != -1)
        dp[i][j] = dp[i - 1][(j - s[i] + 9) % 3] + 1;
    for (int j = 0; j <= 2; j++) dp[i][j] = max(dp[i][j], dp[i - 1][j]);
  }
  if (dp[n][0] == -1) {
    for (int i = 1; i <= n; i++)
      if (s[i] % 3 == 0) return 0 * printf("0\n");
    return 0 * printf("-1\n");
  } else {
    int len = 0, j = 0;
    for (int i = n; i >= 1; i--)
      if (dp[i - 1][j] < dp[i][j])
        ans[++len] = s[i] + '0', j = (j - s[i] + 9) % 3;
    for (int i = len; i >= 1; i--) putchar(ans[i]);
  }
  return 0;
}
