/*
Name:Sheikh Md. Showrov Uddin Zishan
Id: 2302410003
Report: Gauss- Jordan
*/
#include<bits/stdc++.h>
using namespace std;
int main (){
int n; cin >> n;
double a[101][101+1], x[100], ratio;
for (int i=1; i<=n; i++){
for (int j=1; j<=n+1; j++){
cin >> a[i][j];
}
}
for (int i=1; i<n; i++){
if (a[i][i]==0){
cout << "Error!" << endl;
break;
}
for (int j=i+1; j<=n; j++){
ratio = a[j][i]/a[i][i];
for (int k=1; k<=n+1; k++){
a[j][k] = a[j][k] - a[i][k]*ratio;
}
}
}
for (int i=1; i<=n; i++){
for (int j=1; j<=n+1; j++){
cout << a[i][j] << " ";
}
cout << endl;
}
for (int i = n; i >= 2; i--) {
for (int j = i - 1; j >= 1; j--) {
double ratio = a[j][i] / a[i][i];
for (int k = 1; k <= n + 1; k++) {
a[j][k] = a[j][k] - ratio * a[i][k];
}
}
}
for (int i=1; i<=n; i++){
for (int j=1; j<=n+1; j++){
cout << a[i][j] << " ";
}
cout << endl;
}
for (int i=1; i<=n; i++){
x[i]= a[i][n+1]/a[i][i];
}
for (int i=1; i<=n; i++){
cout << x[i] <<endl;
}
}
LyoKTmFtZTpTaGVpa2ggTWQuIFNob3dyb3YgVWRkaW4gWmlzaGFuCklkOiAyMzAyNDEwMDAzClJlcG9ydDogR2F1c3MtIEpvcmRhbgoqLwoKI2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4gKCl7CiAgICBpbnQgbjsgY2luID4+IG47CiAgICBkb3VibGUgYVsxMDFdWzEwMSsxXSwgeFsxMDBdLCByYXRpbzsKICAgIGZvciAoaW50IGk9MTsgaTw9bjsgaSsrKXsKICAgICAgICBmb3IgKGludCBqPTE7IGo8PW4rMTsgaisrKXsKICAgICAgICAgICAgY2luID4+IGFbaV1bal07IAogICAgICAgIH0KICAgIH0KIAogICAgZm9yIChpbnQgaT0xOyBpPG47IGkrKyl7CiAgICAgICAgaWYgKGFbaV1baV09PTApewogICAgICAgICAgICBjb3V0IDw8ICJFcnJvciEiIDw8IGVuZGw7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBmb3IgKGludCBqPWkrMTsgajw9bjsgaisrKXsKICAgICAgICAgICAgcmF0aW8gPSBhW2pdW2ldL2FbaV1baV07CiAgICAgICAgICAgIGZvciAoaW50IGs9MTsgazw9bisxOyBrKyspewogICAgICAgICAgICAgICAgYVtqXVtrXSA9IGFbal1ba10gLSBhW2ldW2tdKnJhdGlvOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZvciAoaW50IGk9MTsgaTw9bjsgaSsrKXsKICAgICAgICBmb3IgKGludCBqPTE7IGo8PW4rMTsgaisrKXsKICAgICAgICAgICAgY291dCA8PCBhW2ldW2pdIDw8ICIgIjsKICAgICAgICB9CiAgICAgICAgY291dCA8PCBlbmRsOwogICAgfQogICAgCiAgICBmb3IgKGludCBpID0gbjsgaSA+PSAyOyBpLS0pIHsKICAgICAgICBmb3IgKGludCBqID0gaSAtIDE7IGogPj0gMTsgai0tKSB7CiAgICAgICAgICAgIGRvdWJsZSByYXRpbyA9IGFbal1baV0gLyBhW2ldW2ldOwogICAgICAgICAgICBmb3IgKGludCBrID0gMTsgayA8PSBuICsgMTsgaysrKSB7CiAgICAgICAgICAgICAgICBhW2pdW2tdID0gYVtqXVtrXSAtIHJhdGlvICogYVtpXVtrXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBmb3IgKGludCBpPTE7IGk8PW47IGkrKyl7CiAgICAgICAgZm9yIChpbnQgaj0xOyBqPD1uKzE7IGorKyl7CiAgICAgICAgICAgIGNvdXQgPDwgYVtpXVtqXSA8PCAiICI7CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgZW5kbDsKICAgIH0KCiAgICBmb3IgKGludCBpPTE7IGk8PW47IGkrKyl7CiAgICAgICAgeFtpXT0gYVtpXVtuKzFdL2FbaV1baV07CiAgICB9CiAgICBmb3IgKGludCBpPTE7IGk8PW47IGkrKyl7CiAgICAgICAgY291dCA8PCB4W2ldIDw8ZW5kbDsKfQoKCn0=