#include <iostream>
#include <fstream>
#include <iomanip>
#include <cmath>
#include <algorithm>

#include <stdio.h>
#define MAX 2*10^5


using namespace std;

int main()
{
    
    int i;
    int n;//broj el glavnog niza
    scanf("%d",&n);
    int a[n];
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);//unos el u niza A
    }
    int q;
    scanf("%d",&q);//poklonjeni nizovi
    int da_ne[]={1,0};//1=DA 0=NE
    int odgovori[q];
    int podniz[MAX];
    int l[q];
    int r[q];
    for(i=0;i<q;i++){
        scanf("%d",&l[i]);
        scanf("%d",&r[i]);
        l[i]=l[i]-1;
        r[i]=r[i]-1;
    }
    int start;
    int kraj;
    int j=0,m,t;
    for(i=0;i<q;i++){
        start=l[i];
        kraj=r[i];
        int k=0;
        for(j=start;j<=kraj;j++){
            podniz[k]=a[j];
            k++;

        } int novi_podniz[r[i]-l[i]];
        for(t=0;t<r[i]-l[i];t++){
                    novi_podniz[t]=podniz[t];
                }
        int p=0;
        for(m=1;m<r[i]-l[i];m++){
            if(podniz[p]>podniz[m]){
                sort(novi_podniz + p,novi_podniz+(r[i]-l[i]));
                int y;
                for(y=0;y<r[i]-l[i];y++){
                    if(podniz[y]!=novi_podniz[y]){
                        {odgovori[i]=0; break;}
                    }else if(podniz[y]==novi_podniz[y]) odgovori[i]=1;
                }
            }
        }
    }

    for(i=0;i<q;i++){
        if(odgovori[i]==0)printf("NE\n");
        else printf("DA\n");
    }
    
    








    return 0;

}