#include<bits/stdc++.h>
using namespace std;
bool ver[1001][1001],v[1001];
int d[1001],n,m,e;
bool dfs(int x){
	for(int i=1;i<=m;i++){
	if(ver[x][i]&&!v[i]){
		v[i]=1;
		if(!d[i]||dfs(d[i])){
			d[i]=x;return 1;
		}
		
	}

	}
	return 0;
}
void init(){
cin>>n>>m>>e;
for(int i=1;i<=e;i++){
	int a,b;
	cin>>a>>b;
	if(b>m||a>n)continue;
	ver[a][b]=1;

}
	int ans=0;
	for(int i=1;i<=n;i++){memset(v,0,sizeof(v));
	ans+=dfs(i);
	}
	cout<<ans;
}
int main(){
init();
}