#CSPJ2022D. 上升点列(point)

上升点列(point)

Description

在一个二维平面内,给定 nn 个整数点 (xi,yi)(x_i, y_i),此外你还可以自由添加 kk个整数点。 你在自由添加 kk 个点后,还需要从 n+kn + k 个点中选出若干个整数点并组成一个序列,使 得序列中任意相邻两点间的欧几里得距离恰好为 11 而且横坐标、纵坐标值均单调不减, 即 xi+1xi=1,yi+1=yix_{i+1} − x_i = 1,y_{i+1} = y_iyi+1yi=1,xi+1=xiy_{i+1} − y_i = 1,x_{i+1} = x_i。请给出满足条件的序列的最大长度。

Format

Input

从文件 point.in 中读入数据。 第一行两个正整数 n,kn, k 分别表示给定的整点个数、可自由添加的整点个数。 接下来 nn 行,第 ii 行两个正整数 xi,yix_i, y_i 表示给定的第 ii 个点的横纵坐标。

Output

输出到文件 point.out 中。 输出一个整数表示满足要求的序列的最大长度。

Samples

8 2
3 1
3 2
3 3
3 6
1 2
2 2
5 5
5 3
8
4 100
10 10
15 25
20 20
30 30
103

样例 3

见选手目录下的 point/point3.in 与 point/point3.ans。

第三个样例满足 k=0k = 0

样例 4

见选手目录下的 point/point4.in 与 point/point4.ans。

数据范围

保证对于所有数据满足:1n5000k1001 ≤ n ≤ 500,0 ≤ k ≤ 100。对于所有给定的整点,其横 纵坐标 1xi,yi1091 ≤ x_i, y_i ≤ 10^9,且保证所有给定的点互不重合。对于自由添加的整点,其横纵坐标不受限制。

测试样例 point.zip