Олимпиадный тренинг

Задача 38306. benches


The benches in the park are arranged as follows. Several identical cubic granite blocks are placed in a row, and a granite slab is placed on them (see figure). The modernist architect decided that it would be more interesting if all the shops had different (and not necessarily symmetrical) arrangements of granite foot blocks. At the same time, they are arranged so that the slab does not fall: for this it is enough that there is at least one granite block or part of it both to the left and to the right of the center of the slab (in particular, if the center of the slab falls in the middle of a block, then to the left and to the right of the center of the slab is part of the block, and the slab does not fall).

The thieves discovered that they could pull out the granite blocks one at a time, located on the edge (both on the left and on the right). They want to pull out as many blocks as possible from under the bench without it falling down (you can't move the remaining blocks). Determine which blocks they should leave.


Input
The first line of the input contains two numbers: L - the length of the bench and K - the number of granite blocks-legs. Both numbers are natural and do not exceed 10,000.

The second line is followed by K different non-negative integers, specifying the position of each leg. The leg position is determined by the distance from the left edge of the slab to the left edge of the leg (the leg is a 1x1x1 cube). The legs are listed from left to right (that is, starting with the leg with the smallest distance to the left edge).

Imprint
It is required to list the legs that the robbers need to leave. For each leg, you need to give out its position, as it is specified in the input data. The legs should be listed from left to right, in the order in which  they appear in the input.
 
Examples
# Input Output
1 5 2
0 2
2
2 13 4
1 4 8 11
4 8
3 14 6
1 6 8 11 12 13
6 8