#include <iostream>
#include <cstdio>
#include <string.h>
using namespace std;
int sum,s[1005][1005],has[1005],link[1005],m,n,k;
int match(int t)
{
for (int i=1;i<=n;++i)
{
if (!has[i]&&s[t][i])//注意不是s[i][t]
{
has[i]=1;//表示i号男生存在匹配
if (!link[i]||match(link[i]))//i号男生未匹配,或者i号男生所对应的女生可以找另一个对应
{
link[i]=t;
return 1;
}
}
}
return 0;
}
int main()
{
int i,a,b;
while(scanf("%d",&k),k)
{
scanf("%d%d",&m,&n);
memset(s,0,sizeof(s));
for (i=1;i<=k;++i)
{
scanf("%d%d",&a,&b);
s[a][b]=1;
}
memset(link,0,sizeof(link));
sum=0;
for (i=1;i<=m;++i)
{
memset(has,0,sizeof(has));
if (match(i))
++sum;
}
printf ("%d\n",sum);
}
return 0;
}