//
//  main.cpp
//
// g++ -std=c++14 main.cpp
//

//#include "main.hpp"
#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#include <math.h>
using namespace std;
typedef long long ll;

int main(void){
    int n, u, v, m;
    cin >> n >> u >> v >> m;
    
    vector<int> usa(1000005, -1), neko(1000005, -1);
    int usa_tate[1000] = {}, usa_yoko[1000] = {}, usa_nana[2] = {};
    int neko_tate[1000] = {}, neko_yoko[1000] = {}, neko_nana[2] = {};
    for (int i = 0; i < n * n; i++) {
        int b;
        cin >> b;
        usa[b] = i;
    }
    for (int i = 0; i < n * n; i++) {
        int b;
        cin >> b;
        neko[b] = i;
    }
    
    int usa_p = 0, neko_p = 0;
    for (int i = 0; i < m; i++) {
        int k;
        cin >> k;
        
        if (usa[k] != -1) {
            usa_tate[usa[k] / n]++;
            if (usa_tate[usa[k] / n] == n) usa_p++;
            usa_yoko[usa[k] % n]++;
            if (usa_yoko[usa[k] % n] == n) usa_p++;
            
            if (usa[k] % n == usa[k] / n) {
                usa_nana[0]++;
                if (usa_nana[0] == n) usa_p++;
            }
            
            if (usa[k] % n == n - 1 - usa[k] / n) {
                usa_nana[1]++;
                if (usa_nana[1] == n) usa_p++;
            }
        }
        /*
        for (int i = 0; i < n; i++) cout << usa_tate[i] << " ";
        for (int i = 0; i < n; i++) cout << usa_yoko[i] << " ";
        cout << usa_nana[0] << " " << usa_nana[1] << endl;*/
        
        if (neko[k] != -1) {
            neko_tate[neko[k] / n]++;
            if (neko_tate[neko[k] / n] == n) neko_p++;
            neko_yoko[neko[k] % n]++;
            if (neko_yoko[neko[k] % n] == n) neko_p++;
            
            if (neko[k] % n == neko[k] / n) {
                neko_nana[0]++;
                if (neko_nana[0] == n) neko_p++;
            }
            
            if (neko[k] % n == n - 1 - neko[k] / n) {
                neko_nana[1]++;
                if (neko_nana[1] == n) neko_p++;
            }
        }
        
        /*
        for (int i = 0; i < n; i++) cout << neko_tate[i] << " ";
        for (int i = 0; i < n; i++) cout << neko_yoko[i] << " ";
        cout << neko_nana[0] << " " << neko_nana[1] << endl;
        
        cout << usa_p << " " << neko_p << endl;*/
        if (n >= 2) {
            if (usa_p >= u && neko_p >= v) {
                cout << "DRAW" << endl;
                return 0;
            }
            else if (usa_p >= u) {
                cout << "USAGI" << endl;
                return 0;
            }
            else if (neko_p >= v) {
                cout << "NEKO" << endl;
                return 0;
            }
        }
        else {
            if (usa_p/3 >= u && neko_p/3 >= v) {
                cout << "DRAW" << endl;
                return 0;
            }
            else if (usa_p/3 >= u) {
                cout << "USAGI" << endl;
                return 0;
            }
            else if (neko_p/3 >= v) {
                cout << "NEKO" << endl;
                return 0;
            }
        }
        
    }
    cout << "DRAW" << endl;
    
}

/*
g++ -std=c++14 main2.cpp
*/



Measured memory_bytes: 10764