Problem: 2050C - Uninteresting Number
Language: c++17 

Solution 1 (runtime: 77 ms):
#include <bits/stdc++.h>
using namespace std;
#define int long long int



int checku2(int a,int n){
  int e=(3*a*a);
  int countu=0;
  if(e<=n) countu++;
  e=(a+1)*(a)+(a+1)*(a)+(a*a);
  if(e<=n) countu++;
  e=(a+1)*(a+1)+(a+1)*(a)+(a+1)*(a);
  if(e<=n) countu++;
  e=(a+2)*(a)+(a+2)*(a)+(a*a);
  if(e<=n){
  countu++;
  }
  return countu;
}
int checku1(int a,int n){
  int e=(3*a*a);
  int countu=0;
  if(e<=n) countu++;
   e=(((a+1)*(a))+((a+1)*(a))+(a*a));
   if(e<=n) countu++;
   return countu;
}
int checku(vector<vector<int>> &vecu,int a[],int b){
  if(a[b]==0){
    vecu[b][0]=0;
    return 1;
  }
  else if(a[b]==2){
    int x=checku(vecu,a,vecu[b][1])+checku(vecu,a,vecu[b][2]);
    vecu[b][0]=x;
    return 1+x;
  }
  else{
    int x=checku(vecu,a,vecu[b][1]);
    vecu[b][0]=x;
    return 1+x;
  }
  return 0;
}
void sol()
{
  //  int n;
  //  cin>>n;
  //  int a[n];
  //  vector<string> vecu(n);
  //  int z=0;
  //  int x=0;
  // for(int i=0;i<n;i++){
  //   cin>>a[i];
  //   z=z+a[i];
  // }
  int x=0;
  int y=0;
  int b=0;
  string t;
  cin>>t;
  for(int i=0;i<t.length();i++){
    y=y+(int)(t[i]-48);
    if(t[i]=='2'){
      x=x+1;
    }
    else if(t[i]=='3'){
      b=b+1;
    }
  }
  // if(b>=6) b=6;
  int e=0;
  int x1=9;
  int b1=9;
  x=min(x,x1);
  b=min(b,b1);
  for(int i=0;i<=x;i++){
    for(int j=0;j<=b;j++){
      int l=(y+(2*i)+(6*j));
      if(l%9==0){
      e=1;
      break;
      }
    }
    if(e==1){
      break;
    }
  }
  if(e==1){
    cout<<"YEs";
  }
  else{
    cout<<"NO";
  }
  //  for(int i=0;i<n;i++){
    
  //  }


//    int l=n;
//   //  if(t[0]=='s'){
//   for(int i=0;i<n;i++){
//    if(t[i]=='p'){
//     l=i;
//     break;
//    }
//    x++;
//   }
//   //  }
//   // if(t[n-1]=='p'){
//   for(int i=n-1;i>=l;i--){
//    if(t[i]=='s'){
//     break;
//    }
//    y++;
//   }
//   // }
//   // cout<<x<<" "<<y<<" "<<l;
//   if(z==n){
//     cout<<"Yes";
//   }
//   else if(x+y==n){
//     if((x>0 && t[0]=='s') || y==0){
//       cout<<"Yes";
//     }
//     else if((y>0 && t[n-1]=='p') || x==0){
//       cout<<"Yes";
//     }
//     else{
// cout<<"NO";
//     }
//   }
//   else{
//     cout<<"NO";
//   }
  //  for(int i=0;i<n;i++){
  //   cout<<b[i]<<" ";
  //  }
   //  for(int i=0;i<n;i++){
  //   for(int j=0;j<l;j++){
  //     cout<<a[j][i]<<" ";
  //   }
  //   cout<<endl;
  //  }
  //  cout<<endl;
//  cout<<ansu;
     //  for(int i=0;i<n;i++){
  //   cout<<z[i];
  //  }
  // int x,y;
  // cin>>x>>y;
  //  cout<<ans;
    //  cout<<c1;
  //  cout<<ans<<endl;
  cout<<endl;
// cout<<f<<endl;
 return ;
 }
int32_t main(){
    int t;
    cin>>t;
    while(t--){
        sol();
    }
    // sol();

}




Solution 2 (runtime: 78 ms):
#include <iostream>
#include <vector>
using namespace std;



void solve(){
    string s;
        cin >> s;

        int t = 0, th = 0, sum = 0;
        for (char ch : s) {
            sum += (ch - '0');
            if (ch == '2') t++;
            if (ch == '3') th++;
        }
        t = min(t,9);
        th = min(th,9);
        for(int i = 0;i<=t;i++){
            for(int j = 0;j<=th;j++){
                if((sum + 2*i + 6*j)%9 == 0){
                    cout << "YES" << endl;
                    return;
                }
            }
        }
        cout << "NO" << endl;
        return;
        
}
int main() {
    int tt;
    cin >> tt;
    while (tt--) {
        solve();
    }
    return 0;
}