#2160. 「POI2011 R2 Day0」Strongbox

内存限制:256 MiB 时间限制:500 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: ceba_robot

题目描述

译自 POI 2011 Round 2. Day 0. A「Strongbox

Byteasar is a famous safe-cracker, who renounced his criminal activity and got into testing and certifying anti-burglary devices. He has just received a new kind of strongbox for tests: a combinatorial safe. A combinatorial safe is something different from a combination safe, even though it is opened with a rotary dial. The dial can be set in n different positions, numbered from 0 to n - 1 . Setting the dial in some of these positions opens the safe, while in others it does not. And here is the combinatorial property, from which the name comes from: if x and y are opening positions, then so is (x + y) \mathrm{mod} \ n too; note that is holds for x = y as well.

Byteasar tried k different positions of the dial: m_1, m_2, \ldots, m_k . The positions m_1, m_2, \ldots, m_{k - 1} did not open the safe, only the last position m_k did. Byteasar is already tired from checking these k positions and has thus absolutely no intention of trying the remaining ones. He would like to know however, based on what he already knows about the positions he tried, what is the maximum possible number of positions that open the safe. Help him by writing an appropriate program!

输入格式

The first line of the standard input gives two integers n and k , separated by a single space, 1 \le k \le 250000 , k \le n \le 10^{14} . The second line holds k different integers, also separated by single spaces, m_1, m_2, \ldots, m_k , 0 \le m_i \lt n . You can assume that the input data correspond to a certain combinatorial safe that complies with the description above.

In tests worth approximately 70\% of the points it holds that k \le 1000 . In some of those tests, worth approximately 20\% of the points, the following conditions hold in addition: n \le 10^8 and k \le 100 .

输出格式

Your program should print out to the first and only line of the standard output a single integer: the maximum number of the dial's positions that can open the safe.

样例

For the input data:

42 5
28 31 10 38 24

the correct result is:

14

数据范围与提示

Task author: Marian M. Kedzierski.