Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

The problem statement has recently been changed. View the changes.

×
D. George and Interesting Graph

time limit per test

1 secondmemory limit per test

256 megabytesinput

standard inputoutput

standard outputGeorge loves graphs. Most of all, he loves interesting graphs. We will assume that a directed graph is interesting, if it meets the following criteria:

- The graph doesn't contain any multiple arcs;
- There is vertex
*v*(we'll call her the center), such that for any vertex of graph*u*, the graph contains arcs (*u*,*v*) and (*v*,*u*). Please note that the graph also contains loop (*v*,*v*). - The outdegree of all vertexes except for the center equals two and the indegree of all vertexes except for the center equals two. The outdegree of vertex
*u*is the number of arcs that go out of*u*, the indegree of vertex*u*is the number of arcs that go in*u*. Please note that the graph can contain loops.

However, not everything's that simple. George got a directed graph of *n* vertices and *m* arcs as a present. The graph didn't have any multiple arcs. As George loves interesting graphs, he wants to slightly alter the presented graph and transform it into an interesting one. In one alteration he can either remove an arbitrary existing arc from the graph or add an arbitrary arc to the graph.

George wonders: what is the minimum number of changes that he needs to obtain an interesting graph from the graph he's got as a present? Help George and find the answer to the question.

Input

The first line contains two space-separated integers *n* and *m* (2 ≤ *n* ≤ 500, 1 ≤ *m* ≤ 1000) — the number of vertices and arcs in the presented graph.

Each of the next *m* lines contains two space-separated integers *a*_{i}, *b*_{i} (1 ≤ *a*_{i}, *b*_{i} ≤ *n*) — the descriptions of the graph's arcs. Pair (*a*_{i}, *b*_{i}) means that the graph contains an arc from vertex number *a*_{i} to vertex number *b*_{i}. It is guaranteed that the presented graph doesn't contain multiple arcs.

Assume that the grah vertices are numbered 1 through *n*.

Output

Print a single integer — the answer to George's question.

Examples

Input

3 7

1 1

2 2

3 1

1 3

3 2

2 3

3 3

Output

0

Input

3 6

1 1

2 2

3 1

3 2

2 3

3 3

Output

1

Input

3 1

2 2

Output

6

Note

For more information about directed graphs, please visit: http://en.wikipedia.org/wiki/Directed_graph

In the first sample the graph already is interesting, its center is vertex 3.

Codeforces (c) Copyright 2010-2021 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Jan/22/2022 12:41:26 (j3).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|