#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<sstream>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<deque>
#include<cstdlib>
#include<ctime>
#define dd double
#define ll long long
#define ld long double
#define ull unsigned long long
#define N 510
#define M number
using namespace std;
int n,m,e,ans;
bool g[N][N*2];
int num[N],con_w[N*2];
inline bool dfs(int u){
for(int i=num[u]+1;i<=m;i++){
num[u]=i;
if(g[u][i]){
if(!con_w[i]||dfs(con_w[i])){
con_w[i]=u;
return true;
}
}
}
return false;
}
int main(){
scanf("%d%d%d",&n,&m,&e);
for(int i=1;i<=e;i++){
int from,to;
scanf("%d%d",&from,&to);
g[from][to]=1;
}
for(int i=1;i<=n;i++) if(dfs(i)) ans++;
printf("%d",ans);
return 0;
}