#P1838. Banana

Banana

描述

考虑一个热带森林,它用矩阵表示。矩阵的右上角单元格坐标为 (1,1)(1,1),其他单元格的坐标由其所在的行和列决定。在某些单元格中放置了香蕉树;每个单元格最多只能有一棵香蕉树。多个香蕉树如果在水平方向或垂直方向上相邻,就会形成一个香蕉树区域。在这种区域中,猴子 CEKILI 以她闻名的敏捷度,可以很容易地从一棵香蕉树移动到另一棵香蕉树。

CEKILI 很贪心,单一区域的香蕉树不足以满足她。为了帮助她,塔尔赞打算通过将 kk 个香蕉树区域用藤条连接起来,这样 CEKILI 就可以通过藤条从一个区域移动到另一个区域。显然,塔尔赞必须选择那些区域,使得这些 kk 个区域的香蕉树总数最大化。

请计算塔尔赞通过连接恰好 kk 个区域,能够获得的香蕉树的最大数量。

输入

输入的结构如下:

  • 第一行包含两个整数 NrNrKK,分别表示香蕉树的数量和可以连接的区域的数量;
  • 接下来的 NrNr 行,每行包含两个整数 x(i)x(i)y(i)y(i),表示第 ii 棵香蕉树的行和列。

约束条件:

  • 1Nr160001 \leq Nr \leq 16000
  • 1x(i),y(i)100001 \leq x(i), y(i) \leq 10000
  • 在评分测试中,kk 永远不会大于区域的数量;
  • 如果两个位置是水平邻居,则它们在同一行且相邻的列;如果是垂直邻居,则它们在同一列且相邻的行。

输出

输出一行,表示通过连接 kk 个区域,可以获得的香蕉树的最大数量。

输入数据 1

10 3
7 10
1 1
101 1
2 2
102 1
7 11
200 202
2 1
3 2
103 1

输出数据 1

9

来源
Romania OI 2002