#include <bits/stdc++.h>
using namespace std;
//#include <atcoder/all>
//using namespace atcoder;
//using mint = modint1000000007;
//using mint = modint998244353;
template <typename T> bool chmax(T &u, const T z) { if (u < z) {u = z; return true;} else return false; }
template <typename T> bool chmin(T &u, const T z) { if (u > z) {u = z; return true;} else return false; }
#define ll long long
#define rep(i, n) for (ll i = 0; i < (ll)(n); i++)
typedef pair<ll, int> P;
ll gcd(ll x, ll y) { return y ? gcd(y, x % y) : x; }
ll lcm(ll a, ll b){return a * b / gcd(a, b);}
const int N=50;
const int N2=2525;
#define RC(r, c) ((r) * N + (c))
#define R(rc) (rc / N)
#define C(rc) (rc % N)
double Randouble(){
	return 1.0*rand()/RAND_MAX;
}
int main(){
  map<string,int>mp;
  int n;
  cin>>n;
  rep(i,n){
    string s;
    int a;
    cin>>s>>a;
    mp[s]=a;
  }
  vector<int>num(8,0);
  for(auto p:mp){
    num[p.second]++;
  }
  rep(i,8)cout<<num[i]<<endl;
  return 0;
}