#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main(){
	int m,n;
	while(cin >> n >> m){
		if(!(m|n)) break;
		bool matched[n][n];
		int pic[n][n];
		int pat[m][m];
		int orig[m][m];
		
		for(int i=0;i<n;i++){
			for(int j=0;j<n;j++){
				cin >> pic[i][j];
				matched[i][j] = false;
			}
		}
		
		for(int i=0;i<m;i++){
			for(int j=0;j<m;j++){
				cin >> orig[i][j];
			}
		}
		
		for(int i=0;i<4;i++){//4ツ陛サツ古シ
			//rotateツつオツつスpatツづーツ催ャツづゥ
			if(i == 0){//0
				for(int p=0;p<m;p++){
					for(int q=0;q<m;q++){
						pat[p][q] = orig[p][q];
					}
				}
			}else if(i == 1){ //90
				for(int p=0;p<m;p++){
					for(int q=0;q<m;q++){
						pat[p][q] = orig[m-1-q][p];
					}
				}
			}else if(i == 2){
				for(int p=0;p<m;p++){
					for(int q=0;q<m;q++){
						pat[p][q] = orig[m-1-p][m-1-q];
					}
				}
			}else{
				for(int p=0;p<m;p++){
					for(int q=0;q<m;q++){
						pat[p][q] = orig[q][m-1-p];
					}
				}
			}
			for(int p=0;p<n-m+1;p++){
				for(int q=0;q<n-m-1;q++){
					bool ok = true;
					for(int r=0;r<m;r++){
						for(int s=0;s<m;s++){
							if(pat[r][s] != -1 && pat[r][s] != pic[p+r][q+s]) ok = false;
						}
					}
					if(ok){
						for(int r=0;r<m;r++){
							for(int s=0;s<m;s++){
								if(pat[r][s] != -1){
									matched[p+r][q+s] = true;
								}
							}
						}
					}
				}
			}
		}
		int x=-1,y=-1;
		for(int p=0;p<n;p++){
			for(int q=0;q<n;q++){
				if(matched[p][q]){
					x = p;
					y = q;
					break;
				}
			}
			if(x != -1 && y != -1) break;
		}
		if(x == -1 && y == -1){
			cout << "NA" << endl;
		}else{
			cout << y+1 << " " << x+1 << endl;
		}
	}
}