#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>

using namespace std;

int n,m;
int rx,ry;
int px,py;
int pic[101][101];
int pic2[101][101];
int p[101][101];

bool check(int x,int y){
	for(int i=0;i<m;i++){
		for(int j=0;j<m;j++){
			if(p[j][i]!=-1 && p[j][i]!=pic[x+j][y+i])return false;
		}
	}
	return true;
}

void pc(){
	for(int j=0;j<m;j++){
		if(p[j][0]!=-1){
			px=j;
			return;
		}
	}
}

void dfs(){
	for(int i=0;i<=n-m;i++){
		for(int j=0;j<=n-m;j++){
			if(check(j,i) && (i<ry || i==ry && j+px<rx)){
				rx=j+px;
				ry=i;
				break;
			}
		}
	}
}

void turn(){
	for(int i=0;i<m;i++){
		for(int j=0;j<m;j++)pic2[m-1-i][j]=p[j][i];
	}
	for(int i=0;i<m;i++){
		for(int j=0;j<m;j++){
			p[j][i]=pic2[j][i];
			//printf("%d ",pic[j][i]);
		}
		//printf("\n");
	}
}

int main(void){
	while(1){
		scanf("%d%d",&n,&m);
		memset(pic,0,sizeof(pic));
		memset(pic2,0,sizeof(pic2));
		memset(p,0,sizeof(p));
		if(n==0 && m==0)break;
		for(int i=0;i<n;i++){
			for(int j=0;j<n;j++)scanf("%d",&pic[j][i]);
		}
		for(int i=0;i<m;i++){
			for(int j=0;j<m;j++)scanf("%d",&p[j][i]);
		}
		rx=n,ry=n;
		for(int i=0;i<=4;i++){
			pc();
			dfs();
			turn();
		}
		if(rx==n && ry==n)printf("NA\n");
		else printf("%d %d\n",rx+1,ry+1);
	}
    return 0;
}