//24
#include<iostream>
#include<cstring>

using namespace std;

typedef int G[100][100];

void rot(G a,int n){
  G t;
  for(int i=0;i<n;i++){
    for(int j=0;j<n;j++){
      t[j][n-i-1]=a[i][j];
    }
  }
  memcpy(a,t,sizeof(t));
}

int main(){
  for(int n,m;cin>>n>>m,n|m;){
    G s;
    for(int y=0;y<n;y++){
      for(int x=0;x<n;x++){
	cin>>s[y][x];
      }
    }
    G p;
    for(int y=0;y<m;y++){
      for(int x=0;x<m;x++){
	cin>>p[y][x];
      }
    }
    int py=1000,px=1000;
    for(int r=0;r<4;r++){
      for(int y=0;y<n-m+1;y++){
	for(int x=0;x<n-m+1;x++){
	  bool f=true;
	  int t,l;
	  for(int i=m-1;i>=0;i--){
	    for(int j=m-1;j>=0;j--){
	      f&=p[i][j]==-1||s[y+i][x+j]==p[i][j];
	      if(p[i][j]!=-1){
		t=y+i;
		l=x+j;
	      }
	    }
	  }
	  if(f&&(t<py||(t==py&&l<px))){
	    py=t;
	    px=l;
	  }
	}
      }
      rot(p,m);
    }
    if(py==1000){
      cout<<"NA"<<endl;
    }else{
      cout<<px+1<<' '<<py+1<<endl;
    }
  }
  return 0;
}