/*
A.
Cho một đồ thị vô hướng n đỉnh và m cạnh, yêu cầu biểu diễn đồ thị này bằng ma trận kề.
Thao tác:
- Đọc các cạnh từ input
- Sau đó với mỗi cạnh u-v thì ta gán E[u][v] = E[v][u] = true
- Sau đó thì in ra ma trận này.
*/
// ~~ icebear ~~
#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int n, m;
cin >> n >> m;
bool E[n+5][n+5] = {};
while(m--) {
int u, v;
cin >> u >> v;
E[u][v] = E[v][u] = true;
}
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n; j++) cout << E[i][j] << ' ';
cout << '\n';
}
return 0;
}
LyoKQS4KQ2hvIG3hu5l0IMSR4buTIHRo4buLIHbDtCBoxrDhu5tuZyBuIMSR4buJbmggdsOgIG0gY+G6oW5oLCB5w6p1IGPhuqd1IGJp4buDdSBkaeG7hW4gxJHhu5MgdGjhu4sgbsOgeSBi4bqxbmcgbWEgdHLhuq1uIGvhu4EuCgpUaGFvIHTDoWM6CgktIMSQ4buNYyBjw6FjIGPhuqFuaCB04burIGlucHV0CgktIFNhdSDEkcOzIHbhu5tpIG3hu5dpIGPhuqFuaCB1LXYgdGjDrCB0YSBnw6FuIEVbdV1bdl0gPSBFW3ZdW3VdID0gdHJ1ZQoJLSBTYXUgxJHDsyB0aMOsIGluIHJhIG1hIHRy4bqtbiBuw6B5LgoqLwoKLy8gfn4gaWNlYmVhciB+fgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7IGNvdXQudGllKDApOwogICAgaW50IG4sIG07CiAgICBjaW4gPj4gbiA+PiBtOwogICAgYm9vbCBFW24rNV1bbis1XSA9IHt9OwogICAgd2hpbGUobS0tKSB7CiAgICAgICAgaW50IHUsIHY7CiAgICAgICAgY2luID4+IHUgPj4gdjsKICAgICAgICBFW3VdW3ZdID0gRVt2XVt1XSA9IHRydWU7CiAgICB9CgogICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKICAgICAgICBmb3IoaW50IGogPSAxOyBqIDw9IG47IGorKykgY291dCA8PCBFW2ldW2pdIDw8ICcgJzsKICAgICAgICBjb3V0IDw8ICdcbic7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=