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
//Szeregowanie (SZE)
#include <cstdio>
#include <algorithm>
using namespace std;
int n,m,cnt,ii,i,j,e,a[105],b[105],c[105],k[105],seg[405],z[405];
bool cmpa(int i, int j) { return a[i]<a[j]; }
bool cmpb(int i, int j) { return b[i]<b[j]; }
int main() {
  scanf("%d%d",&n,&m);
  for (i=0; i<n; i++) {
    scanf("%d%d%d",&a[i],&b[i],&c[i]);
    k[i]=i;
  }
  sort(k,k+n,cmpa);
  cnt=1;
  for (ii=0; ii<n; ii++) {
    i=k[ii];
    if (a[i]!=seg[cnt-1]) seg[cnt++]=a[i];
  }
  seg[cnt]=4000000;
  sort(k,k+n,cmpb);
  for (ii=0; ii<n; ii++) {
    i=k[ii];
    for (j=0; j<cnt; j++) if (seg[j]>=a[i] && z[j]<m) {
      if (seg[j+1]-seg[j]>c[i]) {
        for (e=++cnt; e>j; e--) {
          seg[e]=seg[e-1];
          z[e]=z[e-1];
        }
        seg[j+1]=seg[j]+c[i];
      }
      c[i]-=seg[j+1]-seg[j];
      z[j]++;
      if (c[i]==0) {
        if (seg[j+1]>b[i]) {
          puts("NIE");
          return 0;
        }
        break;
      }
    }
  }
  puts("TAK");
  return 0;
}