1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <cstdint>
#include <cstdio>

static const int kFibCount = 45;
static const int64_t kFib[kFibCount] = { 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,
  55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711,
  28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269,
  2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169,
  63245986, 102334155, 165580141, 267914296, 433494437, 701408733};

int main() {
  int t;
  scanf("%d", &t);
  while (t--) {
    bool found = false;
    int64_t n;
    scanf("%lld", &n);
    for (int i = 0; i < kFibCount && !found; i++) {
      for (int j = i; j < kFibCount && !found; j++) {
        if (kFib[i] * kFib[j] == n) {
          found = true;
          printf("TAK\n");
        }
      }
    }
    if (!found) {
      printf("NIE\n");
    }
  }
  return 0;
}