func_code_string: #include <bits/stdc++.h>   int d[3000], g[3000], q[3000];   int i, j, k, m, n, r, t;   int main() {     scanf( %d%d , &n, &m);     for (i = 1; i <= n; i++) {       scanf( %d , &g[i]);       if (g[i] <= m)         d[g[i]]++;       else         r++;     }     for (k = 0;; k++) {       t = 1;       for (i = 2; i <= m; i++)         if (d[i] < d[t]) t = i;       if (d[t] == n / m) break;       d[t]++;       if (r)         r--;       else {         t = 1;         for (i = 2; i <= m; i++)           if (d[i] > d[t]) t = i;         d[t]--;       }     }     printf( %d %d n , n / m, k);     for (i = 1; i <= n; i++)       if ((g[i] <= m) && (d[g[i]])) {         q[i] = g[i];         d[g[i]]--;       } else if ((g[i] > m) && (r)) {         q[i] = g[i];         r--;       }     for (i = 1; i <= n; i++)       if (q[i])         printf( %d  , q[i]);       else         for (j = 1; j <= m; j++)           if (d[j]) {             printf( %d  , j);             d[j]--;             break;           }     return 0;   }   