#include<bits/stdc++.h>
using namespace std;
#define int long long 
#define endl '\n'
/*
3的倍数(各个位数之和为3的倍数)
*/
void solve()
{
	string s; cin>>s; int len=s.size(); s=" "+s;
	int cnt0=0;
	int cnt1=0;
	int cnt2=0;
	int cnt3=0;
	int f=0;
	int y=0;
	for(int i=1;i<=len;i++)
	{
		int x=s[i]-'0';
		if(x)
		{
			f++;
		}
		y+=x;
		cnt0+=(x==0);
		cnt1+=(x%3==1);
		cnt2+=(x%3==2);
		cnt3+=(x%3==0&&x!=0);
	}
	if(y%3!=0&&(f==1||y<3))
	{
		cout<<0<<endl; return ;
	}
	int ans=0;
	y%=3;
	if(y==1&&cnt1) 
	{
		ans++;
		if(cnt1==1&&(s[1]-'0')%3==1)
		{
			
			int j=2;
			while(j<=len)
			{
				if(s[j]=='0') 
				{
					len--,cnt0--;
				}
				else break;
				j++;
			}
		}
	}
	else if(y==2&&cnt2) 
	{
		ans++;
		if(cnt2==1&&(s[1]-'0')%3==2)
		{
			int j=2;
			while(j<=len)
			{
				if(s[j]=='0') len--,cnt0--;
				else break;
				j++;
			}
		}
	}
	if(y%3==0||ans) 
	{
		ans+=cnt0;//有删除 则肯定是3的倍数
		ans+=cnt3;
	}
	if(ans==len) ans--;//例如30
	cout<<ans<<endl;
}
/*
1
1030
*/

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	int T=1;
	cin>>T;
	while(T--) solve();
	return 0;
}