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
#include <stdio.h>
#include <stdlib.h>

int xa[50000],xb[50000],y[50000],l[50000];

int c(const void *a, const void *b)
{
  return xa[*(int*)a]-xa[*(int*)b];
}

int main()
{
  int t,n,w,i,j,x1,x2,y1,y2,p,q;
  scanf("%d",&t);
  for (;t--;)
  {
    scanf("%d%d",&n,&w);
    for (i=0;i<n;i++)
    {
      scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
      xa[i]=x1<x2?x1:x2;
      y[i]=abs(y2-y1);
    }
    for (i=0;i<n;i++)
    {
      scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
      xb[i]=x1<x2?x1:x2;
      l[i]=i;
    }
    qsort(l,n,sizeof(*l),c);
    for (i=1;i<n;i++)
    {
      p=xb[l[i]];
      q=y[l[i]];
      for (j=i;j>0&&xb[l[j-1]]>p;j--)
      {
        l[j]=l[j-1];
        if (q+y[l[j]]>w)
        {
          puts("NIE");
          goto z;
        }
      }
    }
    puts("TAK");
    z:;
  }
  return 0;
}