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
#include <cstdio>
#include <set>

int main(){
    std::set<long long> myset;
    
    long long tab[500],max;
    long long a,b,t,i,j,k;
    tab[0]=0;
    tab[1]=1;
    for(k = 2 ; tab[k-1]<1000000000 ; k++){
            tab[k]=tab[k-1]+tab[k-2];
    }
                     myset.insert(0);
    for(i = 1 ; i<k ; i++)
          for(j = i ; j<k ; j++){
                a = tab[i]*tab[j];
                if(a>1000000000)
                     break;
                else{
                     myset.insert(a);
                }
          }
    
    scanf("%lld",&t);
    while(t--){
               scanf("%lld",&a);
               if(myset.find(a) != myset.end())
                                printf("TAK\n");
               else
                                printf("NIE\n");
    }
    
    return 0;    
}