#include <stdio.h>
int main(){
    int n;
    scanf("%d",&n);
    if (n<0){
        printf("Invalid input\n");
        return 0;
    }
    int graph[10][10]={0};
    int u,v;
    while (1) {
        scanf("%d",&u);
        if(u==-1)
        break;
        scanf("%d",&v);
        graph[u-1][v-1] = 1;
    }
    int transitive[10][10];
    for (int k=0;k <n;k++)
    for (int i=0;i<n;i++)
    for (int j=0;j<n;j++)
    transitiveclosure[i][j]=transitiveclosure[i][j] ||
    
    (transitiveclosure[i][k] &&
    transitiveclosure[k][j]);
    for (int i=0;i<n;i++){
        for (int j=0;j<n;j++)
        printf("%d",transitiveclosure[i][j]);
        printf("\n");
    }
    return 0;
}