우표
시간 제한2초메모리 제한1024 MB
도시 번호가 붙은 우표가 주어질 때, k명이 같은 구성으로 나눠 가질 수 있는 우표의 최대 개수를 k마다 구합니다.
문제
Bajtazar는 한때 우표를 많이 모았다. 지금은 그 취미에 예전만큼 열중하지 않아서, 컬렉션을 어린 우표 애호가들에게 나눠주려고 한다. 다만 가능한 한 공평하게 나누고 싶어서 당신의 도움이 필요하다.
컬렉션에는 개의 우표가 있고, 번째 우표는 도시 에서 왔다. 도시는 정수로 번호가 매겨져 있다. Bajtazar는 신문에 광고를 내서 우표를 나눠준다고 알린다. 명의 지원자가 오면, 각 지원자는 우표의 부분집합을 받는데 한 가지 조건을 지켜야 한다. 모든 지원자가 받는 우표 다중집합이 같아야 한다. 즉, 지원자 두 명을 고르고 어떤 도시를 보더라도, 두 사람이 그 도시에서 받는 우표 개수가 같아야 한다. Bajtazar는 우표를 전혀 나눠주지 않아도 된다.
Bajtazar는 몇 명이 지원할지 정확히 모른다. 부터 까지 각 에 대해, 명이 지원했을 때 Bajtazar가 나눠줄 수 있는 우표의 최대 개수를 구하라.
입력
첫 줄에 정수 ()이 주어진다. 이는 Bajtazar가 가진 우표의 개수이다.
둘째 줄에는 개의 정수 ()이 주어진다. 이는 우표가 온 도시 번호를 순서대로 나열한 것이다.
출력
개의 정수를 공백으로 구분해 한 줄에 출력한다. 번째 정수는 명이 지원했을 때 Bajtazar가 나눠줄 수 있는 우표의 최대 개수이다.
힌트
예시 설명: 지원자가 한 명이면 Bajtazar는 가진 우표를 전부 그 사람에게 줄 수 있다.
지원자가 두 명이면 각 사람에게 도시 1의 우표 두 장, 도시 42의 우표 한 장, 도시 777의 우표 한 장을 줄 수 있다. 합계는 8장이다.
지원자가 네 명이면 각 사람에게 도시 1의 우표를 한 장씩 줄 수 있다.
지원자가 네 명보다 많으면 Bajtazar는 우표를 하나도 나눠줄 수 없다.