#include<bits/stdc++.h>
#define long long ll
using namespace std;
int pre[100005],num[100005];
int find(int x)
{
if(pre[x]==x) return x;
return pre[x]=find(pre[x]);
}
void join(int x,int y)
{
int fx=find(x);
int fy=find(y);
if(fx!=fy)
{
if(num[fx]>num[fy])
{
pre[fy]=fx;
num[fx]+=num[fy];
}
else
{
pre[fx]=fy;
num[fy]+=num[fx];
}
}
return ;
}
int main()
{
int m,n,k,x,y;
cin>>m>>n>>k;
int z=m*n;
for(int i=1;i<=z;i++)
{
pre[i]=i;
num[i]=1;
}
for(int i=1;i<=k;i++)
{
cin>>x>>y;
join(x,y);
}
int ans=0;
for(int i=1;i<=z;i++)
if(pre[i]==i) ans++;
cout<<ans<<endl;
return 0;
}