#include <iostream>
#include <stdio.h>
#include <memory.h>
using namespace std;
bool a[505][505],b[505];
int n[505];int c,d,sum;
int find(int g)
{
int i;
for(i=1;i<=d;i++)
{
if(a[g][i]&&!b[i])
{
b[i]=true;
if(n[i]==-1||find(n[i]))
{ n[i]=g; return 1; }
}
}
return 0;}
int main()
{ int m,girl,boy;
while(scanf("%d",&m),m)
{scanf("%d%d ",&c,&d);
memset (a,false,sizeof(a));
memset(n,-1,sizeof(n));
for(int i=0;i<m;i++)
{
scanf("%d%d",&girl,&boy);
a[girl][boy]=true;
}
sum=0;
for(int i=1;i<=c;i++)
{ memset(b,0,sizeof(b));
sum+=find(i); }
printf("%d\n",sum);} return 0;}