#agc051e. [agc051_e]Middle Point

[agc051_e]Middle Point

问题陈述

最初,在平面上绘制了 NN 个点 (x1,y1),,(xN,yN)(x_1, y_1), \ldots, (x_N, y_N)。Snuke 可以执行以下操作任意次数:

  • 选择已经绘制的两个点,并绘制这两个点的中间点(如果中间点还没有被绘制)。中间点的坐标不一定是整数。

在完成操作后,他的得分是具有整数坐标的绘制点的数量(包括初始点)。计算他能够获得的最大分数。

约束条件

  • 3N1003 \leq N \leq 100
  • 0xi,yi1090 \leq x_i, y_i \leq 10^9
  • 不存在三个点共线。
  • 输入中的所有值都是整数。

输入

输入按照以下格式从标准输入给出:

NN x1x_1 y1y_1 :: xNx_N yNy_N

输出

输出答案。


示例输入 1

4
0 0
0 2
2 0
2 2

示例输出 1

9

一种实现最大分数的可能方法如下:

  • 最初绘制了四个点 (0,0),(0,2),(2,0),(2,2)(0, 0), (0, 2), (2, 0), (2, 2)
  • 绘制 (0,1)(0, 1)(0,0)(0, 0)(0,2)(0, 2) 的中间点。
  • 绘制 (0,0.5)(0, 0.5)(0,0)(0, 0)(0,1)(0, 1) 的中间点。
  • 绘制 (1,0)(1, 0)(0,0)(0, 0)(2,0)(2, 0) 的中间点。
  • 绘制 (1,1)(1, 1)(0,0)(0, 0)(2,2)(2, 2) 的中间点。
  • 绘制 (1,2)(1, 2)(0,2)(0, 2)(2,2)(2, 2) 的中间点。
  • 绘制 (2,1)(2, 1)(2,0)(2, 0)(2,2)(2, 2) 的中间点。
  • 现在我们有了 1010 个点:$(0, 0), (0, 0.5), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)$。其中有 99 个点的坐标是整数,因此得分为 99

示例输入 2

4
0 0
0 3
3 0
3 3

示例输出 2

4

我们可以证明,除了初始点之外,他无法绘制任何具有整数坐标的点。