#include #include #include using namespace std; bool isPrime[10001]; vector primes; int cache[10001]; bool turn(int n) { if (cache[n] != -1) { return cache[n] ? true : false; } bool win = false; for (size_t i = 0; i < primes.size() && n - primes[i] > 1 && !win; ++i) { win |= !turn(n - primes[i]); } cache[n] = win ? 1 : 0; return win; } int main() { fill(isPrime, isPrime + 10001 + 1, true); isPrime[0] = false; isPrime[1] = false; for (int i = 2; i <= 10000; ++i) { if (isPrime[i]) { for (int k = 2 * i; k <= 10000; k += i) { isPrime[k] = false; } } } for (int i = 0; i <= 10000; ++i) { if (isPrime[i]) { primes.push_back(i); } } fill(cache, cache + 10001 + 1, -1); int n; cin >> n; cout << (turn(n) ? "Win" : "Lose") << endl; return 0; }