太菜了QAQ
//2023/7/28
//别着急,先通读一遍题目
//别忘了开long long
//写完先看一遍怎么降复杂度
//要么开全局变量要么给定初值
//想想看,有什么情况需要特判
//看看数组开的够不够大
//std::ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e2+10;
int num,ans,n;
double a[MAXN][MAXN];
double eps=1e-7;
bool guass()
{
for (int i=1;i<=n;i++){
int r=i;
for (int j=i;j<=n;j++){
if(fabs(a[j][i])>eps){
r=j;
break;
}
}
if(r!=i) swap(a[r],a[i]);
if(fabs(a[i][i])<eps) return 0;
for (int j=n+1;j>=i;j--){
a[i][j]/=a[i][i];
}
for (int k=i+1;k<=n;k++){
for (int j=n+1;j>=i;j--){
a[k][j]-=a[k][i]*a[i][j];
}
}
}
for (int i=n-1;i>=1;i--){
for (int j=i+1;j<=n;j++){
a[i][n+1]-=a[i][j]*a[j][n+1];
}
}
return 1;
}
int main()
{
int n;
cin>>n;
for (int i=1;i<=n;i++){
for (int j=1;j<=n+1;j++){
cin>>a[i][j];
}
}
if(!guass()){
cout<<"No Solution"<<endl;
return 0;
}
for (int i=1;i<=n;i++){
//printf("%.2lf\n",a[i][n+1]/a[i][i]);
printf("%.2lf\n",a[i][n+1]);
}
}