#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

int map_cur[10][10];
int map_next[10][10];

int map_cur_check(int x, int y){
	if(x < 0 || y < 0 || x >= 10 || y >= 10){
		return 0;
	}
	return map_cur[x][y];
}

int main(){
	
	int px, py;
	
	while(true){
		cin >> px >> py;
		if(px == 0 && py == 0){
			break;
		}
		int n;
		cin >> n;
		
		for(int i = 0; i < 10; i++){
			for(int j = 0; j < 10; j++){
				map_next[i][j] = 0;
			}
		}
		
		map_next[px][py] = 1;
		
		int x, y;
		
		for(int loop = 0; loop < n; loop++){
			cin >> x >> y;
			for(int i = 0; i < 10; i++){
				for(int j = 0; j < 10; j++){
					map_cur[i][j] = map_next[i][j];
				}
			}
			for(int i = 0; i < 10; i++){
				for(int j = 0; j < 10; j++){
					bool flag1 = false;
					bool flag2 = false;
					for(int k = -1; k <= 1; k++){
						if(map_cur_check(i - 2, j + k) == 1 || map_cur_check(i + 2, j + k) == 1 || map_cur_check(i + k, j - 2) == 1 || map_cur_check(i + k, j + 2) == 1){
							flag1 = true;
						}
					}
					if(abs(i - x) <= 1 && abs(j - y) <= 1){
						flag2 = true;
					}
					if(flag1 && flag2){
						map_next[i][j] = 1;
					}else{
						map_next[i][j] = 0;
					}
				}
			}
		}
		bool ans = false;
		for(int i = 0; i < 10; i++){
			for(int j = 0; j < 10; j++){
				if(map_next[i][j] == 1){
					ans = true;
				}
			}
		}
		if(ans){
			cout << "OK" << endl;
		}else{
			cout << "NA" << endl;
		}
	}
	
	return 0;
}