#include <iostream>
#include <vector>

using namespace std;

int main()
{
	for(int n,u,v,m;cin>>n>>u>>v>>m;){
		vector<int> ris(1e6+1,-1),rjs=ris,cis=ris,cjs=rjs;
		for(int i=0;i<n;i++)
			for(int j=0;j<n;j++){
				int x; cin>>x;
				ris[x]=i,rjs[x]=j;
			}
		for(int i=0;i<n;i++)
			for(int j=0;j<n;j++){
				int x; cin>>x;
				cis[x]=i,cjs[x]=j;
			}
		vector<int> xs(m);
		for(int i=0;i<m;i++) cin>>xs[i];
		
		int rcnt=0,ccnt=0;
		if(n==1){ // corner case
			for(int x:xs){
				if(ris[x]!=-1) rcnt++;
				if(cis[x]!=-1) ccnt++;
				if(rcnt>=u && ccnt<v){
					cout<<"USAGI"<<endl;
					goto end;
				}
				if(rcnt<u && ccnt>=v){
					cout<<"NEKO"<<endl;
					goto end;
				}
			}
		}
		else{
			vector<int> ric(n),rjc(n),rdc(2),cic(n),cjc(n),cdc(2);
			for(int x:xs){
				if(ris[x]!=-1){
					if(++ric[ris[x]]==n) rcnt++;
					if(++rjc[rjs[x]]==n) rcnt++;
					if(ris[x]==rjs[x] && ++rdc[0]==n) rcnt++;
					if(ris[x]==n-1-rjs[x] && ++rdc[1]==n) rcnt++;
				}
				if(cis[x]!=-1){
					if(++cic[cis[x]]==n) ccnt++;
					if(++cjc[cjs[x]]==n) ccnt++;
					if(cis[x]==cjs[x] && ++cdc[0]==n) ccnt++;
					if(cis[x]==n-1-cjs[x] && ++cdc[1]==n) ccnt++;
				}
				if(rcnt>=u && ccnt<v){
					cout<<"USAGI"<<endl;
					goto end;
				}
				if(rcnt<u && ccnt>=v){
					cout<<"NEKO"<<endl;
					goto end;
				}
			}
		}
		cout<<"DRAW"<<endl;
		
		end:;
	}
}