int main(){ redirect(); while(cin>>N>>K){ for(int i=0;i<N;i++) cin>>v[i]; st.buildTree(); for(int i=0;i<K;i++){ cin>>ch>>a>>b; if(ch=='C'){ v[a-1]=b; st.update(1,0,N-1,a-1); } else{ cout<<st.query(a-1,b-1); } } cout<<endl; } return 0; }
int main(){ redirect(); while(cin>>N){ if(!N) break; cin>>Q; ori.clear(); freq.clear(); for(int i=0;i<N;i++){ cin>>t; ori.push_back(t); } translateToFreq(); st.buildTree(); for(int j=0;j<Q;j++){ cin>>a>>b; cout<<st.query(a-1,b-1)<<endl; } } return 0; }