#include<bits/stdc++.h>
using namespace std;
#define maxn 12333345
vector<int> z[maxn];
int match[maxn],n,m,k;
bool use[maxn];
bool dfs(int l){
for(auto r:z[l]){
if(use[r]==false){
use[r]=true;
if(match[r]==0||(match[r]!=0&&dfs(match[r]))){
match[r]=l;
return true;
}
}
}
return false;
}
int main(){
cin>>n>>m>>k;
for(int i=1;i<=n;i++){
int l,r;
cin>>l>>r;
z[l].push_back(r);
}
int ans=0;
for(int l=1;l<=n;l++){
memset(use,false,sizeof(use));
if(dfs(l)) ans++;
}
cout<<ans<<'\n';
return 0;
}