#include <iostream>
#include <algorithm>
#include <iomanip>
using namespace std;
const int M = 10;
void fun(double a[][M])
{ for (int i = 0; i < M / 2; ++i)
{ for (int j = 0; j < M; j++)
{ swap(a[i][j], a[M - i - 1][j]);
}
}
}
void gauss(double a[][M], int r, int c) {
for (int i; i < min(r, c) - 1; i++) {
for (int j = i + 1; j < r; j++) {
if (a[i][i] == 0) fun(a);
for (int l = 0; l < c; l++) {
a[j][l] -= a[i][l] / a[i][i]* a[j][i] ;
}
}
}
}
int main()
{
double a[M][M];
int r, c;
cin >> r;//строки
cin >> c;//столбцы
for (int i = 0; i < r; i++)
{
for (int j = 0; j < c; j++)
{
cin >> a[i][j];
}
}
gauss(a, r, c);
cout << "Матрица Гаусcа" << endl;
for (int i = 0; i < r; i++)
{
for (int j = 0; j < c; j++)
cout << setw(10) << a[i][j];
cout << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8aW9tYW5pcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgaW50IE0gPSAxMDsKdm9pZCBmdW4oZG91YmxlIGFbXVtNXSkKewlmb3IgKGludCBpID0gMDsgaSA8IE0gLyAyOyArK2kpCgl7CQlmb3IgKGludCBqID0gMDsgaiA8IE07IGorKykKCQl7CQkJc3dhcChhW2ldW2pdLCBhW00gLSBpIC0gMV1bal0pOwoJCX0KCX0KfQogCnZvaWQgZ2F1c3MoZG91YmxlIGFbXVtNXSwgaW50IHIsIGludCBjKSB7Cglmb3IgKGludCBpOyBpIDwgbWluKHIsIGMpIC0gMTsgaSsrKSB7CgkJZm9yIChpbnQgaiA9IGkgKyAxOyBqIDwgcjsgaisrKSB7CgkJCWlmIChhW2ldW2ldID09IDApIGZ1bihhKTsKCQkJZm9yIChpbnQgbCA9IDA7IGwgPCBjOyBsKyspIHsKCQkJCWFbal1bbF0gLT0gYVtpXVtsXSAvIGFbaV1baV0qIGFbal1baV0gOwoJCQl9CgkJfQoJfQp9CmludCBtYWluKCkKewoJZG91YmxlIGFbTV1bTV07CglpbnQgciwgYzsKCWNpbiA+PiByOy8v0YHRgtGA0L7QutC4CgljaW4gPj4gYzsvL9GB0YLQvtC70LHRhtGLIAogCglmb3IgKGludCBpID0gMDsgaSA8IHI7IGkrKykKCXsKCQlmb3IgKGludCBqID0gMDsgaiA8IGM7IGorKykKCQl7CgkJCWNpbiA+PiBhW2ldW2pdOwoJCX0KCX0KCWdhdXNzKGEsIHIsIGMpOwogCgljb3V0IDw8ICLQnNCw0YLRgNC40YbQsCDQk9Cw0YPRgWPQsCIgPDwgZW5kbDsKCWZvciAoaW50IGkgPSAwOyBpIDwgcjsgaSsrKQoJewoJCWZvciAoaW50IGogPSAwOyBqIDwgYzsgaisrKQoJCQljb3V0IDw8IHNldHcoMTApIDw8IGFbaV1bal07CgkJY291dCA8PCBlbmRsOwoJfQoJcmV0dXJuIDA7Cn0KIAog