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)