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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <stdio.h>

unsigned long long int f[40];

int main() {
f[0]=0;
f[1]=1;
f[2]=1;
f[3]=2;
f[4]=3;
f[5]=5;
f[6]=8;
f[7]=13;
f[8]=21;
f[9]=34;
f[10]=55;
f[11]=89;
f[12]=144;
f[13]=233;
f[14]=377;
f[15]=610;
f[16]=987;
f[17]=1597;
f[18]=2584;
f[19]=4181;
f[20]=6765;
f[21]=10946;
f[22]=17711;
f[23]=28657;
f[24]=46368;
f[25]=75025;
f[26]=121393;
f[27]=196418;
f[28]=317811;
f[29]=514229;
f[30]=832040;
f[31]=1346269;
f[32]=2178309;
f[33]=3524578;
f[34]=5702887;
f[35]=9227465;
f[36]=14930352;
f[37]=24157817;
f[38]=39088169;
f[39]=63245986;

    int t;
    bool canornot;
    unsigned long long int n[10];
    scanf("%i",&t);
    for (int i=0; i<t; i++) scanf("%lld",&n[i]);
    for (int i=0; i<t; i++) {
        canornot=false;
        for (int k=1; k<40; k++) {
             if ((n[i]%f[k])==0) {
                               for(int l=k; l<40; l++) if ((n[i]/f[k])==f[l]) {
                                       canornot=true;
                               }
             }
        }
        if (canornot) printf("TAK\n"); else printf("NIE\n");
    }
    return 0;
}