동일 길이 분배 최대화
길이가 제각각인 막대 N개가 있다. 이 막대들을 잘라 M명에게 막대 조각을 하나씩 나눠 주려고 한다.
나눠 주는 조각의 길이는 모두 같아야 하며, 조각은 가능한 한 길수록 좋다.
막대 하나는 원하는 만큼 여러 조각으로 자를 수 있지만, 서로 다른 막대나 조각을 이어 붙일 수는 없다. 또한 조각의 길이는 양의 정수여야 한다.
M명 모두에게 같은 길이의 조각을 하나씩 줄 수 있을 때, 그 조각 길이의 최댓값을 구하라.
입력
첫째 줄에 사람의 수 M(1 ≤ M ≤ 1,000,000)과 막대의 수 N(1 ≤ N ≤ 1,000,000)이 주어진다.
둘째 줄에 막대 N개의 길이 L1, L2, ..., LN이 공백으로 구분되어 주어지며, 각 길이는 1 이상 1,000,000,000 이하이다.
출력
첫째 줄에 한 사람에게 줄 수 있는 조각의 최대 길이를 출력한다.
단, 모든 사람에게 같은 길이의 조각을 나눠줄 수 없다면, 0을 출력한다.
예제 입력 1
3 10
1 2 3 4 5 6 7 8 9 10
예제 출력 1
8
예제 입력 2
4 3
10 10 15
예제 출력 2
7