#include <cstdio>
#include <cstring>
#include <queue>
#include <utility>
using namespace std;
typedef pair<int,int> _P;
typedef pair<_P,int> P;
char M[10][10];
int dx[]={-1,0,1,2,2,2,1,0,-1,-2,-2,-2};
int dy[]={2,2,2,1,0,-1,-2,-2,-2,-1,0,1};
int main() {
	int px,py,n,sx,sy;
	while(scanf("%d %d",&px,&py),px) {
		memset(M,0,sizeof(M));
		scanf("%d",&n);
		for(int i=1;i<=n;i++) {
			scanf("%d %d",&sx,&sy);
			M[sx][sy]=i;
		}
		queue<P> Q;
		Q.push(P(_P(px,py),1));
		bool OK=false;
		while(!Q.empty()) {
			P p=Q.front();Q.pop();
			if(p.second==(n+1)) {OK=true;break;} 
			for(int i=0;i<12;i++) {
				int nx=p.first.first+dx[i],ny=p.first.second+dy[i];
				if(0>nx||nx>=10||0>ny||ny>=10)continue;
				bool OK=false;
				for(int i=-1;i<=1;i++) {
					for(int j=-1;j<=1;j++) {
						if(0>(nx+i)||(nx+i)>=10||0>(ny+j)||(ny+j)>=10)continue;
						if(M[nx+i][ny+j]==p.second)OK=true; 
					}
				}
				if(OK) {
					Q.push(P(_P(nx,ny),p.second+1));
				}
			}
		}
		printf("%s\n",OK?"OK":"NA");
	}
}