#arc126b. [arc126_b]Cross-free Matching

[arc126_b]Cross-free Matching

题目描述

在坐标平面上,我们有 2N2N 个顶点,其 xx 坐标为 1,2,,N1, 2, \ldots, Nyy 坐标为 0011(1,0),,(N,0),(1,1),,(N,1)(1, 0),\ldots, (N,0), (1,1), \ldots, (N,1)。有 MM 条线段连接其中两个顶点:第 ii 条线段连接 (ai,0)(a_i, 0)(bi,1)(b_i, 1)

考虑选择其中的 KK 条线段,使得任意两条线段不包含相同的点。在这里,我们认为线段的两个端点都被包含在该线段内。找出 KK 的最大可能值。

约束条件

  • 1N,M2×1051 \leq N, M \leq 2 \times 10^5
  • 1ai,biN1 \leq a_i, b_i \leq N
  • iji \neq j,则 aiaja_i \neq a_jbibjb_i \neq b_j

输入

从标准输入中按以下格式获得输入:

NN MM a1a_1 b1b_1 \vdots aMa_M bMb_M

输出

打印 KK 的最大可能值。

示例输入 1

3 3
1 2
2 3
3 1

示例输出 1

2

选择第一和第二条线段是一种最优解。

例如,第一条和第三条线段包含相同的点 (53,23)\left(\frac53, \frac23\right),所以我们不能同时选择它们。

示例输入 2

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

示例输出 2

3

选择第一、第三和第五条线段是一种最优解。

例如,第一条和第二条线段包含相同的点 (1,1)(1, 1),所以我们不能同时选择它们。

示例输入 3

7 5
1 7
7 1
3 4
2 6
5 2

示例输出 3

1