loop do
  a,b = gets.split.map(&:to_i)
  break if (a|b)==0
  dp = Array.new(a+1,0).map{Array.new(b+1,0)}
  dp[1][1] = 1
  n = gets.to_i
  n.times{
    x,y = gets.split.map(&:to_i)
    dp[x][y]=nil
  }
  (1..a).each{|i|
    (1..b).each{|j|
      next if dp[i][j]!=0
      dp[i][j] = dp[i-1][j].to_i+ dp[i][j-1].to_i
    }
  }
  puts dp[a][b].to_i
end