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
65
66
67
68
69
70
71
72
#include <iostream>
#include <vector>
#include <algorithm>
#include <iomanip>
//#include <fstream>
long long t,n,a;
int main() {
    std::ios_base::sync_with_stdio(0);
    std::cin.tie(NULL);
    std::cin>>t;
    //std::fstream aa("./wyl/all.out");
    for(int test=0;test<t;test++){
        std::cin>>n;
        std::vector<int> war;
        long long odd=0;
        long long even=0;
        bool fail=false;
        bool fin=false;
        for(int i=0;i<n;i++){
            std::cin>>a;
            if(a!=0){
                war.emplace_back(a);
                if(fin)
                    fail=true;
            }
            if(a==0&&war.size()>0)
                fin=true;
            if(i%2)
                odd+=a;
            else
                even+=a;
        }
        bool parz[2]={false,false};
        fin=false;
        long long last=war[0];
        for(int i=1;i<war.size();i++){
            last=war[i]-last;
            if(last==0)
                parz[i%2]=true;
            if(parz[0]&&parz[1])
                fin=true;
            if(last==-1){
                if(!parz[(i+1)%2])
                    fin=true;
                else
                    fail=true;
                }
            if(last<-1)
                fail=true;
            if(fin && i!=war.size()-1)
                fail=true;
        }
        if(last>0 &&parz[(war.size()-1)%2]==true)
            fail=true;
        //war.emplace_back(0);
        //for(int i=1;i<war.size()-1;i++)
        //    if(war[i]>war[i-1]+war[i+1]&&(i>2||i<war.size()-3))
        //        fail=true;
        //std::string line;
        //aa>>line;
        //std::cout<<"xx "<<line<<std::endl; 
        if((std::abs(odd-even)>1 ||fail) /*xor line[0]=='N'*/){
            std::cout<<"NIE\n";
            //for(int i=0;i<war.size();i++)
            //    std::cout<<war[i]<<std::endl;
        }
        else
            std::cout<<"TAK\n";
    }
    
    
}