#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef long double ld;
typedef tuple<int, int> duo;
const int dx[] = {0, 0, 0, 1, -1, 1, 1, -1, -1};
const int dy[] = {0, 1, -1, 0, 0, 1, -1, 1, -1};
const int Mod = 1000000000 + 0;
//{{{ templates
#define TT_ template<typename T>inline
#define TTF_ template<typename T,typename F>inline
TT_ T sq(T x){return x*x;}
TT_ T In(){T x;cin>>x;return x;}
TT_ void Out(T&x){cout<<x;}
TT_ void sort(T&v){sort(begin(v),end(v));}
TT_ void revs(T&v){reverse(begin(v),end(v));}
TT_ void uniq(T&v){sort(v);v.erase(unique(begin(v),end(v)),end(v));}
TT_ int ubnd(T&v,typename T::value_type&x){return upper_bound(begin(v),end(v),x)-begin(v);}
TT_ int lbnd(T&v,typename T::value_type&x){return lower_bound(begin(v),end(v),x)-begin(v);}
TTF_ void inpt(T&v,int n,F f){for(v.reserve(n);n--;v.emplace_back(f()));}
TTF_ void show(T&v,F f,string d=" ",string e="\n"){int i=0;for(auto&x:v)i++&&(cout<<d),f(x);cout<<e;}
TT_ typename T::iterator minel(T&v){return min_element(begin(v),end(v));}
TT_ typename T::iterator maxel(T&v){return max_element(begin(v),end(v));}

inline void fast_io(){ios::sync_with_stdio(0);cin.tie(0);}
inline int in(){int x;scanf("%d",&x);return x;}
inline ll pow_mod(ll a,ll k,ll m){ll r=1;for(;k>0;a=a*a%m,k>>=1)if(k&1)r=r*a%m;return r;}
inline ll mod_inv(ll a,ll p){return pow_mod(a,p-2,p);}
//}}} priority_queue queue deque front stringstream max_element min_element insert count make_tuple

const int px[] = {2, 2, 2, -2, -2, -2, 1, 0, -1, 1, 0, -1};
const int py[] = {1, 0, -1, 1, 0, -1, 2, 2, 2, -2, -2, -2};

bool invalid(int x, int y){
  return 0 > x || x >= 10 || 0 > y || y >= 10;
}

int main()
{
  int fx, fy;
  while (fx = in(), fy = in(), fx || fy){
    int n = in();
    int field[11][10][10] = {};
    field[0][fy][fx] = 1;
    for (int t = 1; t <= n; t++){
      int sx, sy;
      sx = in(), sy = in();
      for (int d = 0; d < 9; d++){
       int nx = sx + dx[d], ny = sy + dy[d];
       if (invalid(nx, ny)) continue;
       for (int dd = 0; dd < 12; dd++){
         int nnx = nx + px[dd], nny = ny + py[dd];
         if (invalid(nnx, nny)) continue;
         field[t][ny][nx] += field[t - 1][nny][nnx];
       }
      }
    }
    int tot = 0;
    for (int x = 0; x < 10; x++){
      for (int y = 0; y < 10; y++){
        tot += field[n][y][x];
      }
    }
    if (tot == 0) puts("NA");
    else puts("OK");
  }
  return 0;
}