#include <iostream>
using namespace std;
void calculate(int x, int y, int a);
int arr[2200][2200] = { 0, };
int one = 0;
int mius = 0;
int zero = 0;
int main()
{
int a;
cin >> a;
for (int i = 0; i < a; i++)
{
for (int j = 0; j < a; j++)
{
cin >> arr[i][j];
}
}
calculate(0, 0, a);
cout << mius << endl;
cout << zero << endl;
cout << one;
return 0;
}
void calculate(int x, int y, int a)
{
bool check = true;
int flag = arr[x][y];
for (int i = x; i < x+a; i++)
{
if (check == false)
{
break;
}
for (int j = y; j < y+a; j++)
{
if (check == false)
{
break;
}
if (flag != arr[i][j])
{
check = false;
}
}
}
if (check == true)
{
if (flag == 1)
{
one = one + 1;
}
else if (flag == 0)
{
zero = zero + 1;
}
else
{
mius = mius + 1;
}
}
else
{
calculate(x, y, a / 3);
calculate(x + a / 3, y, a / 3);
calculate(x + (2 * a / 3), y, a / 3);
calculate(x, y + a / 3, a / 3);
calculate(x + a / 3, y + a / 3, a / 3);
calculate(x + (2 * a / 3), y + 3 / a, a / 3);
calculate(x, y + (2 * a / 3), a / 3);
calculate(x + a / 3, y + (2 * a / 3), a / 3);
calculate(x + (2 * a / 3), y + (2 * a / 3), a / 3);
}
return;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBjYWxjdWxhdGUoaW50IHgsIGludCB5LCBpbnQgYSk7CmludCBhcnJbMjIwMF1bMjIwMF0gPSB7IDAsIH07CgppbnQgb25lID0gMDsKaW50IG1pdXMgPSAwOwppbnQgemVybyA9IDA7CgppbnQgbWFpbigpCnsKCWludCBhOwoJY2luID4+IGE7Cglmb3IgKGludCBpID0gMDsgaSA8IGE7IGkrKykKCXsKCQlmb3IgKGludCBqID0gMDsgaiA8IGE7IGorKykKCQl7CgkJCWNpbiA+PiBhcnJbaV1bal07CgkJfQoJfQoJY2FsY3VsYXRlKDAsIDAsIGEpOwoJY291dCA8PCBtaXVzIDw8IGVuZGw7Cgljb3V0IDw8IHplcm8gPDwgZW5kbDsKCWNvdXQgPDwgb25lOwoJcmV0dXJuIDA7Cn0KCnZvaWQgY2FsY3VsYXRlKGludCB4LCBpbnQgeSwgaW50IGEpCnsKCWJvb2wgY2hlY2sgPSB0cnVlOwoJaW50IGZsYWcgPSBhcnJbeF1beV07Cglmb3IgKGludCBpID0geDsgaSA8IHgrYTsgaSsrKQoJewoJCWlmIChjaGVjayA9PSBmYWxzZSkKCQl7CgkJCWJyZWFrOwoJCX0KCQlmb3IgKGludCBqID0geTsgaiA8IHkrYTsgaisrKQoJCXsKCQkJaWYgKGNoZWNrID09IGZhbHNlKQoJCQl7CgkJCQlicmVhazsKCQkJfQoJCQlpZiAoZmxhZyAhPSBhcnJbaV1bal0pCgkJCXsKCQkJCWNoZWNrID0gZmFsc2U7CgkJCX0KCQl9Cgl9CglpZiAoY2hlY2sgPT0gdHJ1ZSkKCXsKCQlpZiAoZmxhZyA9PSAxKQoJCXsKCQkJb25lID0gb25lICsgMTsKCQl9CgkJZWxzZSBpZiAoZmxhZyA9PSAwKQoJCXsKCQkJemVybyA9IHplcm8gKyAxOwoJCX0KCQllbHNlCgkJewoJCQltaXVzID0gbWl1cyArIDE7CgkJfQoJfQoJZWxzZQoJewoJCWNhbGN1bGF0ZSh4LCB5LCBhIC8gMyk7CgkJY2FsY3VsYXRlKHggKyBhIC8gMywgeSwgYSAvIDMpOwoJCWNhbGN1bGF0ZSh4ICsgKDIgKiBhIC8gMyksIHksIGEgLyAzKTsKCQljYWxjdWxhdGUoeCwgeSArIGEgLyAzLCBhIC8gMyk7CgkJY2FsY3VsYXRlKHggKyBhIC8gMywgeSArIGEgLyAzLCBhIC8gMyk7CgkJY2FsY3VsYXRlKHggKyAoMiAqIGEgLyAzKSwgeSArIDMgLyBhLCBhIC8gMyk7CgkJY2FsY3VsYXRlKHgsIHkgKyAoMiAqIGEgLyAzKSwgYSAvIDMpOwoJCWNhbGN1bGF0ZSh4ICsgYSAvIDMsIHkgKyAoMiAqIGEgLyAzKSwgYSAvIDMpOwoJCWNhbGN1bGF0ZSh4ICsgKDIgKiBhIC8gMyksIHkgKyAoMiAqIGEgLyAzKSwgYSAvIDMpOwoJfQoJcmV0dXJuOwp9
OQoxIDEgMSAxIDEgMSAxIDEgMQoxIDEgMSAwIDAgMCAxIDEgMQoxIDEgMSAwIDAgMCAxIDEgMQotMSAtMSAtMSAtMSAtMSAtMSAtMSAtMSAtMQotMSAtMSAtMSAtMSAtMSAtMSAtMSAtMSAtMQotMSAtMSAtMSAtMSAtMSAtMSAtMSAtMSAtMQowIDAgMCAxIDEgMSAxIDEgMQowIDAgMCAwIDAgMCAxIDEgMQowIDAgMCAtMSAtMSAtMSAxIDEgMQ==
9
1 1 1 1 1 1 1 1 1
1 1 1 0 0 0 1 1 1
1 1 1 0 0 0 1 1 1
-1 -1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1 -1
0 0 0 1 1 1 1 1 1
0 0 0 0 0 0 1 1 1
0 0 0 -1 -1 -1 1 1 1