생일 멘션이 너무 많아

시간 제한2.8초메모리 제한329 MB

요약
같은 메시지를 두 번 받는 사람이 있는지 판정하고, 없으면 M개 메시지가 각각 몇 번 전송되는지 센다.
난이도

보통10점 중 4점

유형
구현, 수학, 누적 합
정답자
아직 제출이 없습니다

문제

곧 있을 루미의 생일을 축하해 주기 위해 NN명이나 되는 많은 사람들이 생일 축하 멘션을 보내왔다. 하지만 도배가 허용된 채팅방에 멘션을 허용해 준 나머지 다른 사람들의 멘션을 너무 많이 받아 답장하기 어려워졌다. 따라서 루미는 각 멘션마다 메시지를 보내주는 매크로를 만들기로 하였다.

그런데 루미는 한 사람이 보낸 서로 다른 멘션에 똑같은 메시지를 보내면 루미가 그 사람에게 매크로 의심을 받을 것이라고 생각했다. 그래서 루미는 매크로 의심을 피하기 위해 아래와 같이 매크로를 만들기로 했다.

  1. 서로 다른 준비된 MM개의 메시지에 11번, 22번, 33번, ..., MM번으로 번호를 매긴다.
  2. 멘션을 22회 이상한 사람들이 멘션을 한 횟수의 평균을 구한다. 단, 22회 이상 멘션을 보낸 사람이 없다면 평균은 00이다.
  3. 멘션을 한 횟수가 평균 이하인 사람에게는 첫 번째 멘션부터 순서대로 각 멘션마다 11번 메시지부터 차례대로 보낸다. 만약 준비된 메시지가 멘션의 양보다 적어 MM개의 메시지를 다 쓴 경우에는 11번 메시지로 돌아와 다시 메시지를 보내는 과정을 반복한다.
  4. 멘션을 한 횟수가 평균을 초과한 사람에게는 그 사람의 첫 번째 멘션에만 11번 메시지를 11회 보내도록 한다.

예를 들어

  1. 평균 멘션 횟수가 55회, 준비된 메시지 개수가 66개일 때

    • 44회 멘션을 보낸 사람에게는 1,2,3,41,2,3,4번째 멘션에 1,2,3,41,2,3,4번 메시지를 각각 보내게 된다.
    • 66회 멘션을 보낸 사람에게는 11번 메시지만 11회 보낸다.
  2. 평균 멘션 횟수가 55회, 준비된 메시지 개수가 33개일 때

    • 44회 멘션을 보낸 사람에게는 1,2,3,41,2,3,4번째 멘션에 1,2,3,11,2,3,1번 메시지를 각각 보내게 된다.
    • 66회 멘션을 보낸 사람에게는 11번 메시지만 11회 보낸다.

이와 같이 매크로를 만들고 MM개의 메시지를 준비했을 때 11번부터 MM번까지 각 메시지를 보낸 횟수를 구하라.

입력

첫 번째 줄에 N,MN, M이 공백으로 구분되어 주어진다.

두 번째 줄에 i(1≤i≤N)i(1\leq i\leq N)번째 사람이 멘션한 횟수 P_iP\_i가 공백으로 구분되어 주어진다.

출력

한 사람이 보낸 서로 다른 멘션에 똑같은 메시지를 보내 매크로 의심을 받게 된다면 -1을, 아니라면 11번부터 MM번까지 메시지를 보낸 횟수를 공백으로 구분해 출력하라.

제한

  • 1≤N≤1061\leq N\leq 10^6
  • 1≤M≤1061\leq M\leq 10^6
  • 1≤P_i≤1091\leq P\_i\leq 10^9
  • 입력으로 주어지는 수는 모두 정수이다.

예제2

  1. 예제 1

    입력
    9 1
    1 5 20 3 4 2 49 5 4
    
    예상 출력
    -1
    
  2. 예제 2

    입력
    5 3
    1 2 3 4 5
    
    예상 출력
    5 2 1