#include <iostream>
#include <cstdio>
#include <map>
#include <string>
#include <cstring>
using namespace std;
//英语 map实现 trie树未实现
int hs[20008];
int main()
{
while(1)
{
int n,m;
scanf("%d%d",&n,&m);
if(n==0 && m==0)
{
break;
}
map<string,int> mp;
mp.clear();
char ca[m+1];
for(int i=0;i<n;i++)
{
scanf("%s",ca);
string s=ca;
mp[s]++;
}
memset(hs,0,sizeof(hs));
for(map<string,int>::iterator it=mp.begin();it!=mp.end();it++)
{
hs[it->second]++;
}
for(int i=1;i<=n;i++)
{
cout<<hs[i]<<endl;
}
}
return 0;
}