#include using namespace std; #define ALL(x) begin(x),end(x) #define rep(i,n) for(int i=0;i<(n);i++) #define debug(v) cout<<#v<<":";for(auto x:v){cout<bool chmax(T &a,const T &b){if(abool chmin(T &a,const T &b){if(b ostream &operator<<(ostream &os,const vector&v){ for(int i=0;i<(int)v.size();i++) os< istream &operator>>(istream &is,vector&v){ for(T &x:v)is>>x; return is; } /* (0,0) a u v w */ // struct tri{ // int u,v,w; // int x,y; // tri(int u,int v,int w,int x,int y):u(u),v(v),w(w),x(x),y(y){} // tri(){} // }; using P=pair; signed main(){ int x=0,y=0; string s;cin>>s; char lf='b',ri='c',tp='a'; bool ue=true; set

st; st.insert(P(x,y)); for(auto &c:s){ if(ue){ ue=false; if(c==lf){ x++; char ntp=ri,nlf=tp,nri=lf; tp=ntp,lf=nlf,ri=nri; } else if(c==ri){ x--; char ntp=lf,nlf=ri,nri=tp; tp=ntp,lf=nlf,ri=nri; } else if(c==tp){ y++; } }else{ ue=true; if(c==lf){ x++; char ntp=ri,nlf=tp,nri=lf; tp=ntp,lf=nlf,ri=nri; } else if(c==ri){ x--; char ntp=lf,nlf=ri,nri=tp; tp=ntp,lf=nlf,ri=nri; } else if(c==tp){ y--; } } st.insert(P(x,y)); } cout<