#include<bits/stdc++.h>
                                    using namespace std;
                                    #define pb push_back
                                    #define endl '\n'
                                    #define mod 1000000007
                                    #define forn(i, n) for (int i = 0; i < (int)(n); i++)
                                    #define REPa(i,b) for(int i=1;i<=b;i++)
                                    #define REP(i,n) for(int i=0;i<n;i++)
                                    #define init(arr,value) memset(arr,value,sizeof(arr))
                                    #define test unsigned int tet;cin >> tet;while(tet--)
                                    #define sz(a) int((a).size())
                                    #define vi vector<int>
                                    typedef long long ll;
                                    typedef unsigned long long ull;
                                    typedef long double ld;
                                    typedef pair<int, int> pii;
                                    typedef pair<ll, ll> pll;
                                    #define sf scanf
                                    #define pf printf
                                    #define all(x) (x).begin(), (x).end()
                                    #define SUM(v) accumulate(all(v),ll(0))
                                    #define present(container, element) (container.find(element) != container.end())
                                    #define cpresent(container, element) (find(all(container),element) != container.end())
                                    int max(int a,float b){
                                        if(a>b)
                                          return a;
                                          return b;
                                    }
                                    ll gcd(ll a,ll b){
                                      if(a%b==0) return b;
                                      else
                                          return gcd(b,a%b);
                                      }
                                    ll lcm(ll a,ll b){
                                      return a*b/gcd(max(a,b),min(a,b));
                                      }
                                    bool sort_pair(pair<int,int>a,pair<int,int> b){
                                      return a.first<b.first;
                                     }
                                    bool sort_pair_(pair<int,int>a,pair<int,int>b){
                                      return a.second>b.second;
                            }
                                bool isprime(ll x){
                                    for(ll i=2;i*i<=(x);i++){
                                    if(x%i==0)
                                    return 0;
                                    }
                                        return 1;
                                    }
                                    int main(){
                                        string s;
                                        cin>>s;
                                        int n=sz(s);
                                        int sum=0;
                                        for(int i=0;i<n;i++){
                                            sum+=(s[i]-'0')%9;
                                        }
                                        
                                        if(sum%9==0)pf("Yes");
                                        else pf("No");
                                        
                                        
                                        
                                    }
                                    
                                    
                                    
                                    

Measured memory_bytes: 3816