const int N=1000+10;
const ll MOD=1e9+7;
#define eps 1e-6
double a[N][N];
int n;
void jfc()
{
int hang,lie;
for(hang=0,lie=0;lie<n;++lie)
{
//以列为标准消元(还剩几列--还剩几个才能出现单独参数)
int t=hang;
_f(i,hang+1,n-1)if((a[i][lie]-a[t][lie])>eps)t=i;
swap(a[t],a[hang]);
if(fabs(a[hang][lie])<=eps)continue;
//否则开始消消乐
f_(i,n,lie)a[hang][i]/=a[hang][lie];//所有的都要除,包括得数
_f(i,hang+1,n-1)
{
f_(j,n,lie)
{
a[i][j]-=a[i][lie]*a[hang][j];//消掉其他的不是也系数化1!!
}
}
hang++;
}
if(hang<n)
{
_f(i,hang,n-1)if(a[i][n]!=0)return -1;
return 0;
}
f_(i,n-1,0)//删哪列
{
f_(j,i-1,0)//删哪行
{
a[j][n]-=a[i][n]*a[j][i];
a[j][i]=0;
}
}
_f(i,0,n-1)
if(fabs(a[i][n])<eps)
chu("x%d=0\n",i+1);
else
chu("x%d=%.2lf\n",i+1,a[i][n]);
}
int main()
{
n=re();
_f(i,0,n-1)
{
_f(j,0,n)
{
double lin;
scanf("%lf",&lin);
a[i][j]=lin;
}
}
jfc();
return 0;
}