loop do
  a, b = gets.split.map(&:to_i)
  break if a == 0
  n = gets.to_i
  c = []
  n.times { c << gets.split.map(&:to_i) }

  dp = []
  dp[0] = []
  dp[0][0] = 1
  b.times do |bi|
    dp[bi] ||= []
    a.times do |ai|
      # p [bi, ai].to_s
      # p dp
      next if bi == 0 && ai == 0
      dp[bi][ai] = dp[bi - 1][ai] if ai == 0
      dp[bi][ai] = dp[bi][ai - 1] if bi == 0
      dp[bi][ai] = dp[bi - 1][ai] + dp[bi][ai - 1] if bi >= 1 && ai >= 1
      dp[bi][ai] = 0 if c.include? [ai + 1, bi + 1]
    end
  end

  # p dp
  puts dp.last.last
end