#include <bits/stdc++.h>

using namespace std;

int main()
{
    cin.tie(0);
    ios_base::sync_with_stdio(false);
    int n;
    cin >> n;
    vector<int> a(n);
    int slucaj4 = true;
    for(int i = 0; i < n; i++){
        cin >> a[i];
        if (slucaj4 && a[i]!= 1 && a[i] != 2){
            slucaj4 = false;
        }

    }
    if(!slucaj4){
        vector<int> uljezi(n);
        if(a[0] > a[1]){
            uljezi[0] = 1;
        }
        for(int i = 1; i < n-1; i++){
            uljezi[i] = uljezi[i-1];
            if (a[i] > a[i+1]){
                uljezi[i]++;
            }
        }
        uljezi[n-1] = uljezi[n-2];
        if(a[n] < a[n-1]){
            uljezi[n-1]++;
        }
        int q;
        cin >> q;
        int l, r;
        for(int i = 0; i < q; i++){
            cin >> l >> r;
            if(l == 1){
                l = 2;
            }
            if(r == 1){
                r = 2;
            }
            
            if(uljezi[r-2] - uljezi[l-2] > 1){
                cout << "NE" << endl;
            }else{
                cout << "DA" << endl;
            }
        }
    }else{
        vector<int> promene(n);
        promene[0] = 0;
        vector<int> rBrojPromene;
        int j = 1;
        for(int i = 1; i < n; i++){
            promene[i] = promene[i-1];
            if(a[i] != a[i-1]){
                promene[i]++;
                rBrojPromene.push_back(i);
            }
        }
        int q;
        cin >> q;
        int l, r, razlika;
        int prva, druga, treca;


        for(int i = 0; i < q; i++){
            cin >> l >> r;
            prva = *lower_bound(rBrojPromene.begin(), rBrojPromene.end(), l);
            druga = *lower_bound(rBrojPromene.begin(), rBrojPromene.end(), prva+1);
            treca = *lower_bound(rBrojPromene.begin(), rBrojPromene.end(), druga+1);

            if(l == 1) {
                razlika = promene[r-1] - promene[0];
            }else{
                razlika = promene[r-1] - promene[l-1];
            }
            
            if(razlika == 1){
                if(a[l-1] == 1 || prva-l+1 == 1 || r-1-prva+1 == 1){
                    cout << "DA" << endl;
                }else{
                    cout << "NE" << endl;
                }
            }else if(razlika == 2){
                if((a[l-1] == 2 && (prva-l+1 == 1 || druga-prva ==1 ))||(a[l-1] == 1 && (r-1-druga+1 == 1 || druga-prva ==1) )){
                    cout << "DA" << endl;
                }else{
                    cout << "NE" << endl;
                }
            }else if(razlika == 3){
                if(a[l-1] == 1){
                    if(druga-prva == 1 || treca-druga == 1){
                        cout << "DA" << endl;
                    }else{
                        cout << "NE" << endl;
                    }
                }else{
                    cout << "NE" << endl;
                }
            }else{
                cout << "NE" << endl;
            }
        }
    }

    return 0;
}