미니어처 골프
시간 제한6초메모리 제한512 MB
각 플레이어가 홀 점수에 상한 ℓ을 적용했을 때 얻을 수 있는 가장 좋은 순위를 구합니다.
문제
친구들이 미니어처 골프를 한 라운드 막 마쳤다. 코스에는 여러 홀이 있다. 각 플레이어는 차례대로 각 홀에서 공이 홀에 들어갈 때까지 공을 반복해서 친다. 홀별 점수는 공을 친 횟수이다. 느린 플레이어가 게임을 지연시키지 않도록 점수에는 상한 (양의 정수)이 있다. 플레이어가 공을 번 쳤는데도 공이 들어가지 않으면 그 홀의 점수는 로 기록되고, 그 플레이어의 차례는 끝난다. 플레이어의 총점은 모든 홀 점수의 합이다. 점수가 낮을수록 좋다.
플레이어들은 의 값을 기억하지 못한다. 경기 중에는 상한을 적용하지 않고 공이 들어갈 때까지 계속 치기로 했다. 게임이 끝난 뒤 을 찾아보고, 보다 큰 점수를 모두 로 바꿀 예정이다.
게임은 끝났지만 플레이어들은 아직 을 찾아보지 않았다. 그들은 자신이 얻을 수 있는 최고 순위가 몇 위인지 알고 싶어 한다. 여기서 순위는 로 조정한 뒤 자신과 같거나 낮은 총점을 가진 플레이어의 수이다. 예를 들어 조정된 점수가 3, 5, 5, 4, 3이면 순위는 각각 2, 5, 5, 3, 2이다. 각 홀에서 플레이어별 점수가 주어질 때, 각 플레이어가 얻을 수 있는 가장 작은 순위를 구하라.
입력
첫 줄에 두 정수 와 가 주어진다. ()는 플레이어 수이고, ()는 홀의 수이다. 다음 개 줄에는 각각 양의 정수 개가 주어진다. 번째 줄의 번째 수는 플레이어 의 홀 점수이며, 을 넘지 않는다.
출력
입력에 나온 순서대로 각 플레이어의 가능한 최소 순위를 한 줄에 출력한다.