#include <bits/stdc++.h>
using namespace std;
const int maxn=210;
double eps=1e-15,f[maxn][maxn];
double c[maxn][maxn],ans[maxn];
int n;
double fabs(double a) {
return a<(-eps) ? -a : a;
}
inline void Gauss() {
for (int i=1;i<=n;i++) {
int l=i;
for (int j=i+1;j<=n;j++)
if (fabs(f[l][i])<fabs(f[j][i])) l=j;
if (l!=i)
for (int j=1;j<=n+1;j++)
swap(f[i][j],f[l][j]);
double temp=f[i][i];
for (int j=i;j<=n+1;j++)
f[i][j]/=temp;
for (int j=i+1;j<=n;j++)
for (int k=i;k<=n+1;k++)
f[j][k]-=f[j][i]*f[i][k];
}
for (int i=n;i>=1;i--) {
double t=f[i][n+1];
for (int j=n;j>i;j--)
t-=f[i][j]*ans[j];
ans[i]=t/f[i][i];
}
}
int main(){
scanf("%d",&n);
for (int i=1;i<=n+1;i++)
for (int j=1;j<=n;j++)
scanf("%lf",&c[i][j]);
for (int i=1;i<=n;i++) {
double d=0;
for (int j=1;j<=n;j++) {
f[i][j]=2*(c[i+1][j]-c[i][j]);
d+=c[i+1][j]*c[i+1][j]-c[i][j]*c[i][j];
}
f[i][n+1]=d;
}
Gauss();
for (int i=1;i<=n;i++)
if (i==n) printf("%.3lf\n",ans[i]);
else printf("%.3lf ",ans[i]);
return 0;
}