#include<iostream>
using namespace std ;

int N , M , tmp ;
int table[110][110] ;
int photo[4][20][20];

void func(){
	int Ans_x = 1000 , Ans_y = 1000 ;
	for( int y=0 ; y<N-M ; y++ ){
		for( int x=0 ; x<N-M ; x++ ){
			for( int k=0 ; k<4 ; k++ ){
				bool b = true ;
				for( int i=0 ; b && i<M ; i++ ){
					for( int j=0 ; b && j<M ; j++ ){
						if( photo[k][i][j] < 0 ) continue ;
						if( table[y+i][x+j] != photo[k][i][j] ) b = false ;
					}
				}
				if( b ){
					for( int i=0 ; b && i<M ; i++ ){
						for( int j=0 ; b && j<M ; j++ ){
							if( photo[k][i][j] >= 0 ){
								if( Ans_y > i+y || ( ( Ans_y == i+y ) && ( Ans_x > j+x ) ) ){
									Ans_x = j+x ;
									Ans_y = i+y ;
								}
								b = false ;
							}
						}
					}
				}
			}
		}
	}
	if( Ans_y == 1000 ) cout << "NA" << endl ;
	else cout << Ans_x+1 << " " << Ans_y+1 << endl ;
}

int main(){
	
	
	
	while( cin >> N >> M , N ){
		for( int i=0 ; i<N ; i++ ){
			for( int j=0 ; j<N ; j++ ){
				cin >> table[i][j] ;
			}
		}
		for( int i=0 ; i<M ; i++ ){
			for( int j=0 ; j<M ; j++ ){
				cin >> tmp ;
				photo[0][i    ][j    ] = tmp ;
				photo[1][j    ][M-i-1] = tmp ;
				photo[2][M-i-1][M-j-1] = tmp ;
				photo[3][M-j-1][i    ] = tmp ;
			}
		}
		
		func() ;
		/*
		for( int k=0 ; k<4 ; k++ ){
			for( int i=0 ; i<M ; i++ ){
				for( int j=0 ; j<M ; j++ ){
					cout << ( (j)?" ":"" ) << photo[k][i][j] ;
				}cout << endl ;
			}cout << endl ;
		}
		*/
	}
	
return 0 ;
}