#include <bits/stdc++.h>
using namespace std;
#define rank rank_
const int N = 30007;
int s[N][5], rank[N][5];
bitset<N>b[5][N];
int main()
{
//std::ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr); cout << fixed;
int n;
scanf("%d",&n);
for(int i = 1;i <= n;i ++) for(int j = 0;j < 5;j ++) cin >> s[i][j], rank[s[i][j]][j] = i;
for(int j = 0;j < 5;j ++) {
for(int i = 2;i <= n;i ++) {
b[j][rank[i][j]] = b[j][rank[i-1][j]];
b[j][rank[i][j]].set(rank[i-1][j]);
}
}
for(int i = 1;i <= n;i ++) {
bitset<N>tmp;
tmp.set();
for(int j = 0;j < 5;j ++) tmp &= b[j][i];
printf("%d\n",tmp.count());
}
return 0;
}
using namespace std;
#define rank rank_
const int N = 30007;
int s[N][5], rank[N][5];
bitset<N>b[5][N];
int main()
{
//std::ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr); cout << fixed;
int n;
scanf("%d",&n);
for(int i = 1;i <= n;i ++) for(int j = 0;j < 5;j ++) cin >> s[i][j], rank[s[i][j]][j] = i;
for(int j = 0;j < 5;j ++) {
for(int i = 2;i <= n;i ++) {
b[j][rank[i][j]] = b[j][rank[i-1][j]];
b[j][rank[i][j]].set(rank[i-1][j]);
}
}
for(int i = 1;i <= n;i ++) {
bitset<N>tmp;
tmp.set();
for(int j = 0;j < 5;j ++) tmp &= b[j][i];
printf("%d\n",tmp.count());
}
return 0;
}