#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=110;
const double eps=1e-6;
int n;
double A[N][N];
int gauss(){
int c,r;
for(int c=1,r=1;c<=n;++c){
int t=r;
for(int i=r;i<=n;++i){
if(fabs(A[i][c]>fabs(A[t][c]))) t=i;
}
if(fabs(A[t][c])<eps) continue;
for(int i=c;i<=n+1;++i) swap(A[t][i],A[r][i]);
for(int i=n+1;i>=c;--i) A[r][i]/=A[r][c];
for(int i=r+1;i<=n;++i){
if(fabs(A[i][c])>eps){
for(int j=n+1;j>=c;--j){
A[i][j]-=A[r][j]*A[i][c];
}
}
}
++r;
}
if(r<=n)return 0;
for(int i=n;i>1;--i){
for(int j=1;j<i;++j){
A[j][n+1]-=A[j][i]*A[i][n+1];
}
}
return 1;
}
int main(){
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
cin>>n;
for(int i=1;i<=n;++i){
for(int j=1;j<=n+1;++j){
cin>>A[i][j];
}
}
int t=gauss();
if(t==0)cout<<"No Solution"<<endl;
else for(int i=1;i<=n;++i) printf("%.2lf\n",A[i][n+1]);
cout<<endl;
return 0;
}