#include<cstdio>

using namespace std;

int main()
{
	int scene[100][100],chip[4][50][50];
	for(int n,m;scanf("%d%d",&n,&m),n;){
		for(int i=0;i<n;i++)
			for(int j=0;j<n;j++)
				scanf("%d",scene[i]+j);
		for(int i=0;i<m;i++)
			for(int j=0;j<m;j++)
				scanf("%d",chip[0][i]+j);

		for(int i=0;i<m;i++)
			for(int j=0;j<m;j++)
				chip[1][i][j]=chip[0][m-j-1][  i  ],
				chip[2][i][j]=chip[0][m-i-1][m-j-1],
				chip[3][i][j]=chip[0][  j  ][m-i-1];

		int xtip[4],ytip[4];
		bool b=false;
		for(int k=0;k<4;k++){
			for(int i=0;i<m;i++){
				for(int j=0;j<m;j++){
					if(chip[k][i][j]!=-1){
						xtip[k]=j;
						ytip[k]=i;
						b=true;
						break;
					}
				}
				if(b)	break;
			}
		}

		bool found;
		for(int i=0;i<n-m+1;i++){
			for(int j=0;j<n-m+1;j++){
				int xmin=200,ymin=200;
				for(int k=0;k<4;k++){
					found=true;
					for(int y=0;y<m;y++){
						for(int x=0;x<m;x++){
							if(chip[k][y][x]==-1)	continue;
							if(chip[k][y][x]!=scene[i+y][j+x]){
								found=false;
								break;
							}
						}
						if(!found)	break;
					}
					if(found){
						if(ymin>ytip[k] || (ymin==ytip[k]&&xmin>xtip[k])){
							xmin=xtip[k];
							ymin=ytip[k];
						}
					}
				}
				if(found){
					printf("%d %d\n",j+xmin+1,i+ymin+1);
					break;
				}
			}
			if(found)	break;
		}
		if(!found)	puts("NA");
	}

	return 0;
}