#include <bits/stdc++.h>
using namespace std;
int main() {
  string s;
  cin >> s;
  long long l = s.size();
  long long c = 0;
  long long i, k;
  for (i = 0; i < l; i++) {
    long long t = s[i] - '0';
    if (t == 0) {
      c++;
      continue;
    }
    if (t % 3 == 0) {
      c++;
      continue;
    }
    set<long long> a;
    long long kd = t % 3;
    a.insert(kd);
    for (k = i + 1; k < l; k++) {
      long long tt = s[k] - '0';
      if (tt == 0 || tt % 3 == 0) {
        c++;
        i = k;
        break;
      }
      t += tt;
      if (t % 3 == 0) {
        c++;
        i = k;
        break;
      }
      if (t > 3) {
        long long kr = t % 3;
        if (a.find(kr) != a.end()) {
          c++;
          i = k;
          break;
        }
      }
      a.insert(t);
    }
  }
  cout << c;
  return 0;
}
