#include<cstdio>
#define e 0.0000001
int n,m,i,j,l,c;
double x[310][310],v[310];
FILE *f,*g;
double modul(double a){
if(a<0)
return -a;
return a;
}
double chg(double &a,double &b){
double aux=a;
a=b;
b=aux;
}
int main(){
f=fopen("gauss.in","r");
g=fopen("gauss.out","w");
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=n;i++){
for(j=1;j<=m+1;j++){
fscanf(f,"%lf",&x[i][j]);
}
}
l=c=1;
while(l<=n&&c<=m){
i=l;
while( modul(x[i][c])<e && i<=n ){
i++;
}
if(i==n+1){
c++;
continue;
}
if(i!=l){
for(j=c;j<=m+1;j++){
chg(x[l][j],x[i][j]);
}
}
for(i=c+1;i<=m+1;i++){
x[l][i]/=x[l][c];
}
x[l][c]=1;
for(i=l+1;i<=n;i++){
for(j=c+1;j<=m+1;j++){
x[i][j]/=x[l][j]*x[i][c];
}
x[i][c]=0;
}
l++;
c++;
}
for(i=n;i>=1;i--){
j=1;
while( modul(x[i][j])<e && j<=m )
j++;
if(j==m+1){
fprintf(g,"Imposibil");
return 0;
}
v[j]=x[i][m+1];
for(c=j+1;c<=m;c++){
v[j]-=x[i][c]*v[c];
}
}
for(i=1;i<=m;i++){
fprintf(g,"%lf ",v[i]);
}
fclose(f);
fclose(g);
return 0;
}