n,m,q = map(int,input().split()) dp = [[0] * (m+1) for _ in range(n+1)] for i in range(q): a,b = map(int,input().split()) dp[a][b] = 1 min_ = 0 for i in range(1,n+1): flg = True for j in range(1,m+1): if min_ < j: if dp[i][j] == 1: if flg: dp[i][j] += max(dp[i-1][j],dp[i][j-1]) min_ = j flg = False else: dp[i][j] = max(dp[i-1][j],dp[i][j-1]) continue dp[i][j] = max(dp[i-1][j],dp[i][j-1]) # for _ in dp: # print(_) # print(i,j) print(dp[-1][-1])