#443. 相框

相框

题目描述

原题来自:福建集训 2011

P 大的基础电路实验课是一个无聊至极的课。每次实验,T 君总是提前完成,管理员却不让T 君离开,T 君只能干坐在那儿无所事事。

先说说这个实验课,无非就是把几根导线和某些元器件(电阻、电容、电感等)用焊锡焊接起来。

为了打发时间,T 君每次实验做完后都在焊接一些诡异的东西,这就是他的杰作:

img

T 君不满足于焊接奇形怪状的作品,强烈的破坏欲驱使他拆掉这个作品,然后将之焊接成规整的形状。这会儿,T 君正要把这个怪物改造成一个环形,当作自己的相框,步骤如下:

img

T 君约定了两种操作:

1.\red{1. }烧熔一个焊点:使得连接在焊点上的某些导线相分离或保持相连(可以理解为:把焊点上的导线划分为若干个类,相同类中的导线相连,不同类之间的导线相离) 2.\red{2. }将两根导线的自由端(即未与任何导线相连的一端)焊接起来。

例如上面的步骤中,先将 A\red{A} 点烧熔,使得导线 1\red{1 }与导线 2,4\red{2,4 }点分离;再将 D\red{D }点烧熔,使得 4,5\red{4,5}3,7\red{3,7 }相离;再烧熔 E\red{E},使 7\red{7 }6,8\red{6,8 }相离;最后将 1,7\red{1,7} 相连。

T 君想用最少的操作来将原有的作品改造成为相框(要用上所有的导线)。

输入格式

第一行共有两个整数 n\red{n}m\red{m}——分别表示原有的作品的焊点和导线的数量。焊点的标号为 1n\red{1 \sim n}。 接下来的 m\red{m }行每行共有两个整数——导线两端所连接的两个焊点的标号,若不与任何焊点相连,则将这一端标号为0\red{ 0}

原有的作品可能不是连通的。

某些焊点可能只有一根导线与之相连,在该导线的这一端与其他导线相连之前,这些焊点不允许被烧熔。

某些焊点甚至没有任何导线与之相连,由于 T 君只关心导线,因此这些焊点可以不被考虑。

输出格式

只包含一个整数——表示 T 君需要将原有的作品改造成相框的最少步数。

样例

输入样例

6 8
1 2
1 3
3 4
1 4
4 6
5 6
4 5
1 5

输出样例

4

提示

30%\red{30\%} 的数据中 n10\red{n \le 10}100%\red{100\%} 的数据中 0n1000,2m50000\red{0 \le n \le 1000,2 \le m \le 50000}