Codeforces Round 375 (Div. 2)
C
Polycarp at the Radio
Codeforces
1600
原题
← BD →
翻译中…

Polycarp is a music editor at the radio station. He received a playlist for tomorrow, that can be represented as a sequence $*a*_{1}, *a*_{2}, ..., *a*_{*n*}$, where $*a*_{*i*}$ is a band, which performs the $*i*$-th song. Polycarp likes bands with the numbers from $1$ to $*m*$, but he doesn't really like others.

翻译中…

We define as $*b*_{*j*}$ the number of songs the group $*j*$ is going to perform tomorrow. Polycarp wants to change the playlist in such a way that the minimum among the numbers $*b*_{1}, *b*_{2}, ..., *b*_{*m*}$ will be as large as possible.

翻译中…

Find this maximum possible value of the minimum among the $*b*_{*j*}$ ($1 ≤ *j* ≤ *m*$), and the minimum number of changes in the playlist Polycarp needs to make to achieve it. One change in the playlist is a replacement of the performer of the $*i*$-th song with any other group.

翻译中…

Input

翻译中…

The first line of the input contains two integers $*n*$ and $*m*$ ($1 ≤ *m* ≤ *n* ≤ 2000$).

翻译中…

The second line contains $*n*$ integers $*a*_{1}, *a*_{2}, ..., *a*_{*n*}$ ($1 ≤ *a*_{*i*} ≤ 10^{9}$), where $*a*_{*i*}$ is the performer of the $*i*$-th song.

翻译中…

Output

翻译中…

In the first line print two integers: the maximum possible value of the minimum among the $*b*_{*j*}$ ($1 ≤ *j* ≤ *m*$), where $*b*_{*j*}$ is the number of songs in the changed playlist performed by the $*j*$-th band, and the minimum number of changes in the playlist Polycarp needs to make.

翻译中…

In the second line print the changed playlist.

翻译中…

If there are multiple answers, print any of them.

翻译中…

Note

翻译中…

In the first sample, after Polycarp's changes the first band performs two songs ($*b*_{1} = 2$), and the second band also performs two songs ($*b*_{2} = 2$). Thus, the minimum of these values equals to $2$. It is impossible to achieve a higher minimum value by any changes in the playlist.

翻译中…

In the second sample, after Polycarp's changes the first band performs two songs ($*b*_{1} = 2$), the second band performs three songs ($*b*_{2} = 3$), and the third band also performs two songs ($*b*_{3} = 2$). Thus, the best minimum value is $2$.

翻译中…

样例

Input #1
4 2
1 2 3 2
Output #1
2 1
1 2 1 2
InputCopy OutputCopy
Input #2
7 3
1 3 2 2 2 2 1
Output #2
2 1
1 3 3 2 2 2 1
InputCopy OutputCopy
Input #3
4 4
1000000000 100 7 1000000000
Output #3
1 4
1 2 3 4
InputCopy OutputCopy
题目信息
题号
723C
时间限制
2 s
内存限制
256 MB
标签
贪心

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。