아름다운 순위표
시간 제한2초메모리 제한1024 MB
n개 팀의 해결 문제 수와 대회 문제 수 m이 주어질 때, 정렬 순서와 '각 팀의 해결 수가 0 또는 m의 약수'라는 조건이 매 제출마다 유지되도록 만들 수 있는 최대 총 제출 횟수를 구한다.
문제
올레그는 프로그래밍 대회의 열렬한 팬이다. 그는 지난 10년간 열린 모든 대회의 모든 참가자를 알고 있으며, 어떤 참가자에 대해서든 그가 속한 팀이 어떤 대회에서 몇 문제를 풀었는지 말할 수 있다. 올레그는 정수론도 아주 좋아한다.
프로그래밍 대회의 순위표에서 팀은 푼 문제 수가 감소하는 순서로 정렬되어 있다. 올레그는 모든 팀에 대해 푼 문제 수가 0이거나 대회의 문제 수의 약수이면 그 순위표를 아름답다고 부른다. 어떤 팀이 문제를 제출하면 그 팀이 푼 문제 수가 1 증가한다. 어떤 팀도 두 문제 이상을 동시에 제출할 수 없고, 두 팀이 동시에 문제를 제출할 수도 없다.
아름다운 순위표를 보던 올레그는 궁금해졌다. 각 문제를 제출한 뒤에도 순위표가 아름답게 유지되도록 팀들이 합쳐서 앞으로 몇 문제를 더 제출할 수 있을까? 그가 알아내도록 도와주자.
입력
입력 파일의 첫째 줄에는 두 정수 과 이 주어진다. 각각 팀의 수와 대회의 문제 수이다 (, ). 둘째 줄에는 감소하지 않는 순서로 정렬된 개의 정수가 주어진다. 각 팀이 푼 문제 수가 주어진다. 0이 아닌 모든 수는 의 약수임이 보장된다.
출력
출력 파일에 정수 하나를 출력한다. 각 문제를 제출한 뒤에도 순위표가 아름답게 유지되도록 팀들이 합쳐서 앞으로 더 제출할 수 있는 최대 문제 수이다.
힌트
예시에서 4위와 5위 팀은 문제를 하나씩, 6위 팀은 세 문제, 7위 팀은 네 문제를 제출할 수 있다. 이렇게 하면 팀들은 합쳐서 9문제를 제출할 수 있다.