#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include template inline T& RD(T &x){ //cin >> x; //scanf("%d", &x); char c; for (c = getchar(); c < '0'; c = getchar()); x = c - '0'; for (c = getchar(); '0' <= c && c <= '9'; c = getchar()) x = x * 10 + c - '0'; //char c; c = getchar(); x = c - '0'; for (c = getchar(); c >= '0'; c = getchar()) x = x * 10 + c - '0'; return x; } using namespace std; const int N = 1e5 + 1; long long tree[N][34]; typedef long long LL; #define fi first #define se second #define MP make_pair const LL PP = 1e5 + 1; const LL P[] = {1 , PP , PP * PP}; pair H[11][11]; inline int lb(int x) { return x & -x ;} int n , m; char Op[5]; int a[N]; int l , r , d , p , x , y; void add(int x , int y , LL z){ for ( ; x <= n ; x += lb(x)) tree[x][y] += z; } LL Q(int x , int y){ LL ret = 0; // cout << x << ' ' << y << ' '; for ( ; x ; x -= lb(x)) ret += tree[x][y]; // cout << ret << endl; return ret; } void solve(){ static int i , j; RD(n);RD(m); for (i = 1 ; i <= n ; ++i){ RD(a[i]); memset(tree[i] , 0 , sizeof(tree[i])); } for (i = 1 ; i <= n ; ++i){ l = a[i]; for (j = 0 ; j < 10 ; ++j){ r = l % 10; l /= 10; static pair pos; pos = H[j][r]; add(i , pos.fi , P[pos.se]); } } while(m--){ scanf("%s" , Op); if (Op[0] == 'S'){ scanf("%d%d" , &x , &y); l = a[x] , r = y; for (i = 0 ; i < 10 ; ++i){ if (l % 10 != r % 10){ static pair posl , posr; posl = H[i][l%10] , posr = H[i][r%10]; add(x , posl.fi , -P[posl.se]); add(x , posr.fi , P[posr.se]); } l /= 10; r /= 10; } a[x] = y; } else{ scanf("%d%d%d%d" , &l , &r , &d , &p); d--; // cout << l << ' ' << r << ' ' << d << ' ' << p << endl; LL ret = Q(r , H[d][p].fi) - Q(l - 1 , H[d][p].fi); // cout << ret << endl; for (i = 0 ; i < H[d][p].se ; ++i) ret /= PP; printf("%I64d\n" , ret % PP); } } } int main(){ // freopen("0.txt" , "r" , stdin); pair c = MP(0 , 0); for (int i = 0 ; i < 10 ; ++i) for (int j = 0 ; j < 10 ; ++j){ H[i][j] = c; ++c.se; if (c.se == 3){ c.fi++; c.se = 0; } } int _; scanf("%d" , &_); while(_--) solve(); }