# include <bits/stdc++.h>
using namespace std;
# define Rep(i, s, t) for (int i = (s), _ = (t); i <= _; i ++)
# define db double
int n;
db f[100][100], inv[100][100];
int main() {
	freopen("tab.in", "r", stdin);
	scanf("%d", & n);
	Rep (i, 1, n)
		Rep (j, 1, n)
			scanf("%lf", & f[i][j]);
	Rep (i, 1, n)
		inv[i][i] = 1;
	Rep (i, 1, n) {
		if (f[i][i] == 0) {
			Rep (j, i + 1, n)
				if (f[j][i] != 0) {
					swap(f[i], f[j]), 
					swap(inv[i], inv[j]);
					break;
				}
			if (f[i][i] == 0)
				return puts("NO INVERSE MATRIX !!!"), 0;
		}
		db I = f[i][i];
		Rep (j, 1, n)
			f[i][j] /= I, 
			inv[i][j] /= I;
		Rep (j, 1, n)
			if (i != j && f[j][i] != 0) {
				db m = f[j][i];
				Rep (k, 1, n)
					f[j][k] -= m * f[i][k], 
					inv[j][k] -= m * inv[i][k];
			}
	}
	Rep (i, 1, n) {
		Rep (j, 1, n)
			printf("%0.2lf ", inv[i][j]);
		puts("");
	}
	return 0;
}
