#include <bits/stdc++.h>
using namespace std;
vector<long long int> adj[500010], z;
bool vis[500010];
void initialize() {
  for (long long int i = 0; i < 500010; i++) {
    vis[i] = false;
  }
}
long long int e;
set<long long int> s1, s2;
void dfs(long long int s) {
  e++;
  vis[s] = true;
  for (long long int i = 0; i < adj[s].size(); i++) {
    if (vis[adj[s][i]] == false) {
      dfs(adj[s][i]);
    }
  }
}
signed main() {
  long long int m;
  cin >> m;
  set<pair<long long int, long long int>> s;
  for (long long int i = 0; i < m; i++) {
    long long int x, y;
    cin >> x >> y;
    adj[x].push_back(y);
    adj[y].push_back(x);
    s.insert({x, y});
    s.insert({y, x});
  }
  for (long long int i = 1; i <= 3; i++) {
    for (long long int j = i + 1; j <= 4; j++) {
      for (long long int k = j + 1; k <= 5; k++) {
        if ((s.find({i, j}) != s.end()) && (s.find({j, k}) != s.end()) &&
            (s.find({k, i}) != s.end())) {
          cout << "WIN";
          return 0;
        }
        if ((s.find({i, j}) == s.end()) && (s.find({j, k}) == s.end()) &&
            (s.find({k, i}) == s.end())) {
          cout << "WIN";
          return 0;
        }
      }
    }
  }
  cout << "FAIL";
}
