#include<bits/stdc++.h> using namespace std; double a[110][110]; int n; const double eps=1e-4; void print() { for(int i=1;i<=n;i++) { for(int j=1;j<=n+1;j++) cout<<a[i][j]<<" "; cout<<endl; } } int gauss() { int r,c; for(r=1,c=1;c<=n; c++) { int t=r; // print(); for(int i=r+1;i<=n;i++) if(a[i][c]>a[t][c]) t=i; // cout<<t<<" "<<a[t][c]<<endl; if(fabs(a[t][c])<eps) { continue; } for(int j=c;j<=n+1;j++) swap(a[t][j],a[r][j]); for(int j=n+1;j>=c;j--) a[r][j]/=a[r][c]; for(int i=r+1;i<=n;i++) { if(fabs(a[i][c])<eps) continue; for(int j=n+1;j>=c;j--) a[i][j]-=a[i][c]*a[r][j]; } r++; } if(r<=n) { for(int j=r;j<=n;j++) if(fabs(a[j][n+1])>eps) return 2; return 1; } for(int i=n;i>=1;i--) { for(int j=i+1;j<=n;j++) a[i][n+1]-=a[j][n+1]*a[i][j]; } return 0; } int main() { cin>>n; for(int i=1;i<=n;i++) for(int j=1;j<=n+1;j++) cin>>a[i][j]; int t=gauss(); if(t==1) cout<<"Infinite group solutions"<<endl; else if(t==2) cout<<"No solution"<<endl; else { for(int i=1;i<=n;i++) printf("%.2lf\n",a[i][n+1]); } return 0; }