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

A. DZY Loves Hash

time limit per test

1 secondmemory limit per test

256 megabytesinput

standard inputoutput

standard outputDZY has a hash table with *p* buckets, numbered from 0 to *p* - 1. He wants to insert *n* numbers, in the order they are given, into the hash table. For the *i*-th number *x*_{i}, DZY will put it into the bucket numbered *h*(*x*_{i}), where *h*(*x*) is the hash function. In this problem we will assume, that *h*(*x*) = *x* *mod* *p*. Operation *a* *mod* *b* denotes taking a remainder after division *a* by *b*.

However, each bucket can contain no more than one element. If DZY wants to insert an number into a bucket which is already filled, we say a "conflict" happens. Suppose the first conflict happens right after the *i*-th insertion, you should output *i*. If no conflict happens, just output -1.

Input

The first line contains two integers, *p* and *n* (2 ≤ *p*, *n* ≤ 300). Then *n* lines follow. The *i*-th of them contains an integer *x*_{i} (0 ≤ *x*_{i} ≤ 10^{9}).

Output

Output a single integer — the answer to the problem.

Examples

Input

10 5

0

21

53

41

53

Output

4

Input

5 5

0

1

2

3

4

Output

-1

Codeforces (c) Copyright 2010-2018 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Apr/24/2018 06:14:40 (d1).

Desktop version, switch to mobile version.

User lists

Name |
---|