끝없는 사탕 파티
시간 제한2초메모리 제한128 MB
1부터 N까지 각 s마다 몫 floor(b_i/k)가 같은 테이블이 정확히 s개가 되는 가장 이른 날을 구합니다.
문제
미르코는 파티를 좋아해서 친구들을 위해 파티를 끝없이 열기로 했다. 그래서 테이블 개를 놓고 테이블마다 사탕을 올려 두었다. 번째 테이블에 놓인 사탕은 개다. 첫날에는 테이블마다 친구 한 명을 초대하고, 둘째 날에는 테이블마다 두 명, 셋째 날에는 세 명을 초대한다. 즉 번째 날에는 테이블마다 친구 명을 초대한다.
친구들이 방에 들어오면 테이블마다 명이 앉아서 그 테이블의 사탕을 똑같이 나누어 가지고, 나누어떨어지지 않고 남는 사탕은 버린다. 따라서 번째 날에 번째 테이블에 앉은 사람은 사탕을 개씩 받는다. 사탕을 나눈 뒤에는 1인당 받은 개수가 같은 테이블끼리만 어울린다. 즉 테이블은 1인당 개수에 따라 무리로 나뉜다.
미르코는 부터 까지 각 에 대해 테이블이 정확히 개인 무리가 처음 생기는 날이 언제인지 알고 싶다. 답 개를 모두 구하는 프로그램을 작성하라.
미르코는 파티를 열기 전마다 테이블의 사탕을 처음 개수만큼 다시 채워 놓고, 이전 파티에 온 사람이 모두 돌아간 뒤에 다음 파티를 시작한다.
입력
첫째 줄에 테이블의 개수 이 주어진다. ()
둘째 줄에 정수 이 공백으로 구분되어 주어진다. 는 번째 테이블에 놓인 사탕의 개수다. ()
출력
개의 줄을 출력한다. 번째 줄에는 테이블이 정확히 개인 무리가 처음 생기는 날의 번호를 출력한다. 그런 날이 오지 않으면 을 출력한다.
힌트
첫 번째 예제에서 첫날에는 1인당 개수가 같은 테이블이 없어서 모든 테이블이 혼자 무리를 이룬다. 그래서 크기가 1인 무리의 답은 1이다. 둘째 날에는 1번 테이블과 2번 테이블이 모두 1인당 5개를 받아 함께 어울리므로 크기가 2인 무리의 답은 2다. 셋째 날에는 1번, 2번, 3번 테이블이 모두 1인당 3개를 받는다. 여섯째 날에는 1번부터 4번까지 네 테이블이 모두 1인당 1개를 받는다. 열두째 날에는 모든 테이블이 1인당 0개를 받아 다섯 테이블이 한 무리가 된다.
두 번째 예제에서는 모든 테이블의 사탕 개수가 같아서 1인당 개수도 늘 같다. 그래서 크기가 3보다 작은 무리는 영원히 생기지 않는다.