from bisect import* from collections import* n,q=map(int,input().split()) s=input() e=[] for i in range(1000): if i%8==0 and'0'not in str(i): e+=i, idx=defaultdict(list) for i in range(n): idx[s[i]]+=i, INF=1<<60 for _ in range(q): l,r=map(int,input().split()) l-=1 d=r-l m=min(d,3) ans=INF for i in e: st=[*str(i)] if m!=len(st): continue p=defaultdict(int) a=0 pos=r-1 while st: ns=st.pop() k=bisect(idx[ns],pos)-1 if 0<=k-p[ns]