#include<bits/stdc++.h>
#define int long long
#define rep(i,x,y) for(int i=x;i<=y;i++)
using namespace std;
vector<int>G[514154];
int n,m,e;
int ans;
int vistime[1145141];
int mch[1145141];
bool dfs(const int u, const int tag) {
if (vistime[u] == tag) return false;
vistime[u] = tag;
for(int i=0;i<G[u].size();i++){
int v=G[u][i];
if ((mch[v] == 0) || dfs(mch[v], tag)) {
mch[v] = u;
return true;
}
}
return false;
}
signed main() {
cin>>n>>m>>e;
rep(i,1,e) {
int u,v;
cin>>u>>v;
G[u].push_back(v);
}
rep(i,1,n) {
if(dfs(i,i)) {
ans++;
}
}
cout<<ans;
return 0;
}