import java.io.*;

public class n01561 {

	static long N;
	static int M;
	static int[] time;
	static int max;

	public static void main(String[] args) throws Exception {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		String[] sarr = br.readLine().split(" ");
		N = Long.parseLong(sarr[0]);
		M = Integer.parseInt(sarr[1]);

		time = new int[M + 1];
		sarr = br.readLine().split(" ");

		for (int i = 1; i <= M; i++) {
			time[i] = Integer.parseInt(sarr[i - 1]);
			max = Math.max(max, time[i]);
		}

		if (N <= M) {
			bw.write(N + "\n");
			bw.flush();
			return;
		}

		else {
			long t = binSearch(0, (N / M) * max);

			long cnt = M;
			for (int i = 1; i <= M; i++)
				cnt += (t - 1) / time[i];

			for (int i = 1; i <= M; i++) {

				if (t % time[i] == 0)
					cnt++;

				if (cnt == N) {
					bw.write(i + "\n");
					bw.flush();
					return;
				}
			}

		}
	}

	public static long binSearch(long left, long right) {

		long pl = left;
		long pr = right;

		do {

			long pc = (pl + pr) / 2;

			long sum = M;
			for (int i = 1; i <= M; i++) {
				sum += pc / time[i];
			}

			if (sum < N)
				pl = pc + 1;
			else
				pr = pc - 1;

		} while (pl <= pr);

		return pl;
	}

}