#include #include #include #include #include #include #include #include #include #include static const int MOD = 1000000007; using ll = long long; using u32 = uint32_t; using namespace std; template constexpr T INF = ::numeric_limits::max() / 32 * 15 + 208; int main() { int l, d; cin >> l >> d; vector grundy(l+1, -1); vector> v(l+1); for (int len = 1; len <= l; ++len) { for (int i = 1; i < len; ++i) { for (int j = i+1; j < len-i-j; ++j){ if(len-i-j-i > d) continue; v[len].emplace_back(grundy[i]^grundy[j]^grundy[len-i-j]); } } sort(v[len].begin(), v[len].end()); v[len].erase(unique(v[len].begin(), v[len].end()), v[len].end()); for (int i = 0; i < v[len].size(); ++i) { if(v[len][i] != i) { grundy[len] = i; break; } } if(grundy[len] == -1) grundy[len] = v[len].size(); } puts(grundy.back() ? "kado" : "matsu"); return 0; }