太郎君の住んでいるJOI市は，南北方向にまっすぐに伸びる a 本の道路と，東西方向にまっすぐに伸びる b 本の道路により，碁盤の目の形に区分けされている．  南北方向の a 本の道路には，西から順に 1, 2, ... , a の番号が付けられている．また，東西方向の b 本の道路には，南から順に 1, 2, ... , b の番号が付けられている．西から i 番目の南北方向の道路と，南から j 番目の東西方向の道路が交わる交差点を (i, j) で表す．  太郎君は，交差点 (1, 1) の近くに住んでおり，交差点 (a, b) の近くのJOI高校に自転車で通っている．自転車は道路に沿ってのみ移動することができる．太郎君は，通学時間を短くするため，東または北にのみ向かって移動して通学している．  現在， JOI市では， n 個の交差点 (x1, y1), (x2, y2), ... , (xn, yn) で工事を行っている．太郎君は工事中の交差点を通ることができない．  太郎君が交差点 (1, 1) から交差点 (a, b) まで，工事中の交差点を避けながら，東または北にのみ向かって移動して通学する方法は何通りあるだろうか．太郎君の通学経路の個数 m を求めるプログラムを作成せよ．
for e in iter(input,'0 0'):
    a,b=map(int,e.split())
    m=[[0]*-~b for _ in[0]*-~a]
    m[1][1]=1
    for _ in[0]*int(input()):
        i,j=map(int,input().split())
        m[i][j]=-1
    for s in range(a):
        for t in range(b):
            u,v=m[s-1][t],m[s][t-1]
            m[s][t]+=u*(u>0)+v*(v>0)
    print(m[a][b])

for e in iter(input,'0 0'):
 a,b=map(int,e.split())
 m=[[0]*b for _ in[0]*a]
 for _ in[0]*int(input()):
  i,j=map(int,input().split())
  m[~-i][~-j]=-1
 for s in range(a):
  for t in range(b):
   u,v=m[s-1][t],m[s][t-1]
   m[s][t]=(u*(u>0)+v*(v>0))*(m[s][t]!=-1)+(s+t==0)
 print(m[~-a][~-b])
