#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define MP make_pair #define PB push_back typedef long long LL; typedef pair Pii; const int inf = 0x3f3f3f3f; const LL INF = (1uLL << 63) - 1; const LL mod = 1000000007; const double Pi = acos(-1.0); const int maxn = 1e5 + 5; #define mid (( l + r ) >> 1) #define lson l,mid, o<<1 #define rson mid+1,r,o<<1|1 char s[505]; int dp[505][505]; int query(int l , int r){ for(int i = l; i <= r; i++){ dp[i][i] = 1; for(int j = i - 1; j >= l; j--){ if(s[i]==s[j])dp[j][i] = dp[j+1][i] + dp[j][i-1] + 1; else dp[j][i] = dp[j+1][i] + dp[j][i-1] - dp[j+1][i-1]; } } return dp[l][r]; } void fix(int l,int r,int t){ for(int i = l ;i <= r; i++){ s[i] = (s[i] - 'a' + t )% 26 + 'a'; } } int main() { #ifdef local freopen("in", "r", stdin); #endif ios::sync_with_stdio(false); int n,q; cin>>n>>q; cin>>s; for(int i = 0 ; i < q; i++){ int x,l,r,t; cin>>x; if(x==2){ cin>>l>>r; cout<>l>>r>>t; fix(l,r,t); } } }