#include<stdio.h>
char C[101];
int n, q, l, r;
int main(void)
{
    int times;
    char fin[100], fout[100];
    for( times = 1 ; times <= 20 ; times++ )
    {
        sprintf(fin,".%d.in", times);
        sprintf(fout,".%d.out", times);
        freopen(fin,"r",stdin);
        freopen(fout,"w",stdout);
        int i, p;
        scanf("%d%d",&n,&q);
        scanf("%s", C);
        while(q--)
        {
            int digit[10] = {}, CP=0, DP=1, flag = -1;
            char program[101] = {};
            scanf("%d%d",&l,&r);
            for( l--, r--, i = l, p = 0 ; i <= r ; i++, p++ ) program[p] = C[i];
            while( 0 <= CP && CP <= r-l )
            {
                if( '0' <= program[CP] && program[CP] <= '9' )
                {
                    digit[program[CP]-'0']++;

                    program[CP]--;
                    if(program[CP]<'0') program[CP] = 'X';
                    CP+=(DP?1:-1);
                    flag = -1;
                }
                else if( program[CP] == '<' || program[CP] == '>' )
                {
                    if( flag != -1 ) program[flag] = 'X';
                    if( program[CP] == '<' ) DP = 0;
                    else DP = 1;
                    flag = CP;
                    CP+=(DP?1:-1);

                }
                else if( program[CP] == 'X') CP+=(DP?1:-1);
            }
            for( i = 0 ; i < 10 ; i++ )
                printf("%d ", digit[i]);
            puts("");
        }
    }
}
