rt,#5#7#8#9#10WA,#5输出比数据少了1
#include<bits/stdc++.h>
using namespace std;
int n,m,e,ans;
bool gra[505][505],vis[505],lft[505];
bool mtc(int k)
{
for (int i = 1;i <= m;i++)
if (gra[k][i] && !vis[i])
{
vis[i] = true;
if (!lft[i] || mtc(lft[i]))
{
lft[i] = k;
return true;
}
}
return false;
}
int main()
{
int u,v;
cin >> n >> m >> e;
for (int i = 1;i <= e;i++)
{
cin >> u >> v;
gra[u][v] = true;
}
for (int i = 1;i <= n;i++)
{
if (mtc(i)) ans++;
memset(vis,false,sizeof(vis));
}
cout << ans << endl;
return 0;
}