#include<iostream>
#include<stack>
using namespace std;
bool proveri(stack<int>m,int b,bool x)
{
    stack<int>s=m;
    if(b==0)
        return true;
    int p,q,r;
    p=s.top();
    s.pop();
    q=s.top();
    s.pop();
    r=s.top();
    if(p<=q&& q<=r)
    {
        s.push(r);
        s.push(q);
        return proveri(s,b-1,x);
    }
    if(x==false)
        return false;
    if(p<=q&& q>r)
    {
        if(p>r)
        {
            s.push(q);
            s.push(p);
            x=false;
            return proveri(s,b-1,x);
        }
        else
        {
            stack<int>p1=s;
            stack<int>p2=s;
            p1.push(r);
            p1.push(p);
            p2.push(q);
            p2.push(p);
            x=false;
            return (proveri(p1,b-1,x)||proveri(p2,b-1,x));
        }
    }



}

bool pocetak(stack<int>m,int a, int b,bool x)
{
    stack<int>s=m;
    for(int i=0; i<a-1; i++)
    {
        s.pop();
    }
    int p,q,r;
    p=s.top();
    s.pop();
    q=s.top();
    s.pop();
    r=s.top();
    if(b-a==2)
    {
        if(p>q>r)
            return false;
        else
            return true;
    }
    if(a==b)
        return true;
    if(p>q&& q>r)
        return false;
    if(p<=q&& q<=r)
    {
        return proveri(s,b-a+1,true);
    }
    if(p>q&& q<=r)
    {
        if(p<=r)
        {
            stack<int>p1=s;
            stack<int>p2=s;
            p1.push(r);
            p1.push(p);
            p2.push(r);
            p2.push(q);
            x=false;
            return (proveri(p1,b-a+1,x)||proveri(p2,b-a+1,x));
        }
        else
            return false;
    }
    if(p<q&& q>r)
    {
        if(p>r)
        {
            s.push(q);
            s.push(p);
            x=false;
            return proveri(s,b-a+1,x);
        }
        else
        {
            s.push(r);
            s.push(p);
            x=false;
            return proveri(s,b-a+1,x);
        }
    }
}

int main()
{
    int n,q;
    cin>>n;
    stack<int>s;
    int x[n];
    bool y=true;
    int k[n];
    for(int i=0; i<n; i++)
        cin>>x[i];
    for(int i=n-1; i>-1; i--)
        s.push(x[i]);
    int a,b;

    cin>>q;

    for(int i=0; i<q; i++)
    {
        cin>>a>>b;
        if(pocetak(s,a,b,true))
            k[i]=1;
        else
            k[i]=0;
    }
    for(int i=0; i<q; i++)
    {
        if(k[i]==1)
            cout<<"DA"<<endl;
        else
            cout<<"NE"<<endl;
    }
    return 0;
}