rt
#include<bits/stdc++.h>
using namespace std;
const int N=105;
const double eps=1e-10;
int n,num;
double a[N][N];
void Guass(){
for(int j=1;j<=n;j++){
int pos=0;
for(int i=j;i<=n;i++)
if(fabs(a[i][j])>fabs(a[pos][j]))
pos=i;
if(fabs(a[pos][j])<eps)
continue;
for(int i=1;i<=n+1;i++)
swap(a[pos][i],a[j][i]);
for(int i=n+1;i>=j;i--)
a[j][i]=a[j][i]*1.0/a[j][j];
for(int i=1;i<=n;i++)
if(i!=j)
for(int k=n+1;k>=j;k--)
a[i][k]-=a[j][k]*a[i][j];
num++;
}
if(num==n){
for(int i=1;i<=n;i++)
printf("x%d=%.2lf\n",i,a[i][n+1]);
exit(0);
}
else{
for(int i=1;i<=n;i++){
bool flg=0;
for(int j=1;j<=n;j++)
if(fabs(a[i][j])>eps)
flg=1;
if(!flg&&fabs(a[i][n+1])>eps){
cout<<"-1";
exit(0);
}
}
cout<<"0";
exit(0);
}
return;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n+1;j++)
cin>>a[i][j];
Guass();
return 0;
}