#include <bits/stdc++.h>
using namespace std;

// 记忆化数组,-1 表示未计算,0 表示必胜态,1 表示必败态
int memo[101][101];

int solve(int n1, int n2) {
    // 如果状态已计算,直接返回
    if (memo[n1][n2] != -1) return memo[n1][n2];
    
    // 可能的取石子数
    int moves[] = {1, 3, 9};
    
    // 尝试所有合法操作
    for (int k : moves) {
        // 从第一堆取 k 个石子
        if (n1 >= k) {
            if (solve(n1 - k, n2) == 1) { // 后继状态是必败态
                return memo[n1][n2] = 0; // 当前状态是必胜态
            }
        }
        // 从第二堆取 k 个石子
        if (n2 >= k) {
            if (solve(n1, n2 - k) == 1) { // 后继状态是必败态
                return memo[n1][n2] = 0; // 当前状态是必胜态
            }
        }
    }
    
    // 如果所有后继状态都是必胜态,当前状态是必败态
    return memo[n1][n2] = 1;
}

int main() {
    // 初始化记忆化数组
    memset(memo, -1, sizeof(memo));
    // 特殊情况:(0,0) 是必败态,因为无法操作
    memo[0][0] = 1;
    
    int n1, n2;
    while (cin >> n1 >> n2) {
        // 判断状态 (n1, n2) 是否为必胜态
        if (solve(n1, n2) == 0) {
            cout << "win\n";
        } else {
            cout << "lose\n";
        }
    }
    
    return 0;
}