using System;
using System.Collections.Generic;

namespace _4._Boje
{
    class Program
    {
        static void Main(string[] args)
        {
            int n, m, k;
            string[] ulaz = Console.ReadLine().Split();
            n = Convert.ToInt32(ulaz[0]);
            m = Convert.ToInt32(ulaz[1]);
            k = Convert.ToInt32(ulaz[2]);
            int[,] matrica = new int[n, m];
            for(int i = 0; i < k; i++)
            {
                string[] crne = Console.ReadLine().Split();
                matrica[Convert.ToInt32(crne[0])-1, Convert.ToInt32(crne[1])-1] = -1;
            }

            for(int i = 0; i < n; i++)
            {
                for(int j = 0; j < m; j++)
                {
                    if (matrica[i, j] != -1)
                    {
                        matrica[i, j] = 0;
                    }
                }
            }

            int boja = 1;
            for(int i = 0; i < n; i++)
            {
                for(int j = 0; j < m; j++)
                {
                    if (matrica[i, j] == 0)
                    {
                        bojanje(i, j, n, m, ref matrica, boja);
                        boja++;
                    }
                }
            }

            /*

            for (int i = 0; i < n; i++)
            {
                for(int j = 0; j < m; j++)
                {
                    Console.Write("{0,2} ", matrica[i, j]);
                }
                Console.WriteLine();
            }*/
            Console.WriteLine(--boja);
        }

        static void bojanje(int x, int y, int n, int m, ref int[,] matrica, int boja)
        {
            matrica[x, y] = boja;
            if (x - 1 >= 0 && matrica[x - 1, y] == 0)
            {
                matrica[x - 1, y] = boja;
                bojanje(x - 1, y, n, m, ref matrica, boja);
            }
            if (x + 1 < n && matrica[x + 1, y] == 0)
            {
                matrica[x + 1, y] = boja;
                bojanje(x + 1, y, n, m, ref matrica, boja);
            }
            if (y - 1 >= 0 && matrica[x, y - 1] == 0)
            {
                matrica[x, y - 1] = boja;
                bojanje(x, y - 1, n, m, ref matrica, boja);
            }
            if (y + 1 < m && matrica[x, y + 1] == 0)
            {
                matrica[x, y + 1] = boja;
                bojanje(x, y + 1, n, m, ref matrica, boja);
            }
        }
    }
}