When Leonhard Euler resolved the famous Königsberg bridge problem, he had no clue he had discovered a whole new area of mathematics — graph theory!

Unfortunately, the Königsberg bridge problem is far too easy for the programmers of this era, so Euler came up with another problem — the Zagreb bridge problem!

The bridges of Zagreb form a graph with nodes and edges where the edges represent the bridges and the nodes represent the riverine islands. The graph is connected, in other words, it's possible to get from any node to any other by traveling across the edges. Now Euler asked, how many edges are there such that after their removal, the graph becomes disconnected?

Again, Euler didn't know that this problem is also famous today (those damn Codeforces blogs). So the author of this problem decided to give you an even harder one, how many edges are there such that after the removal of the nodes which it connects, the remaining nodes become disconnected?

#### Input Specification

The first line contains integers and , the number of nodes and edges respectively.

Each of the next lines contains integers and , meaning nodes and are connected with an edge.

There are no loops or multiple edges.

#### Output Specification

In a single line, output the number of edges with the given property.

#### Constraints

Subtask | Points | Constraints |
---|---|---|

1 | 13 | , |

2 | 17 | , |

3 | 25 | |

4 | 12 | |

5 | 43 | No additional constraints. |

#### Sample Input 1

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

#### Sample Output 1

`1`

#### Explanation for Sample 1

By removing edge and corresponding nodes and , the remaining graph has two connected components, node and node . In other words, it is not connected. It is easy to check that this is the only edge with this property.

#### Sample Input 2

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

#### Sample Output 2

`4`

#### Explanation for Sample 2

The edges with the required property are and .

## Comments