using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication7
{
    class Program
    {
        static void Main(string[] args)
        {
            var ulaz = Console.ReadLine().Split();
            Int64 N = Int64.Parse(ulaz[0]);
            Int64 M = Int64.Parse(ulaz[1]);
            Int16 K = Int16.Parse(ulaz[2]);
            Int64[,] A = new Int64[N, M];
            for (Int16 i = 0; i < K; i++)
            {
                var ulaz1 = Console.ReadLine().Split();
                Int64 x = Int64.Parse(ulaz[0]);
                Int64 y = Int64.Parse(ulaz[1]);
            }

            for (Int64 i = 0; i < N; i++)
            {
                for (Int64 j = 0; j < M; j++)
                {
                    if (A[i, j] != 0)
                    {
                        A[i, j] = -1;
                    }
                }
            }
            int boja = 1;
            Int64 brojpraznih = N * M - K;
            while (brojpraznih > 0)
            {
                for (Int6 i = 0; i < N; i++)
                {
                    for (Int64 j = 0; j < M; j++)
                    {
                        if (A[i, j] != 0)
                        {
                            A[i, j] = -1;
                        }
                        if (A[i, j] == -1)
                        {
                            A[i, j] = boja;
                            brojpraznih--;
                            if (i > 0)
                            {
                                A[i - 1, j] = boja;
                                brojpraznih--;
                            }
                            if (i < N - 1)
                            {
                                A[i + 1, j] = boja;
                                brojpraznih--;
                            }
                            if (j < M - 1)
                            {
                                A[i, j + 1] = boja;
                                brojpraznih--;
                            }
                            if (j > 0)
                            {
                                A[i, j - 1] = boja;
                                brojpraznih--;
                            }
                        }
                        if (i > 0)
                        {
                            if (A[i - 1, j] == boja)
                            {
                                A[i, j] = boja;
                                brojpraznih--;
                            }
                        }
                        if (i < N - 1)
                        {
                            if (A[i + 1, j] == boja)
                            {
                                A[i, j] = boja;
                                brojpraznih--;
                            }
                        }
                        if (j < M - 1)
                        {
                            if (A[i, j + 1] == boja)
                            {
                                A[i, j] = boja;
                                brojpraznih--;
                            }
                        }
                        if (j > 0)
                        {
                            if (A[i, j - 1] == boja)
                            {
                                A[i, j] = boja;
                                brojpraznih--;
                            }
                        }
                    }
                }
                boja++;
            }
            Console.WriteLine(boja--);
        }
    }
}