#include using namespace std; #define REP(i, a, b) for (int i = a; i <= b; i++) #define FOR(i, n) for (int i = 0; i < n; i++) #define foreach(it, ar) for ( typeof(ar.begin()) it = ar.begin(); it != ar.end(); it++ ) #define fill(ar, val) memset(ar, val, sizeof(ar)) #define PI 3.1415926535897932385 #define uint64 unsigned long long #define Int long long #define int64 long long #define all(ar) ar.begin(), ar.end() #define pb push_back #define ff first #define ss second #define bit(n) (1<<(n)) #define Last(i) ( (i) & (-i) ) #define sq(x) ((x) * (x)) #define INF INT_MAX #define mp make_pair #define MAX 200000 int main ( ) { int n , q ; scanf("%d%d",&n,&q) ; string s ; cin >> s ; while( q-- ) { int t , st , en ; scanf("%d%d%d",&t,&st,&en) ; if( t == 1 ) { int p ; scanf("%d",&p) ; for( int i = st ; i <= en ; i ++ ) { int tp = s[i] - 'a' ; tp = (tp + p)%26 ; s[i] = (char)( 'a' + tp ) ; } // cout<= 0 ; j -- ) { if( i & ( 1 << j ))m[s[j+st]-'a']++ ; } for( int k = 0 ; k < 26 ; k ++ ) if( m[k] & 1 )cnt++ ; if( cnt <= 1 ) ans ++ ; } cout<