#include <cstdio>
#include <iostream>
using namespace std;
const int N = 114;
const long long Mod = 1e9 + 7;
int n;
long long nums[N][N];
long long magicAnd[N][N][N];
long long magicOr[N][N][N];
long long resAnd;
long long resOr;
int main () {
freopen ("andorsum.in", "r", stdin);
freopen ("andorsum.out", "w", stdout);
cin >> n;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
cin >> nums[i][j];
}
}
for (int line = 1; line <= n; line++) {
for (int i = 1; i <= n; i++) {
magicAnd[line][i][i] = magicOr[line][i][i] = nums[line][i];
for (int j = i + 1; j <= n; j++) {
magicAnd[line][i][j] = magicAnd[line][i][j - 1] & nums[line][j];
magicOr[line][i][j] = magicOr[line][i][j - 1] | nums[line][j];
}
}
}
for (int l = 1; l <= n; l++) {
for (int r = l; r <= n; r++) {
for (int i = 1; i <= n; i++) {
long long a = magicAnd[i][l][r];
long long o = magicOr[i][l][r];
resAnd = (resAnd + a) % Mod;
resOr = (resOr + o) % Mod;
for (int j = i + 1; j <= n; j++) {
a &= magicAnd[j][l][r];
o |= magicOr[j][l][r];
resAnd = (resAnd + a) % Mod;
resOr = (resOr + o) % Mod;
}
}
}
}
cout << resAnd << ' ' << resOr << endl;
return 0;
}