using System;

namespace Petlja3D
{
    class Program
    {
        static public bool[,] t;
        static public int n, m;

        static void oboj(int i, int j)
        {
            if (!t[i, j])
            {
                t[i, j] = true;

                if (!t[i + 1, j] && i < n)
                {
                    oboj(i + 1, j);
                }
                if (!t[i - 1, j] && i > 1)
                {
                    oboj(i - 1, j);
                }
                if (!t[i, j + 1] && j < m)
                {
                    oboj(i, j + 1);
                }
                if (!t[i, j - 1] && j > 1)
                {
                    oboj(i, j - 1);
                }
            }
        }

        static void Main(string[] args)
        {
            int k;
            string[] s = Console.ReadLine().Split(' ');
            n = int.Parse(s[0]);
            m = int.Parse(s[1]);
            k = int.Parse(s[2]);
            t = new bool[n + 2, m + 2];
            for(int i = 0; i<k; i++)
            {
                s = Console.ReadLine().Split(' ');
                t[int.Parse(s[0]) , int.Parse(s[1])] = true;
            }

            int br = 0;
            for(int i = 1; i<=n; i++)
                for(int j = 1; j<=m; j++)
                {
                    if(!t[i,j])
                    {
                        oboj(i, j);
                        br++;
                    }
                }
            Console.WriteLine(br);

            
        
        }
    }
}