#include<cstdio>
#include<cmath>
#define eps 1.e-5
double a[310][310],sl[310],b[310][310];
int po[310];
int main()
{
freopen("gauss.in","r",stdin);
freopen("gauss.out","w",stdout);
int n,m,i,j,x;
bool te=1;
double amp,tm;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
{
for(j=1;j<=m+1;j++)
{
scanf("%lf",&a[i][j]);
b[i][j]=a[i][j];
}
po[i]=i;
}
for(i=m;i>=1;i--)
{
for(j=i-1;j>=0;j--)
if(fabs(a[po[j]][i])>=eps)
{
x=po[i];
po[i]=po[j];
po[j]=x;
break;
}
if(j<0)
for(j=m+1;j<=n;j++)
if(fabs(a[po[j]][i])>=eps)
{
x=po[i];
po[i]=po[j];
po[j]=x;
break;
}
for(j=i-1;j>=0;j--)
if(fabs(a[po[j]][i])>=eps)
{
amp=a[po[j]][i]/a[po[i]][i];
for(x=1;x<=m+1;x++)
a[po[j]][x]=a[po[j]][x]-a[po[i]][x]*amp;
}
for(j=m+1;j<=n;j++)
if(fabs(a[po[j]][i])>=eps)
{
amp=a[po[j]][i]/a[po[i]][i];
for(x=1;x<=m+1;x++)
a[po[j]][x]=a[po[j]][x]-a[po[i]][x]*amp;
}
}
for(i=2;i<=m;i++)
for(j=i-1;j>=1;j--)
{
amp=a[po[i]][j]/a[po[j]][j];
a[po[i]][j]=0;
a[po[i]][m+1]=a[po[i]][m+1]-a[po[j]][m+1]*amp;
}
for(i=1;i<=m;i++)
{
sl[i]=a[po[i]][m+1]/a[po[i]][i];
}
for(i=1;i<=n;i++)
{
tm=0;
for(j=1;j<=m;j++)
{
tm=tm+sl[j]*b[i][j];
}
if(fabs(tm-b[i][m+1])>eps)
te=0;
}
if(te==0)
printf("Imposibil\n");
else
{
for(i=1;i<=m;i++)
printf("%lf ",sl[i]);
}
return 0;
}