void solve(){
int n;
cin >> n;
vector<vector<double >> a(n+1,vector<double >(n+1));
vector<double > b(n+1);
for(int i = 1; i <= n; i ++ ){
for(int j = 1; j <= n; j ++ ){
cin >> a[i][j];
}
cin >> b[i];
}
double eps = 1e-10;
auto guass = [&]()->void{
int u = 1;
for(int j = 1; j <= n; j ++ ){
for(int i = u+1; i <= n; i ++ ){
if(fabs(a[i][j]) > fabs(a[u][j])){
swap(a[i],a[u]);
swap(b[i],b[u]);
}
}
if(fabs(a[u][j]) < eps)continue;
for(int i = 1; i <= n; i ++ ){
if(i == u)continue;
if(fabs(a[i][j]) < eps)continue;
double delta = a[i][j] / a[u][j];
for(int k = j; k <= n; k ++ ){
a[i][k] -= a[u][k] * delta;
}
b[i] -= b[j] * delta;
}
u ++;
}
for(int i = u; i <= n; i ++ ){
if(fabs(b[i]) >= eps){
cout << "-1";
return;
}
}
if(u <= n)cout << "0";
else{
for(int i = 1; i <= n; i ++ ){
cout << "x" << i << "=" << b[i] / a[i][i] << '\n';
}
}
};
guass();
}