#include <bits/stdc++.h>
#define LL long long
#define rep(i,j,k) for(int i=j;i<=k;i++)
#define dow(i,j,k) for(int i=j;i>=k;i--)
using namespace std;
const int N=101,eps=0.000001;
int n;
double a[N][N+1],ans[N];
bool f;
void scan()
{
rep(i,1,n) rep(j,1,n+1) cin>>a[i][j];
}
void get_ans1()
{
rep(u,1,n)
{
int r=u;
rep(i,u+1,n) if(fabs(a[u][r])<fabs(a[u][i])) r=i;
if(a[u][r]<eps) {puts("No Solution");f=1;return;}
if(u!=r) swap(a[u],a[r]);
double cnt=a[u][u];
rep(i,u,n+1) a[u][i]/=cnt;
rep(i,u+1,n)
{
cnt=a[i][u];
rep(j,u,n+1) a[i][j]-=cnt*a[u][j];
}
}
}
void get_ans2()
{
ans[n]=a[n][n+1];
for(int i=n-1;i>=1;i--){
ans[i]=a[i][n+1];
for(int j=i+1;j<=n;j++)
ans[i]-=(a[i][j]*ans[j]);
}
}
void print()
{
cout<<fixed<<setprecision(2);
rep(i,1,n) cout<<ans[i]<<endl;
}
int main()
{
cin>>n;
scan();
get_ans1();
if(f) return 0;
get_ans2();
print();
return 0;
}