#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; }