/*
TASK:marriage
LANG:C
*/
#include<stdio.h>
#define maxN 105

int mlad[maxN][maxN],dev[maxN][maxN];
int n;
int C[maxN][maxN];

int main()
{
int i,j,k;
scanf("%d",&n);
for (i=1;i<=n;i++) for (j=1;j<=n;j++) scanf("%d",&mlad[i][j]);
for (i=1;i<=n;i++) for (j=1;j<=n;j++) scanf("%d",&dev[i][j]);
for (i=1;i<=n;i++)
    for (j=1;j<=n;j++){
        int sum=0;
        for (k=1;k<=n;k++) sum+=(mlad[i][k]*dev[k][j]);
        C[i][j] = sum;}
/*for (i=1;i<=n;i++)
    {
    for (j=1;j<=n;j++) printf("%d ",C[i][j]);
    printf("\n");
    }*/
for (i=1;i<=n;i++)
    {
    int max=0,pos=0;
    for (j=1;j<=n;j++) if (C[i][j] > max) {max=C[i][j];pos=j;}
    for (k=1;k<=n;k++) C[k][pos] = 0;
    printf("%d %d\n",i,pos);
    }
return 0;
}
