      // Konteineriai Jaunesniems
#include <fstream.h>
 const int Ck = 100;
 int K[Ck], kk;
 int n, g;

main() 
{
  int i, sk, r;
  ifstream fd( "KONTEIN.IN");
  for(i = 1; i <= Ck; i++) K[i] = 0;
  
  fd >> n >> g;
  for(i = 1; i <= n; i++) {
    fd >> sk;
    K[g] += sk / g;
    r = sk % g;
    K[r]++;
  }
  fd.close();
  
  sk = 0;
  for(i = 1; i <= g; i++) 
     sk += K[i];
  
  ofstream fr("KONTEIN.OUT");
  fr << sk << endl;
  for(i = g; i >= 1; i--) fr <<K[i] << endl;
  fr.close();
}
