#include "testlib.h"
#include<bits/stdc++.h>
using namespace std;
#define nmax 100001
typedef vector<int> vti;
vti dsk[nmax];

int m, n, as, os, p[nmax];

void readInput() {
    m = inf.readInt();
    n = inf.readInt();
    while (!inf.seekEof()) {
        int i = inf.readInt(), j = inf.readInt();
        dsk[j].push_back(i);
    }
}

bool canWork(int j, int i) {
    for (int x : dsk[j])
        if (x == i)
            return 1;
    return 0;
}

void readOutput() {
    as = ans.readInt();
    os = ouf.readInt();

    if (os < as)
        quitf(_wa, "Số việc làm được chưa tối ưu (Jury: %d, Bạn: %d)\n", as, os);

    memset(p, 0, sizeof p);
    for (int j = 1; j <= n; j++) {
        int i = ouf.readInt(0, m);
        if (i > 0) {
            os--;
            if (p[i])
                quitf(_wa, "Thợi thứ %d đã được phân công việc khác rồi!\n", i);
            if (!canWork(j, i))
                quitf(_wa, "Thợ thứ %d không thể thực hiện công việc %d!\n", i, j);
            p[i] = j;

        }
    }
    if (os != 0)
        quitf(_wa, "Số việc có thể làm được chưa đúng!\n");

    if (!ouf.seekEof())
        quitf(_wa, "Dữ liệu ra không đúng ddingj dạng!\n");

    quitf(_ok, "Chúc mừng, bạn có năng khiếu làm quản đốc đấy!\n");
}

int main(int c, char **ars) {
    registerTestlibCmd(c, ars);
    readInput();
    readOutput();
    return 0;
}
