#include<iostream>
#include<queue>
#include<algorithm>
using namespace std;
bool used[100][10][10];
int x[100],y[100];
int n;
int dx[]={-1,0,1,2,2,2,1,0,-1,-2,-2,-2},dy[]={2,2,2,1,0,-1,-2,-2,-2,-1,0,1};
main()
{
	int sx,sy;
	while(cin>>sx>>sy,sx||sy)
	{
		cin>>n;
		for(int i=0;i<n;i++)
		{
			cin>>x[i]>>y[i];
			for(int j=0;j<10;j++)for(int k=0;k<10;k++)used[i][j][k]=0;
		}
		queue<pair<int,pair<int,int> > >P;
		P.push(make_pair(0,make_pair(sx,sy)));
		bool f=0;
		while(!P.empty())
		{
			int c=P.front().first,X=P.front().second.first,Y=P.front().second.second;
			P.pop();
			if(c==n)
			{
				f=1;
				break;
			}
			for(int r=0;r<12;r++)
			{
				int tx=X+dx[r],ty=Y+dy[r];
				if(tx<0||ty<0||tx>=10||ty>=10||abs(tx-x[c])>1||abs(ty-y[c])>1)continue;
				if(used[c][tx][ty])continue;
				used[c][tx][ty]=1;
				P.push(make_pair(c+1,make_pair(tx,ty)));
			}
		}
		cout<<(f?"OK":"NA")<<endl;
	}
}

