#include <iostream>
using namespace std;
void divCon(int x, int y, int size);
int c[3]; int n;
int map[3000][3000];
void func(int x, int y, int size){
int paper = map[x][y];
int check = false;
for(int i=x; i<x+size; i++){
for(int j=y; j<y+size; j++){
if( paper != map[i][j] ){
divCon(x, y, size);
check = true;
break;
}
}
if(check == true) break;
}
if(check == false) c[paper+1]++;
}
void divCon(int x, int y, int size){
size = size/3;
func(x, y, size);
func(x, y+size, size);
func(x, y+size+size, size);
func(x+size, y, size);
func(x+size, y+size, size);
func(x+size, y+size+size, size);
func(x+size+size, y, size);
func(x+size+size, y+size, size);
func(x+size+size, y+size+size, size);
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
cin >> map[i][j];
}
}
divCon(0, 0, n);
cout << c[0] << '\n' << c[1] << '\n' << c[2];
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp2b2lkIGRpdkNvbihpbnQgeCwgaW50IHksIGludCBzaXplKTsKaW50IGNbM107IGludCBuOwppbnQgbWFwWzMwMDBdWzMwMDBdOwoKdm9pZCBmdW5jKGludCB4LCBpbnQgeSwgaW50IHNpemUpewoJaW50IHBhcGVyID0gbWFwW3hdW3ldOwoJaW50IGNoZWNrID0gZmFsc2U7Cglmb3IoaW50IGk9eDsgaTx4K3NpemU7IGkrKyl7CgkJZm9yKGludCBqPXk7IGo8eStzaXplOyBqKyspewoJCQlpZiggcGFwZXIgIT0gbWFwW2ldW2pdICl7CgkJCQlkaXZDb24oeCwgeSwgc2l6ZSk7CgkJCQljaGVjayA9IHRydWU7CgkJCQlicmVhazsKCQkJfQoJCX0KCQlpZihjaGVjayA9PSB0cnVlKSBicmVhazsKCX0KCWlmKGNoZWNrID09IGZhbHNlKSBjW3BhcGVyKzFdKys7Cn0KCnZvaWQgZGl2Q29uKGludCB4LCBpbnQgeSwgaW50IHNpemUpewoJc2l6ZSA9IHNpemUvMzsKCWZ1bmMoeCwgeSwgICAgICAgICAgIHNpemUpOwoJZnVuYyh4LCB5K3NpemUsICAgICAgc2l6ZSk7CglmdW5jKHgsIHkrc2l6ZStzaXplLCBzaXplKTsKCglmdW5jKHgrc2l6ZSwgeSwgICAgICAgICAgIHNpemUpOwoJZnVuYyh4K3NpemUsIHkrc2l6ZSwgICAgICBzaXplKTsKCWZ1bmMoeCtzaXplLCB5K3NpemUrc2l6ZSwgc2l6ZSk7CgkKCWZ1bmMoeCtzaXplK3NpemUsIHksICAgICAgICAgICBzaXplKTsKCWZ1bmMoeCtzaXplK3NpemUsIHkrc2l6ZSwgICAgICBzaXplKTsKCWZ1bmMoeCtzaXplK3NpemUsIHkrc2l6ZStzaXplLCBzaXplKTsJCn0KIAppbnQgbWFpbigpewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CgljaW4udGllKDApOwoKCWNpbiA+PiBuOwoKCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CgkJZm9yIChpbnQgaiA9IDA7IGogPCBuOyArK2opIHsKCQkJY2luID4+IG1hcFtpXVtqXTsKCQl9Cgl9CiAKCWRpdkNvbigwLCAwLCBuKTsKCWNvdXQgPDwgY1swXSA8PCAnXG4nIDw8IGNbMV0gPDwgJ1xuJyA8PCBjWzJdOwp9