#P16922. [Ontak2026maly]炮兵

[Ontak2026maly]炮兵

题目描述

Segnaposto 博士发明了一门威力巨大的直线炮。它的威力如此之大,以至于炮弹发射后会绕行整颗星球并回到起点,击穿沿途的一切目标。

为了展示这项发明,他在星球表面放置了 nn 个目标,希望用炮弹击中所有目标。

星球表面是一张流形,在局部可以看作平面,因此每个目标的位置可以用一对坐标 (xi,yi)(x_i,y_i) 表示,而一次射击可以看作平面上的一条直线。任意两个目标的位置都不相同。

测试过程中博士发现,这门炮消耗的能量非常大,因此在重新充能之前最多只能射击 kk 次。每次射击之前,他都可以任意选择大炮的位置以及射击方向。

请判断,是否能够用至多 kk 次射击击中全部目标。如果可以,还需要给出一种射击方案。

输入格式

第一行包含两个正整数 n,kn,k,分别表示目标数量和最多可进行的射击次数:

1n2000001\le n\le 2000001k41\le k\le 4

接下来 nn 行,每行包含两个整数 xi,yix_i,y_i,表示第 ii 个目标的坐标:

109xi,yi109-10^9\le x_i,y_i\le 10^9

保证任意两个目标的位置不同。

输出格式

如果不存在满足要求的射击方案,输出一行:

NIE

如果存在满足要求的方案,首先输出一行:

TAK

随后输出恰好 kk 行。每行包含四个整数

px py cx cyp_x\ p_y\ c_x\ c_y

表示本次射击所在直线经过两个不同的点 (px,py)(p_x,p_y)(cx,cy)(c_x,c_y)

要求:

  • (px,py)(cx,cy)(p_x,p_y)\ne(c_x,c_y)
  • 输出的所有坐标绝对值均不超过 10910^9
  • 输入中的每一个目标都必须位于至少一条输出的射击直线上。

如果存在多种合法方案,可以输出任意一种。

子任务

附加限制 分值
n11n\le 11 12
k=1k=1 9
k=2k=2 17
k=3k=3 13
若答案为 TAK,则存在一种方案使每一枪至少击中 100 个目标 15
保证答案为 TAK
无附加限制 19

样例 1

4 2
1 1
-1 1
1 -1
-1 -1
TAK
-1 -1 1 -1
1 1 -1 1

样例 2

8 4
-3 8
-10 -2
3 -9
-6 8
-6 -3
-3 -1
-3 7
-7 -8
TAK
-6 8 3 -9
-3 -1 -6 -3
-7 -8 -3 7
-3 8 -10 -2