n=int(input()) a=list(map(int,input().split())) q=int(input()) lr=[] for i in range(q): l,r=map(int,input().split()) lr.append((l,r)) f=[] g=[] f.append(0) g.append(0) for i in range(n-1): if a[i]>a[i+1]: f.append(i+1) for i in range(n-1): if a[i]<a[i+1]: g.append(i+1) import bisect for i in range(q): l,r=lr[i] idx_l=bisect.bisect_right(f,l) idx_r=bisect.bisect_right(f,r) if (idx_l==idx_r): flag1=1 else: flag1=0 idx_l=bisect.bisect_right(g,l) idx_r=bisect.bisect_right(g,r) if (idx_l==idx_r): flag2=1 else: flag2=0 print(flag1,flag2)