#include<stdio.h>
#define N 500
#define M 500
typedef struct{
int A[N][M];
int n,m;
}Graph;
void init_graph(Graph *G, int n, int m){
G->n=n;
G->m=m;
int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
G->A[i][j];
}
void add_graph(Graph *G, int e, int x, int y){
G->A[x][e]=1;
G->A[y][e]=1;
}
int adjacent(Graph *G, int x, int y){
int e;
for(e=1;e<=G->m;e++)
if(G->A[x][e]==1 && G->A[y][e]==1)
return 1;
return 0;
}
int degree(Graph *G, int x){
int e,deg=0;
for(e=1;e<=G->m;e++)
if(G->A[x][e]==1)
deg++;
return deg;
}
int main(){
Graph G;
int i,j,n,m,e,u,v;
freopen("dt.txt","r",stdin);
scanf("%d%d",&n,&m);
init_graph(&G,n,m);
for(e=1;e<=G.m;e++){
scanf("%d%d",&u,&v);
add_graph(&G,e,u,v);
}
for(i=1;i<=n;i++){
for(j=1;j<=m;j++)
printf("%d ",G.A[i][j]);
printf("\n");
}
return 0;
}