#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main(){ int N, M, Q, a, b; cin >> N >> M >> Q; vector> dp(N+1, vector(M+1)); vector> ok(N+1, vector(M+1)); for (int i=0; i> a >> b; ok[a][b] = 1; } for (int i=1; i<=N; i++){ for (int j=1; j<=M; j++){ dp[i][j] = max(dp[i-1][j], dp[i][j-1]); if (ok[i][j]) dp[i][j] = max(dp[i][j], dp[i-1][j-1]+1); } } cout << dp[N][M] << endl; return 0; }