#GESP71. 球与盒子

球与盒子

问题描述

你有 NN 个球和 MM 个盒子。球从 11NN 编号。球 ii1iN1 \le i \le N)目前在盒子 bib_i 里,颜色是 cic_i

你可以做下述操作任意多次:

  • 选择两个整数 i,ji, j1i,jN1 \le i , j \le N)。然后把盒子 ii 里所有的球移动到盒子 jj 里。

你的目标是通过操作使得任何两个同色的球都在同一个盒子里。

求达成目标所需的最小操作次数。

数据范围

  • 1N2×1051 \le N \le 2\times 10^5
  • 1M2×1051 \le M \le 2\times 10^5
  • 1biM1 \le b_i \le M1iN1 \le i \le N
  • 1ciN1 \le c_i \le N1iN1 \le i \le N
  • 输入的值都是整数。

本题共有 25 个测试点。

  • 测试点 1 到 6 满足 N,M25N, M \le 25
  • 测试点 7 到 13 满足 N,M6000N, M \le 6000

输入

第一行包含两个整数 NNMM。接下来有 NN 行,第 ii 行包含两个整数 bib_icic_i

输出

输出一个整数,表示答案。

样例输入 1

5 4
1 1
2 2
3 2
3 3
4 3

样例输出 1

2

一种操作方法是

  • 把箱子 2 里的球移动到箱子 3。
  • 把箱子 3 里的球移动到箱子 4。

样例输入 2

5 5
1 1
2 2
2 3
3 4
3 5

样例输出 2

0

样例输入 3

15 10
1 7
3 15
4 1
3 3
9 4
9 14
6 3
9 7
10 11
2 10
10 13
9 8
5 9
2 13
4 13

样例输出 3

4