#include<iostream>
using namespace std;
int t[100][100],u[15][15],tmp[15][15],n,m;
int ansx,ansy;
void ro(){
  for(int i=0;i<m;i++){
    for(int j=0;j<m;j++){
      tmp[m-1-j][i]=u[i][j];
    }
  }
  for(int i=0;i<m;i++){
    for(int j=0;j<m;j++){
      u[i][j]=tmp[i][j];
    }
  }
}
int check(int y,int x){
  
  for(int i=0;i<m;i++){
    for(int j=0;j<m;j++){
      if(u[i][j]==-1)continue;
      if(ansx==-1){
	ansx=x+j;
	ansy=y+i;
      }
      if(t[y+i][x+j]!=u[i][j]){
	return 0;
      }
    }
  }
  return 1;
}
void judge(){
  
  for(int j=0;j<n-m+1;j++){
    for(int i=0;i<n-m+1;i++){
      for(int k=0;k<4;k++){
	ansx=-1;
	if(check(i,j)){
	  cout<<ansx+1<<' '<<ansy+1<<endl;
	  return;
	}
	ro();
      }
    }
  }
  cout<<"NA"<<endl;
}
int main(){
  while(cin>>n>>m&&n&&m){
    for(int i=0;i<n;i++)for(int j=0;j<n;j++)cin>>t[i][j];
    for(int i=0;i<m;i++)for(int j=0;j<m;j++)cin>>u[i][j];
    judge();			      
  }
  return 0;
}