#include <cstdio>
#include <vector>
#include <set>
#include <algorithm>
#define MAX_N 100010
using namespace std;
//#define pii pair<int, int>
//vector<int> vout_a[MAX_N];
//vector<int> vin_a[MAX_N];
vector<int> vout_b[MAX_N];
vector<int> vin_b[MAX_N];
vector<int> b_outdeg;
vector<int> b_indeg;
int main() {
	int t;
	scanf("%d", &t);
	while (t--) {
		int n, m;
		scanf("%d%d", &n, &m);
		for (int i = 0; i < n; i++) {
			//vin_a[i].clear();
			vin_b[i].clear();
			//vout_a[i].clear();
			vout_b[i].clear();
		}
		b_outdeg.clear();
		b_indeg.clear();
		int a, b;
		char w;
		for (int i = 0; i < m; i++) {
			scanf("%d%*c%c%d", &a, &w, &b);
			a--; b--;
			if (w == '>') {
				//vout_a[a].push_back(b);
				vin_b[b].push_back(a);
			}
			else {
				//vin_a[a].push_back(b);
				vout_b[b].push_back(a);
			}
		}
		for (int i = 0; i < n; i++) {
			b_outdeg.push_back(vout_b[i].size());
			b_indeg.push_back(vin_b[i].size());
		}
		sort(b_outdeg.begin(), b_outdeg.end());
		//for (int i = 0; i < n; i++) {
			//printf("vb:%d b_outdeg:%d\n", b_outdeg[i].first, b_outdeg[i].second);
		//}
		sort(b_indeg.begin(), b_indeg.end());
		//for (int i = 0; i < n; i++) {
			//printf("vb:%d b_indeg:%d\n", b_indeg[i].first, b_indeg[i].second);
		//}
		bool na_pewno_przegrana = b_outdeg[0] > 0;
		bool przynajmniej_remis = !na_pewno_przegrana;
		bool na_pewno_wygrana = b_indeg[n - 1] == n;
		if (na_pewno_przegrana) {
			printf("PRZEGRANA\n");
		}
		else if (na_pewno_wygrana) {
			printf("WYGRANA\n");
		}
		else {
			printf("REMIS\n");
		}
	}
	return 0;
}
        | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | #include <cstdio> #include <vector> #include <set> #include <algorithm> #define MAX_N 100010 using namespace std; //#define pii pair<int, int> //vector<int> vout_a[MAX_N]; //vector<int> vin_a[MAX_N]; vector<int> vout_b[MAX_N]; vector<int> vin_b[MAX_N]; vector<int> b_outdeg; vector<int> b_indeg; int main() { int t; scanf("%d", &t); while (t--) { int n, m; scanf("%d%d", &n, &m); for (int i = 0; i < n; i++) { //vin_a[i].clear(); vin_b[i].clear(); //vout_a[i].clear(); vout_b[i].clear(); } b_outdeg.clear(); b_indeg.clear(); int a, b; char w; for (int i = 0; i < m; i++) { scanf("%d%*c%c%d", &a, &w, &b); a--; b--; if (w == '>') { //vout_a[a].push_back(b); vin_b[b].push_back(a); } else { //vin_a[a].push_back(b); vout_b[b].push_back(a); } } for (int i = 0; i < n; i++) { b_outdeg.push_back(vout_b[i].size()); b_indeg.push_back(vin_b[i].size()); } sort(b_outdeg.begin(), b_outdeg.end()); //for (int i = 0; i < n; i++) { //printf("vb:%d b_outdeg:%d\n", b_outdeg[i].first, b_outdeg[i].second); //} sort(b_indeg.begin(), b_indeg.end()); //for (int i = 0; i < n; i++) { //printf("vb:%d b_indeg:%d\n", b_indeg[i].first, b_indeg[i].second); //} bool na_pewno_przegrana = b_outdeg[0] > 0; bool przynajmniej_remis = !na_pewno_przegrana; bool na_pewno_wygrana = b_indeg[n - 1] == n; if (na_pewno_przegrana) { printf("PRZEGRANA\n"); } else if (na_pewno_wygrana) { printf("WYGRANA\n"); } else { printf("REMIS\n"); } } return 0; } | 
 
            
         English
                    English