#include<bits/stdc++.h>
using namespace std;
const int N=110;
double eps=1e-6;
double a[N][N];
int n,i,j,k,key=1;
inline bool iszero(double x){
return abs(x)<eps;
}
int main(){
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n+1;j++)
cin>>a[i][j];
for(j=1;j<=n;j++){
bool flag=0;
if(iszero(a[j][j])){
flag=1;
for(i=j+1;i<=n;i++){
if(!iszero(a[i][j])){
flag=0;
for(k=1;k<=n+1;k++){
swap(a[j][k],a[i][k]);
}
break;
}
}
}
if(flag){
if(!iszero(a[i][n+1])){
key=-1;
}else if(key!=-1){
key=0;
}
continue;
}
for(i=j+1;i<=n;i++){
double b=a[i][j]/a[j][j];
for(k=1;k<=n+1;k++){
a[i][k]-=a[j][k]*b;
}
}
}
for(j=n;j>=2;j--){
if(iszero(a[j][j])){
if(!iszero(a[i][n+1])){
key=-1;
}else if(key!=-1){
key=0;
}
continue;
}
for(i=j-1;i>=1;i--){
double b=a[j][j]/a[i][j];
for(k=n+1;k>=1;k--){
a[i][k]-=a[j][k]/b;
}
}
}
if(key!=1){
cout<<key;
return 0;
}
for(i=1;i<=n;i++)
printf("x%d=%.2lf\n",i,a[i][n+1]/a[i][i]);
return 0;
}