#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int n1,n2,m,h[510],e[510],ne[510],idx,match[100005];
bool st[510];
void add(int a,int b)
{
e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}
bool find(int x)
{
int i,j;
for(i=h[x];i!=-1;i=ne[i]){
j=e[i];
if(!st[j]){
st[j]=true;
if(match[j]==0||find(match[j])){
match[j]=x;
return true;
}
}
}
return false;
}
int main()
{
scanf("%d%d%d",&n1,&n2,&m);
int i,a,b,ans=0;
memset(h,-1,sizeof(h));
while(m--){
scanf("%d%d",&a,&b);
add(a,b);
}
for(i=1;i<=n1;i++){
memset(st,false,sizeof(st));
if(find(i))ans++;
}
printf("%d\n",ans);
return 0;
}