#include <iostream>
using namespace std;

int f[100][100];
int e[100][100];

int main(){
	int n,m;
	while(cin >> n >> m && n){
		for(int i = 0 ; i < n ; i++)
			for(int j = 0 ; j < n ; j++)
				cin >> f[i][j];
		for(int i = 0 ; i < m ; i++)
			for(int j = 0 ; j < m ; j++)
				cin >> e[i][j];
		
		pair<int,int> ans(1e7,1e7);
		
		for(int r = 0 ; r < 4 ; r++){
			for(int i = 0 ; i < n - m + 1 ; i++){
				for(int j = 0 ; j < n - m + 1 ; j++){
					int flag = 1;
					int X=-1,Y;
					for(int k = 0 ; k < m ; k++){
						for(int l = 0 ; l < m ; l++){
							if(f[i+k][j+l] != e[k][l] && e[k][l] != -1){
								flag = false;
							}
							if(e[k][l] != -1 && X == -1){
								Y = i+k;
								X = j+l;
								//cout << X << " " << Y << endl;
							}
						}
					}
					if( flag ) ans = min( ans , make_pair(Y,X) );
				}
			}
			for(int i = 0 ; i < m ; i++)
				for(int j = i+1 ; j < m ; j++)
					swap(e[i][j],e[j][i]);
			for(int i = 0 ; i < m ; i++)
				for(int j = 0 ; j < m/2 ; j++)
					swap(e[i][j],e[i][m-j-1]);
		}
		if( ans.first > 1e6 ) cout << "NA" << endl;
		else cout << ans.second+1 << " " << ans.first+1 << endl;
	}
}