#include <bits/stdc++.h>
using namespace std;
const int N = 100000 + 77;
int n, k, L[N], R[N], a[N], LL[N], RR[N];
char S[N];
vector<int> V[2];
int main() {
  scanf("%d %d", &n, &k);
  scanf("%s", S + 1);
  for (int i = 1; i <= n; ++i)
    a[i] = S[i] - '0', L[i] = L[i - 1] + a[i], V[a[i]].push_back(i);
  for (int i = n; i > 0; --i)
    R[i] = R[i + 1] + a[i], LL[i] = i - L[i], RR[i] = (n - i - R[i] + 1);
  for (int i = 1; i + k <= n + 1; ++i) {
    if (L[i - 1] == i - 1 && R[i + k] == n + 1 - i - k)
      return !printf("tokitsukaze\n");
    if (LL[i - 1] == i - 1 && RR[i + k] == n + 1 - i - k)
      return !printf("tokitsukaze\n");
  }
  for (int i = 1; i + k <= n + 1; ++i) {
    bool needl, needr;
    needl = (L[i - 1] < i - 1);
    needr = (R[i + k] < n + 1 - i - k);
    if ((needl && needr)) return !printf("once again\n");
    if (needl) {
      int idl = *lower_bound(V[0].begin(), V[0].end(), 0);
      int idr = lower_bound(V[0].begin(), V[0].end(), i) - V[0].begin() - 1;
      idr = V[0][idr];
      if (idr - idl + 1 > k) return !printf("once again\n");
    }
    if (needr) {
      int idl = *lower_bound(V[0].begin(), V[0].end(), i + k);
      int idr = V[0].back();
      if (idr - idl + 1 > k) return !printf("once again\n");
    }
    needl = (LL[i - 1] < i - 1);
    needr = (RR[i + k] < n + 1 - i - k);
    if ((needl && needr)) return !printf("once again\n");
    if (needl) {
      int idl = *lower_bound(V[1].begin(), V[1].end(), 0);
      int idr = lower_bound(V[1].begin(), V[1].end(), i) - V[1].begin() - 1;
      idr = V[1][idr];
      if (idr - idl + 1 > k) return !printf("once again\n");
    }
    if (needr) {
      int idl = *lower_bound(V[1].begin(), V[1].end(), i + k);
      int idr = V[1].back();
      if (idr - idl + 1 > k) return !printf("once again\n");
    }
  }
  printf("quailty\n");
  return 0;
}
