#include #define REP(i, n) for(int i = 0; i < (int)(n); i++) #define FOR(i, j, k) for(int i = (int)(j); i < (int)(k); ++i) #define print(x) cout << x << endl; using namespace std; bool isprime[10010]; int GetPrime(int m){ int n=m; REP(i, m+1){ isprime[i] = true; } isprime[0] = isprime[1] = false; n -= 1; FOR(i, 2, m+1){ if(isprime[i]){ FOR(j, 2, m/i+1){ if(isprime[i*j]){ isprime[i*j] = false; n -= 1; } } } } return n; } void GetPrimeList(int n, int m, int *L){ int k = 0; REP(i, m+1){ if(isprime[i]){ L[k] = i; k += 1; } } } int main(void){ cin.tie(0); ios::sync_with_stdio(false); int N; cin >> N; int n; n = GetPrime(N); int L[n]; GetPrimeList(n, N, L); /*dP[N] Nのとき勝つ方法があるならtrue*/ bool dp[10010]; int tmp; dp[2] = false; /*相手にdP[tmp]=falseを渡せるならtrue*/ FOR(i, 3, N+1){ dp[i] = false; for(int j= 0; j 1){ dp[i] = true; break; } } } if(dp[N]){ print("Win"); }else{ print("Lose"); } return 0; }