#include <iostream>
int n;
int mat[100][100];
int map[100][100];
using namespace std;
void DFS(int cur, int num)
{
for (int j = 0; j < n; j++)
{
if (mat[num][j] == 1)
{
map[cur][j] = 1;
if (cur != j)
DFS(cur, j);
else
continue;
}
else
continue;
}
}
int main()
{
cin >> n;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cin >> mat[i][j];
}
}
for (int i = 0; i < n; i++)
DFS(i,i);
cout << endl;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cout << map[i][j] << " ";
}
cout << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKaW50IG47CmludCBtYXRbMTAwXVsxMDBdOwppbnQgbWFwWzEwMF1bMTAwXTsKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIERGUyhpbnQgY3VyLCBpbnQgbnVtKQp7CiBmb3IgKGludCBqID0gMDsgaiA8IG47IGorKykKIHsKICBpZiAobWF0W251bV1bal0gPT0gMSkKICB7CiAgIG1hcFtjdXJdW2pdID0gMTsKICAgaWYgKGN1ciAhPSBqKQogICAgREZTKGN1ciwgaik7CiAgIGVsc2UKICAgIGNvbnRpbnVlOwogIH0KICBlbHNlCiAgIGNvbnRpbnVlOwogfQp9CgppbnQgbWFpbigpCnsKIGNpbiA+PiBuOwogZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiB7CiAgZm9yIChpbnQgaiA9IDA7IGogPCBuOyBqKyspCiAgewogICBjaW4gPj4gbWF0W2ldW2pdOwogIH0KIH0KCiBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKICBERlMoaSxpKTsKCiBjb3V0IDw8IGVuZGw7CgogZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiB7CiAgZm9yIChpbnQgaiA9IDA7IGogPCBuOyBqKyspCiAgewogICBjb3V0IDw8IG1hcFtpXVtqXSA8PCAiICI7CiAgfQogIGNvdXQgPDwgZW5kbDsKIH0KCiByZXR1cm4gMDsKfQo=