#include<stdio.h>
#include<string.h>
#include<math.h>
double mx[105][105];
int n,m,f;
void div(int x)
{
double y=mx[x][x];
for(int i=1;i<=n+1;i++)
mx[x][i]/=y;
}
void swapp(int x,int y)
{
int tmp;
for(int i=1;i<=n+1;i++)
{
tmp=mx[y][i];
mx[y][i]=mx[x][i];
mx[x][i]=tmp;
}
}
void add(int x,int y,double xi)
{
for(int i=1;i<=n+1;i++)
mx[y][i]+=(mx[x][i]*xi);
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
for(int j=1;j<=n+1;j++)
scanf("%lf",&mx[i][j]);
for(int i=1;i<=n-1;i++)
{
if(fabs(mx[i][i])<0.0001)
{
for(int j=i+1;j<=n;j++)
{
if(fabs(mx[j][i])>0.0001)
{
swapp(i,j);
break;
}
}
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<i;j++)
{
if(fabs(mx[i][j])>0.0001)
add(j,i,-mx[i][j]/mx[j][j]);
}
if(fabs(mx[i][i])>0.0001)
div(i);
}
for(int i=n-1;i>=1;i--)
{
for(int j=i+1;j<=n;j++)
{
if(fabs(mx[i][j])>0.0001)
add(j,i,-mx[i][j]/mx[j][j]);
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<i;j++)
{
if(fabs(mx[i][j])>0.0001||fabs(mx[i][i])<0.0001)
f=1;
}
}
if(f)
printf("No Solution");
if(!f)
for(int i=1;i<=n;i++)
printf("%.2lf\n",mx[i][n+1]);
}