#pragma GCC optimize("Ofast") #include using namespace std; typedef long long int ll; typedef unsigned long long int ull; mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); ll myRand(ll B) { return (ull)rng() % B; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; vector> a(n, vector(n)); pair p; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { string s; cin >> s; if (s == "?") { p = {i, j}; } else { a[i][j] = stoll(s); } } } if (n == 1) { cout << 1 << endl; } else { int k; for (int i = 0; i < n; i++) { if (a[p.first][i] != 0) k = i; } ll sum = 0; for (int i = 0; i < n; i++) { sum += a[i][p.second] * a[i][k]; } cout << -sum / a[p.first][k] << endl; } }