#include <bits/stdc++.h>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n;
    cin>>n;
    vector<int> a(n);
    for(int i=0;i<n;i++)
        cin>>a[i];
    bool svi12=true;
    for(int i=0;i<n;i++)
        if(a[i]>2)
        svi12=false;
    int q,l,r;
    cin>>q;
    if(svi12)
    {
        vector<int> indeks1;
        vector<int> indeks2;
        for(int i=0;i<n;i++)
        {
            if(a[i]==1)
                indeks1.push_back(i);
            else
                indeks2.push_back(i);
        }
        indeks1.push_back(n);
        indeks2.push_back(n);
        while(q--)
        {
            cin>>l>>r;
            l--,r--;
            int i1=min(r,indeks2[lower_bound(indeks2.begin(),indeks2.end(),l)-indeks2.begin()]);
            int i2=min(r,indeks1[lower_bound(indeks1.begin(),indeks1.end(),i1)-indeks1.begin()]);
            int i3=min(r,indeks2[lower_bound(indeks2.begin(),indeks2.end(),i2)-indeks2.begin()]);
            int i4=min(r,indeks1[lower_bound(indeks1.begin(),indeks1.end(),i3)-indeks1.begin()]);
            if((i4==r&&i3-i2<2)||(i2-i1<2&&i4==r))
                cout << "DA" << endl;
            else
                cout << "NE" << endl;
        }
        return 0;
    }
    while(q--)
    {
        cin>>l>>r;
        l--,r--;
        if(l==r)
        {
            cout << "DA" << endl;
            continue;
        }
        int cnt=0,Max=a[l],Maxp=0;
        for(int i=l+1;cnt<2&&i<=r;i++)
        {
            if(a[i]<Max&&a[i]<Maxp)
                cnt++;
            else if(a[i]<Max)
                Max=a[i],cnt++;
            else
                Maxp=Max,Max=a[i];
        }
        if(cnt<2)
            cout << "DA" << endl;
        else
            cout << "NE" << endl;
    }
    return 0;
}