int main(){ int t,key,i,tmp; char a[100005]; t=fast_int(); while(t--){ key=fast_int(); scanf("%s",a); if(key<26){ for(i=0;a[i]!='\0';i++){ tmp=a[i]; if(tmp>=65&&tmp<=90){ tmp-=65; tmp=(tmp+key)%26; tmp+=65; }else if(tmp>=97&&tmp<=122){ tmp-=97; tmp=(tmp+key)%26; tmp+=97; }else{ tmp=32; } a[i]=tmp; } }else{ key-=26; for(i=0;a[i]!='\0';i++){ tmp=a[i]; if(tmp>=65&&tmp<=90){ tmp-=65; tmp=(tmp+key)%26; tmp+=97; }else if(tmp>=97&&tmp<=122){ tmp-=97; tmp=(tmp+key)%26; tmp+=65; }else{ tmp=32; } a[i]=tmp; } } printf("%s\n",a); } }
int main() { int n,m,i,j; n = fast_int(); m = fast_int(); int a[n+1]; for(i=0;i<n;i++) { a[i] = fast_int(); } long long sumTree[262143 + 1000] = {0}; createTree(1,0,n-1,sumTree,a); long long pairs[m]; int l[m+1]; int r[m+1]; for(i=0;i<m;i++) { l[i] = fast_int(); r[i] = fast_int(); pairs[i] = findRangeSum(1,0,n-1,sumTree,l[i]-1,r[i]-1); } int k; int count; int change = 0; k = fast_int(); while(k--) { int x,y; count = 0; x = fast_int(); y = x + change; for(j=0;j<m;j++) { if(y>=l[j] && y<=r[j]) { pairs[j]--; } if(pairs[j] == 0) { count++; } } change = count; printf("%d\n",count); } return 0; }