#abc248e. [abc248_e]K-colinear Line

[abc248_e]K-colinear Line

题目描述

给定坐标平面上的 NN 个点,对于每个 1leqileqN1\\leq i\\leq N,第 ii 个点的坐标为 (Xi,Yi)(X_i, Y_i)

找出在平面上通过 KK 或更多个 NN 点的直线的数量。
如果有无限多条符合要求的直线,则打印 Infinity

约束条件

  • 1leqKleqNleq3001 \\leq K \\leq N \\leq 300
  • $\\lvert X_i \\rvert, \\lvert Y_i \\rvert \\leq 10^9$
  • 如果 ineqji\\neq j,则 XineqXjX_i\\neq X_jYineqYjY_i\\neq Y_j
  • 输入中的所有值均为整数。

输入

从标准输入获得输入数据,格式如下:

NN KK X1X_1 Y1Y_1 X2X_2 Y2Y_2 vdots\\vdots XNX_N YNY_N

输出

打印在平面上通过 KK 或更多个 NN 点的直线的数量,如果有无限多条符合要求的直线,则打印 Infinity


示例输入 1

5 2
0 0
1 0
0 1
-1 0
0 -1

示例输出 1

6

满足要求的六条直线分别是 x=0x=0y=0y=0y=xpm1y=x\\pm 1y=xpm1y=-x\\pm 1
例如,x=0x=0 通过第一个、第三个和第五个点。

因此,应该打印出 66


示例输入 2

1 1
0 0

示例输出 2

Infinity

有无限多条直线通过原点。

因此,应该打印 Infinity