#include using namespace std; long long int odd(int a[],int i,int ep); long long int even(int a[],int i,int ep); int fn(int a[],int ep){ long long int ret=0; for(int i=0;i<26;i++){ if(a[i]>1)ret+=even(a,i,ep); if(a[i]>0)ret+=odd(a,i); ret%=(1000000007); } return ret%1000000007; } long long int odd(int a[],int i,int ep){ int tep; if(a[i]>1)tep=ep-1; long long int ret =0; ret=a[i]; ret*=(pow(2,tep)-1); return ret; } long long int even(int a[],int i,int ep){ int tep=ep-1; long long int ret=0; ret=a[i]/2; ret*=(pow(2,tep)-1); return ret; } int main() { int n,q; cin>>n>>q; string s; cin>>s; cout<0){ int tp; cin>>tp; if(tp==1){ int x,y,z; cin>>x>>y>>z; for(int i=x;i<=y;i++){ s[i]=char((((s[i]-'a')+z)%26)+'a'); //cout<>x>>y; //string str=s.substr(x,(y-x+1)); int a[26]; for(int i=0;i<26;i++)a[i]=0; for(int i=x;i<=y;i++)a[s[i]-'a']++; for(int i=0;i<26;i++); long long int ep=0; for(int i=0;i<26;i++)ep+=(a[i]*(a[i]-1)); cout<