p=[] for i in range(1000): if i%8==0: v=tuple(list(map(int,(str(i).zfill(3))[::-1]))) if 0 not in v: p+=[v] n,Q=map(int,input().split()) s=list(map(int,input()))[::-1] s+=list(range(1,10))*4 y=[[-1]*len(s) for i in range(10)] for i in range(len(s)): y[s[i]][i]=i for j in range(10): for i in reversed(range(len(s)-1)): if y[j][i]==-1: y[j][i]=y[j][i+1] X=10**10 def solve(l,r,p): p1,p2,p3=p z=[] ll=l z+=[y[p1][ll]] ll=l if p2==p1: ll=z[0]+1 z+=[y[p2][ll]] ll=l if p3==p1: ll=z[0]+1 if p3==p2: ll=z[1]+1 z+=[y[p3][ll]] if max(z)>r: return X z[0]-=l z[1]-=l z[2]-=l p1,p2,p3=z a=(p1-0)+(p2-1)+(p3-2) a+=p2