#include"bits/stdc++.h"
#define int long long
using namespace std;
void TEST_CASE() {
int n;
cin >> n;
vector<string>s(n);
for (int i = 0; i < n; i++) {
cin >> s[i];
}
vector<bitset<2005>>bit(n), bit2(n);
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (s[i][j] == '1') {
bit[i][j] = 1;
bit2[i][j] = 1;
}
}
}
int ans = 0;
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
bit[i] &= bit[j];
int cnt = bit[i].count();
ans += (cnt * (cnt - 1)) / 2;
bit[i] |= bit2[i];
}
}
cout << ans << endl;
}
signed main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int t = 1;
//cin >> t;
while (t--) {
TEST_CASE();
}
return 0;
}
I2luY2x1ZGUiYml0cy9zdGRjKysuaCIKI2RlZmluZSBpbnQgbG9uZyBsb25nCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIFRFU1RfQ0FTRSgpIHsKICAgIGludCBuOwogICAgY2luID4+IG47CiAgICB2ZWN0b3I8c3RyaW5nPnMobik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGNpbiA+PiBzW2ldOwogICAgfQogICAgdmVjdG9yPGJpdHNldDwyMDA1Pj5iaXQobiksIGJpdDIobik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgbjsgaisrKSB7CiAgICAgICAgICAgIGlmIChzW2ldW2pdID09ICcxJykgewogICAgICAgICAgICAgICAgYml0W2ldW2pdID0gMTsKICAgICAgICAgICAgICAgIGJpdDJbaV1bal0gPSAxOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgaW50IGFucyA9IDA7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGZvciAoaW50IGogPSBpICsgMTsgaiA8IG47IGorKykgewogICAgICAgICAgICBiaXRbaV0gJj0gYml0W2pdOwogICAgICAgICAgICBpbnQgY250ID0gYml0W2ldLmNvdW50KCk7CiAgICAgICAgICAgIGFucyArPSAoY250ICogKGNudCAtIDEpKSAvIDI7CiAgICAgICAgICAgIGJpdFtpXSB8PSBiaXQyW2ldOwogICAgICAgIH0KICAgIH0KICAgIGNvdXQgPDwgYW5zIDw8IGVuZGw7Cn0KCnNpZ25lZCBtYWluKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiAgICBpbnQgdCA9IDE7CiAgICAvL2NpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkgewogICAgICAgIFRFU1RfQ0FTRSgpOwogICAgfQogICAgcmV0dXJuIDA7Cn0K