#include<bits/stdc++.h>
using namespace std;
const int N=501;
int g[N][N],a[N],b[N],n,m,x,y,k,ans;
bool dfs(int x){
for(int i=1;i<=n;i++){
if(!a[i] && g[x][i]){
a[i]=1;
if(!b[i] || dfs(b[i])){
b[i]=x;
return 1;
}
}
}
return 0;
}
void calcu(){
int cnt=0;
memset(b,0,sizeof(b));
for(int i=1;i<=n;i++){
memset(a,0,sizeof(a));
if(dfs(i)) cnt++;
if(cnt>ans) ans=cnt;
}
return;
}
int main(){
cin>>n>>m>>k;
for(int i=1;i<=k;i++){
cin>>x>>y;
g[x][y]=1;
}
calcu();
cout<<ans;
return 0;
}