Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ACM-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

E. Sonya Partymaker

time limit per test

1.5 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputOwl Sonya decided to become a partymaker. To train for this role she gather all her owl friends in the country house. There are *m* chairs located in a circle and consequently numbered with integers from 1 to *m*. Thus, chairs *i* and *i* + 1 are neighbouring for all *i* from 1 to *m* - 1. Chairs 1 and *m* are also neighbouring. Some chairs are occupied by her friends. There are *n* friends in total. No two friends occupy the same chair. Rules are the following:

- Each participant removes from the game the chair he is currently sitting on.
- Each of the participants choose a direction that she will follow: clockwise (indices increase, from
*m*goes to 1) and counter-clockwise (indices decrease, from 1 goes to*m*). This direction may coincide or be different for any pair of owls. - Each turn all guests move one step in the chosen directions. If some guest move to the position with a chair there, he removes this chair from the game.
- Game ends if there are no more chairs left in the game.

Owls are very busy and want to get rid of the game as soon as possible. They cooperate to pick the direction. Your goal is to find the minimum number o moves required to finish the game.

Input

The first line of the input contains a single integer *m* (1 ≤ *m* ≤ 10^{9}) — the length of the circle.

The second line contains a single integer *n* (1 ≤ *n* ≤ 100 000) — the number of friends.

Last line contains an increasing sequence of *n* integers *a*_{i} (1 ≤ *a*_{i} ≤ *m*) — initial positions of all owls.

Output

Print the minimum number of move required to finish the game. Note, that 0 also may be an answer.

Examples

Input

6

3

1 3 5

Output

1

Input

6

2

1 6

Output

2

Input

406

6

1 2 3 204 205 206

Output

100

Note

In the first sample, it's possible if all owls will move clockwise, i.e. in the direction of increasing indices.

In the sample, first owl has to move clockwise, while the second — counterclockwise.

In the third sample, the first and the fourth owls should move counterclockwise, while the third and the sixth — clockwise. The second and the firth may move in any direction.

Codeforces (c) Copyright 2010-2019 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Mar/20/2019 19:29:41 (f2).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|