#include <bits/stdc++.h>
using namespace std;
const long long MAXN = 200010;
long long niz[MAXN];
long long niz2[MAXN];
long long niz3[MAXN];
long long kecevi[MAXN];
long long prelomi[MAXN];
long long n, q;
int binarySearch(long long arr[], long long l, long long r, long long x)
{
    while (l <= r) {
        int m = l + (r - l) / 2;
        if (arr[m] == x)
            return m + 1;
        if (arr[m] < x)
            l = m + 1;
        else
            r = m - 1;
    }
    return -1;
}
long long kolko[MAXN];
int main(){
    scanf("%lld",&n);
    for(int i = 1; i <= n; i++){
        scanf("%lld", &niz[i]);
    }
    bool subtask = false;
    long long poz = 2;
    long long vr;
    for(int i = 1; i <= n; i++){
        long long greska = 0;
        vr = 0;
        for(poz; poz <= n; poz++){
                //cout << i << " " << poz << " " << greska << endl;
            if(greska == 0 && niz[poz] < niz[poz - 1]){
                greska++;
                if(poz - i >= 2)
                    vr = niz[poz - 2];
            }
            else if(greska == 1 && (niz[poz] < niz[poz - 1] || vr > niz[poz])){
                kolko[i] = max(i*1ll, poz);
                //cout << "poz" << poz << " " << kolko[i] << endl;
                poz;
                break;
            }
            if(niz[poz] < vr && greska == 1){
                kolko[i] = max(i*1ll, poz);
                break;
            }


        }
        //cout << poz << endl << endl;
        kolko[i] = max(kolko[i], max(i * 1ll, poz - 1));
    }
    /*cout << endl;
    for(int i = 1; i <= n; i++)*
        cout << kolko[i] << endl;*/
    scanf("%lld",&q);
    while(q--){
        long long l, r;
        scanf("%lld %lld", &l, &r);
        if(kolko[l] >= r)
            printf("DA\n");
        else
            printf("NE\n");
    }
    return 0;
}