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
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#include <iostream>
#include <algorithm>
using namespace std;

int n;
long long t[300];
long long w[300];


bool waliduj() {
    long long s = 0;
    long long v = 0;
    for(int i = 1;i<=n;i++){
        s += w[i-1];
        v = s;
        if(v>t[i-1])return false;
        for(int j = i;j<n;j++){
            v-=w[j-i];
            v+=w[j];
            if(v>t[i-1])return false;
        } 
    }
    return true;
}
int main () {  

    cin>>n;
    for(int i=0;i<n;i++){
        cin>>t[i];
    }
    n = 6;
  /*  for( int h = 12; h<1000000;h++){
        for(int i=0;i<6;i++){
            w[i]=0;
        }
        int d = 0;
        int H = h;
        while(H>0){
            w[d]=H%10-5;
            H/=10;
            d++;
        }
        cout<<"W: ";
        for(int i=0;i<6;i++)
            cout<<w[i]<<" ";
        cout<<"\n";/
        t[0]=w[0];
        for(int i=1;i<6;i++)
            t[0]=max(t[0],w[i]);

        t[1]=w[0]+w[1];
        long long s = t[1];
        for(int i=2;i<6;i++) {
            s-=w[i-2];
            s+=w[i];
            t[1]= max(t[1],s);
        }

        t[2]=w[0]+w[1]+w[2];
        s = t[2];
        for(int i=3;i<6;i++) {
            s-=w[i-3];
            s+=w[i];
            t[2]= max(t[2],s);
        }

        t[3]=w[0]+w[1]+w[2]+w[3];
        s = t[3];
        for(int i=4;i<6;i++) {
            s-=w[i-4];
            s+=w[i];
            t[3]= max(t[3],s);
        }

        t[4]=w[0]+w[1]+w[2]+w[3]+w[4];
        s = t[4];
        for(int i=5;i<6;i++) {
            s-=w[i-5];
            s+=w[i];
            t[4]= max(t[4],s);
        }

        t[5]=w[0]+w[1]+w[2]+w[3]+w[4]+w[5];

        /*cout<<"T: ";
        for(int i=0;i<6;i++)
            cout<<t[i]<<" ";
        cout<<"\n";*/

        w[0]=t[0];
        for(int i=1;i<n;i++){
            w[i]=t[i]-t[i-1];
        }

        /*cout<<"W: ";
        for(int i=0;i<6;i++)
            cout<<w[i]<<" ";
        cout<<"\n";*/
        
        if(waliduj()){
            cout<<"TAK\n";
            cout<<n<<"\n";
            for(int i=0;i<n;i++){
                cout<<w[i]<<" ";
            }
        }else{
          //  cout<<h<<"\n";
            cout<<"NIE\n";
            //int g;cin>>g;
        }
        //
    //}
    return 0;
}