#include <bits/stdc++.h>
using namespace std;
int n,niz[200007],q,a,b;
long long m[200007];
bool mozda(int a,int b){
	for(int i=a;i<=b-2;i++){
			if(niz[i]==2 and niz[i+1]==2 and niz[i+2]==1)return true;
	}
	return false;
}
int main(){
	scanf("%d",&n);
	int br=0;
	for(int i=1;i<=n;i++){
			scanf("%d",&niz[i]);
			if(niz[i]==1 or niz[i]==2)br++;
	}
	for(int i=1;i<=n-1;i++){
			if(niz[i]>niz[i+1])m[i]++;
	}
	for(int i=2;i<=n;i++){
			m[i]+=m[i-1];
	}
	if(br==n){
		 scanf("%d",&q);
		 while(q--){
			 scanf("%d %d",&a,&b);
			 if(m[b-1]-m[a-1]>=2)printf("NE\n");
			 else{
					if(mozda(a,b))printf("NE\n");
				  else printf("DA\n");
			 }
		 }
		 return 0;
	}
	scanf("%d",&q);
	while(q--){
		scanf("%d %d",&a,&b);
		if(m[b-1]-m[a-1]>=2)printf("NE\n");
		else printf("DA\n");
	}


	return 0;
}