P24460 [AtCoder] Don’t be cycle
普及-
题目描述

Problem Statement

You are given a simple undirected graph with N vertices and M edges. The vertices are numbered 1 to N, and the i-th edge connects vertex A_i and vertex B_i.
Let us delete zero or more edges to remove cycles from the graph. Find the minimum number of edges that must be deleted for this purpose.

What is a simple undirected graph?
A simple undirected graph is a graph without self-loops or multi-edges whose edges have no direction.

What is a cycle?
A cycle in a simple undirected graph is a sequence of vertices $(v_0, v_1, \ldots, v_{n-1})$ of length at least $3 satisfying v_i \neq v_j$ if $i \neq j$ such that for each $0 \leq i < n,$ there is an edge between v_i and $v_{i+1 \bmod n}$.

Input

The input is given from Standard Input in the following format:
N M
A_1 B_1
A_2 B_2
$\vdots$
A_M B_M

Output

Print the answer.

Constraints

  • $1 \leq N \leq 2 \times 10^5$
  • $0 \leq M \leq 2 \times 10^5$
  • $1 \leq A_i, B_i \leq N$
  • The given graph is simple.
  • All values in the input are integers.

Sample Input 1

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

Sample Output 1

2

One way to remove cycles from the graph is to delete the two edges between vertex 1 and vertex 2 and between vertex 4 and vertex 5.
There is no way to remove cycles from the graph by deleting one or fewer edges, so you should print 2.

Sample Input 2

4 2
1 2
3 4

Sample Output 2

0

Sample Input 3

5 3
1 2
1 3
2 3

Sample Output 3

1

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
6 7 1 2 1 3 2 3 4 2 6 5 4 6 4 5
样例输出
2