Let's make some space

No attempts yetTime limit1sMemory limit256 MB

Problem

Gollum Industries designs office space that can be rearranged at any time. A new space is one long rectangular office plus vertical partitions that stand only at positions fixed in advance.

The width of a room is the distance between its left wall and its right wall, and every partition stands parallel to those two walls. Each partition position is given as a distance measured from the left wall, and you decide for each position separately whether to raise a partition there or leave it empty. Raising partitions cuts the office into sections, and the width of each section is the width of the meeting room that section gives you.

For example, take an office of total width 1010 whose partition positions are 11, 44, and 88. Raising no partition at all gives one meeting room of width 1010. If you need width 44, raise a partition at 44 only, or at 44 and 88. If you need width 77, leave 44 empty and raise partitions at 11 and 88.

Given the office, find every meeting room width you can build in it.

Input

The first line has the total office width WW and the number of partition positions PP, separated by a space. (2W1002 \le W \le 100, 1P<W1 \le P < W)

The second line has the PP partition positions. Each position LL satisfies 0<L<W0 < L < W. The positions are distinct and given in increasing order.

Output

Print every meeting room width you can build, in increasing order, on one line separated by single spaces. Print each width once.