#include "bits/stdc++.h" using namespace std; #define MAX 10005 bool pr[MAX]; vector makeprime(){ vector re; for (int i = 2; i < MAX; i++) { if (pr[i]) continue; re.push_back(i); for (int j = i + i; j < MAX; j += i) { pr[j] = true; } } return re; } bool dp[MAX]; int main() { vector prime = makeprime(); int N; cin >> N; dp[0] = dp[1] = true;//trueだったらだめなので、初期値設定 for (int i = 2; i <= N; i++)//全部探索 { for (int j: prime) //vectorの中から、すべて検査できる便利な方法 { if (i - j < 0) break; dp[i] |= !dp[i - j];//ここがみそで、引いたときにその値がtrueだったら、負け。falseだったら勝ちだから、バーティカルで1をいれる。 } } if (dp[N]) cout << "Win" << endl;//一つも勝つ方法がない場合、1できない場合はまけ。 else cout << "Lose" << endl; }