#include<iostream>#include<algorithm>#include<cmath>usingnamespace std;constint N =110;constdouble eps =1e-6;int n;double a[N][N];intgauss(){int c, r;for(c =0, r =0; c < n; c ++){int t = r;for(int i = r; i < n; i ++)if(fabs(a[i][c])>fabs(a[t][c]))
t = i;if(fabs(a[t][c])< eps)continue;for(int i = c; i < n +1; i ++)swap(a[t][i], a[r][i]);for(int i = n; i >= c; i --) a[r][i]/= a[r][c];for(int i = r +1; i < n; i ++)if(fabs(a[i][c])> eps)for(int j = n; j >= c; j --)
a[i][j]-= a[r][j]* a[i][c];
r ++;}if(r < n){for(int i = r; i < n; i ++)if(fabs(a[i][n])> eps)return2;return1;}for(int i = n -1; i >=0; i --)for(int j = i +1; j < n; j ++)
a[i][n]-= a[j][n]* a[i][j];return0;}intmain(){
cin >> n;for(int i =0; i < n; i ++)for(int j =0; j < n +1; j ++)
cin >> a[i][j];int t =gauss();if(t ==0){for(int i =0; i < n; i ++)printf("%.2lf\n", a[i][n]);}elseif(t ==1)puts("Infinite group solutions");elseputs("No solution");return0;}