#include <stdio.h>
#include <string.h>
int main() {
int T;
if (scanf("%d", &T) != EOF) {
char n[1000000];
for (int t = 0; t < T; t++) {
scanf("%s", n);
int len = strlen(n);
int sum = 0;
int a[10] = {0};
int count = 0;
for (int i = 0; i < len; i++) {
sum += n[i] - '0';
a[n[i] - '0']++;
}
int oktodelete = a[0] + a[3] + a[6] + a[9];
if (sum % 3 == 0) {
if (len > oktodelete) {
count = oktodelete;
} else {
count = oktodelete - 1;
}
} else if (sum % 3 == 1) {
if (len - a[0] > 1) {
int m1 = a[1] + a[4] + a[7];
if (m1 == 1 && (n[0] == '1' || n[0] == '4' || n[0] == '7')) {
int i = 1;
while (n[i] == '0') {
oktodelete--;
i++;
}
if(len - i == oktodelete) oktodelete--;
}
if (m1 != 0) {
if (len > oktodelete + 1) {
count = oktodelete + 1;
} else {
count = oktodelete;
}
}
}
} else if (sum % 3 == 2) {
if (len - a[0] > 1) {
int m1 = a[2] + a[5] + a[8];
if (m1 == 1 && (n[0] == '2' || n[0] == '5' || n[0] == '8')) {
int i = 1;
while (n[i] == '0') {
a[0]--;
i++;
}
if(len - i == oktodelete) oktodelete--;
}
if (m1 != 0) {
if (len > oktodelete + 1) {
count = oktodelete + 1;
} else {
count = oktodelete;
}
}
}
}
printf("%d\n", count);
}
} else {
printf("无输入\n");
}
return 0;
}