#include <bits/stdc++.h>
using namespace std;
int main() {
  int i, j, k, l, m, n, f, t;
  string s, s1, s3, s4;
  while (cin >> s) {
    s1 = s;
    k = 0;
    for (i = 0; i < s.size(); i++) {
      k += s[i] - '0';
    }
    k = k % 3;
    if (k == 0) {
      cout << s << endl;
    } else if (k == 1) {
      f = 0;
      for (i = s.size() - 1; i >= 0; i--) {
        if ((s[i] - '0') % 3 == 1) {
          s.erase(s.begin() + i);
          f = 1;
          break;
        }
      }
      if (f == 0) {
        t = 0;
        for (i = s.size() - 1; i >= 0; i--) {
          if ((s[i] - '0') % 3 == 2) {
            s.erase(s.begin() + i);
            t++;
          }
          if (t == 2) {
            f = 1;
            break;
          }
        }
        if (t != 2 || s == "") {
          cout << -1 << endl;
        } else {
          t = 0;
          s3 = s;
          for (i = 0; i < s.size(); i++) {
            if (s[i] == '0') {
              s.erase(s.begin() + i);
              i--;
            } else {
              break;
            }
          }
          if (s == "" && s3.size() > 0)
            cout << 0 << endl;
          else
            cout << s << endl;
        }
      } else {
        t = 0;
        for (i = s1.size() - 1; i >= 0; i--) {
          if ((s1[i] - '0') % 3 == 2) {
            s1.erase(s1.begin() + i);
            t++;
          }
          if (t == 2) {
            break;
          }
        }
        if (t == 2) {
          s3 = s;
          for (i = 0; i < s.size(); i++) {
            if (s[i] == '0') {
              s.erase(s.begin() + i);
              i--;
            } else {
              break;
            }
          }
          for (i = 0; i < s1.size(); i++) {
            if (s1[i] == '0') {
              s1.erase(s1.begin() + i);
              i--;
            } else {
              break;
            }
          }
          if (s == s1 && s == "" && s3.size() > 0) {
            cout << 0 << endl;
          } else if (s == s1 && s == "") {
            cout << -1 << endl;
          } else if (s.size() > s1.size()) {
            cout << s << endl;
          } else {
            cout << s1 << endl;
          }
        } else {
          if (s == "") {
            cout << -1 << endl;
          } else {
            t = 0;
            s3 = s;
            for (i = 0; i < s.size(); i++) {
              if (s[i] == '0') {
                s.erase(s.begin() + i);
                i--;
              } else {
                break;
              }
            }
            if (s == "" && s3.size() > 0)
              cout << 0 << endl;
            else
              cout << s << endl;
          }
        }
      }
    } else if (k == 2) {
      f = 0;
      for (i = s.size() - 1; i >= 0; i--) {
        if ((s[i] - '0') % 3 == 2) {
          s.erase(s.begin() + i);
          f = 1;
          break;
        }
      }
      if (f == 0) {
        t = 0;
        for (i = s.size() - 1; i >= 0; i--) {
          if ((s[i] - '0') % 3 == 1) {
            s.erase(s.begin() + i);
            t++;
          }
          if (t == 2) {
            f = 1;
            break;
          }
        }
        if (t != 2 || s == "") {
          cout << -1 << endl;
        } else {
          t = 0;
          s3 = s;
          for (i = 0; i < s.size(); i++) {
            if (s[i] == '0') {
              s.erase(s.begin() + i);
              i--;
            } else {
              break;
            }
          }
          if (s == "" && s3.size() > 0)
            cout << 0 << endl;
          else
            cout << s << endl;
        }
      } else {
        t = 0;
        for (i = s1.size() - 1; i >= 0; i--) {
          if ((s1[i] - '0') % 3 == 1) {
            s1.erase(s1.begin() + i);
            t++;
          }
          if (t == 2) {
            break;
          }
        }
        if (t == 2) {
          s3 = s;
          for (i = 0; i < s.size(); i++) {
            if (s[i] == '0') {
              s.erase(s.begin() + i);
              i--;
            } else {
              break;
            }
          }
          for (i = 0; i < s1.size(); i++) {
            if (s1[i] == '0') {
              s1.erase(s1.begin() + i);
              i--;
            } else {
              break;
            }
          }
          if (s == s1 && s == "" && s3.size() > 0) {
            cout << 0 << endl;
          } else if (s == s1 && s == "") {
            cout << -1 << endl;
          } else if (s.size() > s1.size()) {
            cout << s << endl;
          } else {
            cout << s1 << endl;
          }
        } else {
          if (s == "") {
            cout << -1 << endl;
          } else {
            t = 0;
            s3 = s;
            for (i = 0; i < s.size(); i++) {
              if (s[i] == '0') {
                s.erase(s.begin() + i);
                i--;
              } else {
                break;
              }
            }
            if (s == "" && s3.size() > 0)
              cout << 0 << endl;
            else
              cout << s << endl;
          }
        }
      }
    }
  }
  return 0;
}
