#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <string>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <sstream>
using namespace std;
typedef long long LL;
const LL INF = 0x4ffffff;
const double EXP = 1e-5;
const LL mod = 1e9+7;
const int MS= 1000005;
int sum[MS];
int main()
{
char str[MS];
while(scanf("%s",str)!=EOF)
{
memset(sum,0,sizeof(sum));
int len = strlen(str);
for(int i= 0;i<len;i++)
{
if(str[i] >='a' &&str[i] <='z')
sum[i+1] = 0;
else
sum[i+1] = sum[i] + str[i] - '0';
}
int a = 0,b = 0,c= 0;
LL ans= 0;
for(int i = 0;i<len;i++)
{
if(str[i] >= 'a' && str[i] <= 'z')
{
a = b= c = 0;
}
else
{
if(sum[i+1] %3 == 0 )
{
a++;
ans +=a;
}
else if(sum[i+1] %3 == 1)
{
ans += b;
b++;
}
else
{
ans += c;
c++;
}
}
}
cout<<ans<<endl;
}
return 0;
}