import sys input = sys.stdin.readline from collections import * N, M, Q = map(int, input().split()) ok = [[False]*(M+1) for _ in range(N+1)] for _ in range(Q): a, b = map(int, input().split()) ok[a][b] = True dp = [[0]*(M+1) for _ in range(N+1)] for i in range(1, N+1): for j in range(1, M+1): dp[i][j] = max(dp[i][j], dp[i-1][j], dp[i][j-1], dp[i-1][j-1]) if ok[i][j]: dp[i][j] = max(dp[i][j], dp[i-1][j-1]+1) print(dp[N][M])