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+=[*str(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 bs=[-1]*10 for i in range(10): bs[i]=bisect(idx[str(i)],r-1)-1 for st in e: if m!=len(st): continue p=defaultdict(int) a=0 pos=r-1 mv=[] for j in range(m): ns=st[~j] k=bs[int(ns)]#bisect(idx[ns],r-1)-1 if 0<=k-p[ns]