#include<stdio.h>
int a[11][11];
int min(int a, int b) { if (a == 0)return b; if (a < b)return a; return b; }
int max(int a, int b) { if (a == 0)return b; if (a < b)return b; return a; }
int mnx[11], mxx[11], mny[11], mxy[11], ck[11];
int main() {
int n;
int i, j;
scanf("%d", &n);
for (i = 1; i <= n; i++)for (j = 1; j <= n; j++) {
scanf("%1d", &a[i][j]);
mnx[a[i][j]] = min(mnx[a[i][j]], i);
mxx[a[i][j]] = max(mxx[a[i][j]], i);
mny[a[i][j]] = min(mny[a[i][j]], j);
mxy[a[i][j]] = max(mxy[a[i][j]], j);
ck[a[i][j]] = 1;
}
int x, y;
for (i = 1; i <= 9; i++) {
for (x = mnx[i]; x <= mxx[i]; x++) {
for (y = mny[i]; y <= mxy[i]; y++) {
if (a[x][y] == i)continue;
ck[a[x][y]] = 0;
}
}
}
int ans = 0;
for (i = 1; i <= 9; i++)ans += ck[i];
printf("%d", ans);
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KCmludCBhWzExXVsxMV07CmludCBtaW4oaW50IGEsIGludCBiKSB7IGlmIChhID09IDApcmV0dXJuIGI7IGlmIChhIDwgYilyZXR1cm4gYTsgcmV0dXJuIGI7IH0KaW50IG1heChpbnQgYSwgaW50IGIpIHsgaWYgKGEgPT0gMClyZXR1cm4gYjsgaWYgKGEgPCBiKXJldHVybiBiOyByZXR1cm4gYTsgfQppbnQgbW54WzExXSwgbXh4WzExXSwgbW55WzExXSwgbXh5WzExXSwgY2tbMTFdOwppbnQgbWFpbigpIHsKCWludCBuOwoJaW50IGksIGo7CglzY2FuZigiJWQiLCAmbik7Cglmb3IgKGkgPSAxOyBpIDw9IG47IGkrKylmb3IgKGogPSAxOyBqIDw9IG47IGorKykgewoJCXNjYW5mKCIlMWQiLCAmYVtpXVtqXSk7CgkJbW54W2FbaV1bal1dID0gbWluKG1ueFthW2ldW2pdXSwgaSk7CgkJbXh4W2FbaV1bal1dID0gbWF4KG14eFthW2ldW2pdXSwgaSk7CgkJbW55W2FbaV1bal1dID0gbWluKG1ueVthW2ldW2pdXSwgaik7CgkJbXh5W2FbaV1bal1dID0gbWF4KG14eVthW2ldW2pdXSwgaik7CgkJY2tbYVtpXVtqXV0gPSAxOwoJfQoJaW50IHgsIHk7Cglmb3IgKGkgPSAxOyBpIDw9IDk7IGkrKykgewoJCWZvciAoeCA9IG1ueFtpXTsgeCA8PSBteHhbaV07IHgrKykgewoJCQlmb3IgKHkgPSBtbnlbaV07IHkgPD0gbXh5W2ldOyB5KyspIHsKCQkJCWlmIChhW3hdW3ldID09IGkpY29udGludWU7CgkJCQlja1thW3hdW3ldXSA9IDA7CgkJCX0KCQl9Cgl9CglpbnQgYW5zID0gMDsKCWZvciAoaSA9IDE7IGkgPD0gOTsgaSsrKWFucyArPSBja1tpXTsKCXByaW50ZigiJWQiLCBhbnMpOwoJcmV0dXJuIDA7Cn0=