#include <iostream>

using namespace std;

//int f[10000][10000];

int f[20000][20000];
bool moze(int li,int ri,int f[][20000])
{
    bool v1=0;
    int o=0;
    for(int j=li;j<=ri;j++)
    {
        if(f[li][j]>1) v1=1;
        if(f[li][j]>0) o++;

    }
    if(v1&&o>1) return 0;
    return 1;
}

bool odg[100000];
int a[200000];
int main()
{

    int n;
    cin>>n;

    for(int i=1;i<=n;i++) cin>>a[i];

    for(int i=1;i<=n;i++)
        for(int j=1;j<i;j++) if(a[j]>a[i]) f[1][i]++;

    for(int i=2;i<=n;i++)
        for(int j=i+1;j<=n;j++)
            if(a[i-1]>a[j]) f[i][j]=f[i-1][j]-1;
            else f[i][j]=f[i-1][j];

    /*
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
            if(j<i) cout<<"  ";
            else cout<<f[i][j]<<" ";
        cout<<endl;
    }*/

    int q,li,ri;


    cin>>q;
    for(int i=0;i<q;i++)
    {
        cin>>li>>ri;
        odg[i]=moze(li,ri,f);
    }
    for(int i=0;i<q;i++)
        if(odg[i]) cout<<"DA"<<endl;
        else       cout<<"NE"<<endl;

    return 0;
}