#include<iostream>
#include<algorithm>
using namespace std;
int a[1002][1002][2];
int b[1002][1002];
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    int n,m;
    cin>>n>>m;
    int q;
    cin>>q;
    for(int r=1;r<=q;r++)
    {
        int q1,q2,q3,q4;
        cin>>q1>>q2>>q3>>q4;
        if(q1>q3)swap(q1,q3);
        if(q2>q4)swap(q2,q4);
        if(q1==q3)
        {
           a[q1][q2][0]--;
           a[q3][q4+1][0]++;
        }
        else
        {
            a[q1][q2][1]--;
            a[q3+1][q4][1]++;
        }
    }
    int maxans=0;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
    {
        //cout<<a[i][j][1];
        //if(a[i][j][0]!=0 or a[i][j][1]!=0 or i==0 or j==0)b[i][j]=1;
        if(a[i][j][0]==0 and a[i][j][1]==0)
        {
            b[i][j]=min(min(b[i-1][j-1],b[i][j-1]),b[i-1][j])+1;

            if(b[i][j]>maxans)maxans=b[i][j];
            //if(b[i][j]==4){cout<<endl<<i<<" "<<j<<endl;}
        }
        a[i+1][j][1]+=a[i][j][1];
        a[i][j+1][0]+=a[i][j][0];
    }
    cout<<maxans<<endl;
    return 0;
}
