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 10 whose partition positions are 1, 4, and 8. Raising no partition at all gives one meeting room of width 10. If you need width 4, raise a partition at 4 only, or at 4 and 8. If you need width 7, leave 4 empty and raise partitions at 1 and 8.
Given the office, find every meeting room width you can build in it.
The first line has the total office width W and the number of partition positions P, separated by a space. (2≤W≤100, 1≤P<W)
The second line has the P partition positions. Each position L satisfies 0<L<W. The positions are distinct and given in increasing order.
Print every meeting room width you can build, in increasing order, on one line separated by single spaces. Print each width once.