#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXN 105
int ans,m,n;
int link[MAXN],use[MAXN],map[MAXN][MAXN];
int dfs(int x){
for(int i=1;i<=n;i++){
if(!use[i]&&map[x][i]){
use[i]=1;
if(!link[i]||dfs(link[i])){
link[i]=x;
return 1;
}
}
}
return 0;
}
void hungali(){
memset(link,0,sizeof(link));
for(int i=1;i<=n;i++){
memset(use,0,sizeof(use));
if(dfs(i))
ans++;
}
}
int main(){
int i,e;
scanf("%d %d %d",&n,&m,&e);
for(i=1;i<=e;i++){
int a,b;
scanf("%d %d",&a,&b);
map[a][b]=1;
}
hungali();
printf("%d",ans);
return 0;
}