#include <bits/stdc++.h>
using namespace std;
char buffer[100005], *p1, *p2;
template <class T>
void read(T& x) {
  char ch = ((p1 == p2 &&
              (p2 = (p1 = buffer) + fread(buffer, 1, 100005, stdin), p1 == p2))
                 ? EOF
                 : *p1++);
  bool f = 1;
  x = 0;
  while (!('0' <= ch && ch <= '9') && ch != '-')
    ch = ((p1 == p2 &&
           (p2 = (p1 = buffer) + fread(buffer, 1, 100005, stdin), p1 == p2))
              ? EOF
              : *p1++);
  if (ch == '-')
    f = 0,
    ch = ((p1 == p2 &&
           (p2 = (p1 = buffer) + fread(buffer, 1, 100005, stdin), p1 == p2))
              ? EOF
              : *p1++);
  while ('0' <= ch && ch <= '9')
    x = (x << 1) + (x << 3) + ch - '0',
    ch = ((p1 == p2 &&
           (p2 = (p1 = buffer) + fread(buffer, 1, 100005, stdin), p1 == p2))
              ? EOF
              : *p1++);
  if (!f) x = -x;
}
int n, k, num[100115];
char s[100115];
int sum[100115 << 2];
int qx, qy, qd;
inline void pu(int o) { sum[o] = sum[o << 1] + sum[o << 1 | 1]; }
void init(int l, int r, int o) {
  if (l == r) {
    sum[o] = num[l];
    return;
  }
  int mid = ((r - l) >> 1) + l;
  init(l, mid, o << 1), init(mid + 1, r, o << 1 | 1);
  pu(o);
}
int get_left_1(int l, int r, int o) {
  if (l == r) return l;
  int mid = ((r - l) >> 1) + l;
  if (sum[o << 1])
    return get_left_1(l, mid, o << 1);
  else
    return get_left_1(mid + 1, r, o << 1 | 1);
}
int get_right_1(int l, int r, int o) {
  if (l == r) return l;
  int mid = ((r - l) >> 1) + l;
  if (sum[o << 1 | 1])
    return get_right_1(mid + 1, r, o << 1 | 1);
  else
    return get_right_1(l, mid, o << 1);
}
int get_left_0(int l, int r, int o) {
  if (l == r) return l;
  int mid = ((r - l) >> 1) + l;
  if (sum[o << 1] < (mid + 1 - l))
    return get_left_0(l, mid, o << 1);
  else
    return get_left_0(mid + 1, r, o << 1 | 1);
}
int get_right_0(int l, int r, int o) {
  if (l == r) return l;
  int mid = ((r - l) >> 1) + l;
  if (sum[o << 1 | 1] < r - mid)
    return get_right_0(mid + 1, r, o << 1 | 1);
  else
    return get_right_0(l, mid, o << 1);
}
int get_left_1() { return (sum[1]) ? get_left_1(1, n, 1) : -1; }
int get_right_1() { return (sum[1]) ? get_right_1(1, n, 1) : -1; }
int get_left_0() { return (sum[1] == n) ? -1 : get_left_0(1, n, 1); }
int get_right_0() { return (sum[1] == n) ? -1 : get_right_0(1, n, 1); }
void modify(int l, int r, int o) {
  if (l == r) {
    sum[o] = qd;
    return;
  }
  int mid = ((r - l) >> 1) + l;
  if (qx <= mid)
    modify(l, mid, o << 1);
  else
    modify(mid + 1, r, o << 1 | 1);
  pu(o);
}
int main() {
  scanf("%d%d%s", &n, &k, s + 1);
  int l1, l0, r1, r0;
  for (register int i = 1; i <= n; i++) num[i] = s[i] - '0';
  init(1, n, 1);
  l1 = get_left_1();
  r1 = get_right_1();
  l0 = get_left_0();
  r0 = get_right_0();
  if (((r1 - l1 + 1) <= k) || ((r0 - l0 + 1) <= k)) {
    printf("tokitsukaze");
    return 0;
  }
  for (register int i = 1; i <= k; i++) num[i] = 0;
  init(1, n, 1);
  for (register int i = 1; i <= n - k + 1; i++) {
    l1 = get_left_1();
    r1 = get_right_1();
    l0 = get_left_0();
    r0 = get_right_0();
    if (!(((r1 - l1 + 1) <= k) || ((r0 - l0 + 1) <= k))) {
      printf("once again");
      return 0;
    }
    qx = i, qd = s[i] - '0', modify(1, n, 1);
    qx = i + k, qd = 0, modify(1, n, 1);
  }
  for (register int i = 1; i <= n; i++) num[i] = s[i] - '0';
  for (register int i = 1; i <= k; i++) num[i] = 1;
  init(1, n, 1);
  for (register int i = 1; i <= n - k + 1; i++) {
    l1 = get_left_1();
    r1 = get_right_1();
    l0 = get_left_0();
    r0 = get_right_0();
    if (!(((r1 - l1 + 1) <= k) || ((r0 - l0 + 1) <= k))) {
      printf("once again");
      return 0;
    }
    qx = i, qd = s[i] - '0', modify(1, n, 1);
    qx = i + k, qd = 1, modify(1, n, 1);
  }
  printf("quailty");
  return 0;
}
