module main; // https://yang33-kassa.jp/yukicoder/yukicoder007/ より import std; int N; int[] primes; // エラトステネスの篩によってm以上n未満の素数の表を返す T[] sieve(T)(T m, T n) { T[] primes = new T[](n); foreach (i; 2 .. n) primes[i] = i; for (T i = 2; i*i < n; ++i) if (primes[i]) for (T j = i*i; j < n; j += i) primes[j] = 0; return primes.remove!(a => a < m).array; } int grundy(int n, int[] state) { if (state[n] != -1) return state[n]; auto se = redBlackTree!int(); foreach (p; primes) { if (n - p >= 2) se.insert(grundy(n - p, state)); else break; } int subgame = 0; while (subgame in se) subgame++; return state[n] = subgame; } void main() { // 入力 N = readln.chomp.to!int; // 答えの計算と出力 primes = sieve(2, N + 1); auto state = [-1].replicate(N + 1); state[2] = state[3] = 0; int ans = grundy(N, state); writeln(ans == 0 ? "Lose" : "Win"); }