#include<stdio.h>
#define N 500
typedef struct{
int n;
int A[N][N];
}Graph;
// Khoi tao do thi vo huong khong khuyen
void init_graph(Graph *G, int n){
G->n=n;
int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
G->A[i][j]=0;
}
void add_graph(Graph *G, int x, int y){
G->A[x][y]=1;
// G->A[y][x]=1;
}
int adjacent(Graph *G, int x, int y){
return G->A[x][y]!=0;
}
int degree(Graph *G, int x){
int deg = 0,i;
for(i=1;i<=G->n;i++)
if(G->A[x][i]!=0)
deg++;
return deg;
}
int main(){
Graph G;
int n,i,j,u,v,m;
int a[100][100];
freopen("dt.txt","r",stdin);
// scanf("%d",&n);
// init_graph(&G,n);
// for(i=1;i<=n;i++){
// for(j=1;j<=n;j++)
// scanf("%d",&a[i][j]);
// }
// for(i=1;i<=n;i++){
// for(j=1;j<=n;j++)
// if(a[i][j]==1){
// add_graph(&G,i,j);
// }
// }
scanf("%d%d",&n,&m);
init_graph(&G,n);
for(i=1;i<=m;i++){
scanf("%d%d",&u,&v);
add_graph(&G,u,v);
}
printf("IN MA TRAN\n");
for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
printf("%d ",G.A[i][j]);
printf("\n");
}
return 0;
}