#include <iostream>
#include <fstream>
#include <map>
#include <vector>
#include <set>
using namespace std;

map <char, int> m; //用map來記錄出現的英文字母(腦區域)和對應的array index
int Count = 0;
int Find(char c){ //回傳該字母的array index, 若該字母首次出現, 則安排新index
    map<char, int>::iterator iter;
    iter = m.find(c);

    if(iter != m.end())
        return iter->second;
    else{
        m[c] = Count;
        return Count++;
    }
}

int main(){
    int N;
    while(cin >> N){
        m.clear();
        Count = 0;

        int cmd;
        cin >> cmd;

        string init;
        cin >> init;

        int brain[N][N]; //紀錄大腦各區域
        set<int> wake; //紀錄已經wake的區域
        for(int i = 0; i<N; i++){ //大腦array初始化 -1:未聯通 0:連通但沒有wake 1:連通且wake
            for(int j = 0; j<N; j++) 
                brain[i][j] = -1;
        }

        for(char c : init){ //紀錄直接喚醒的區域
            int t = Find(c);
            brain[t][t] = 1; //brain[t][t]紀錄t區域本身是否wake 1代表wake
            wake.insert(t);
        }

        while(cmd--){ //紀錄倆倆連結的區域
            string s;
            cin >> s;

            int a = Find(s[0]);
            int b = Find(s[1]);
            if(wake.count(a) || wake.count(b)){
                brain[a][b] = 1;
                brain[b][a] = 1;
            }
            else{
                brain[a][b] = 0;
                brain[b][a] = 0;
            }
        }

        int wake_num = init.length(), year = 0;
        bool check = true;
				//如果wake數量等於區域數量就break;或該年沒有區域wake也break;
        while(wake_num < N && check){ 
            vector<int> temp; //紀錄該年wake的區域
            check = false;

            for(int i = 0; i<N; i++){
                if(brain[i][i] == -1){ //沒有wake的區域
                    int connect = 0;
                    for(int j = 0; j<N; j++){ //紀錄連結幾個已wake的區域
                        if(brain[i][j] == 1)
                            connect++;
                    }

                    if(connect >= 3){
                        wake_num++;
                        check = true;
                        brain[i][i] = 1;
                        temp.push_back(i);
                    }
                }
            }

            for(int i : temp){ //修改該年wake區域和其他區域的關係
                for(int j = 0; j<N; j++){
                    if(brain[i][j] == 0)
                        brain[i][j] = 1;
                    if(brain[j][i] == 0)
                        brain[j][i] = 1;
                }
            }
            year++;
        }

        if(wake_num == N)
            cout << "WAKE UP IN, " << year << ", YEARS\\n";
        else
            cout << "THIS BRAIN NEVER WAKES UP\\n";
    }
    return 0;
}