/*
#include <iostream>
#include <algorithm>
using namespace std;
char arr[50][50];
int ar[100];
int k;
void f(int x, int y)
{
if(x<0 || y<0 || x>=25 || y>=25) return ;
arr[x][y] = k+'0';
ar[k]++;
if(arr[x-1][y]=='1') f(x-1, y);
if(arr[x+1][y]=='1') f(x+1, y);
if(arr[x][y+1]=='1') f(x, y+1);
if(arr[x][y-1]=='1') f(x, y-1);
}
int main()
{
int n;
cin>>n;
k=2;
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
cin>>arr[i][j];
}
}
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
if(arr[i][j] == '1') {
f(i, j);
k++;
}
}
}
cout << k-2 << endl;
sort(ar,ar+k);
for(int i=2; i<k; i++)
{
cout<<ar[i]<<endl;
}
}
*/
/*
#include <iostream>
using namespace std;
int arr[100][100]={};
int check[100]={};
void virus(int N, int A, int B)
{
if(B > N) return ;
for(int i=1; i<=N; i++)
{
if(arr[A][i]==1)
{
check[i]=1;
arr[A][i]--;
virus(N,i,1);
}
}
}
int main()
{
int n, num, a, b,number=0;
cin>>n>>num;
for(int i=0; i<num; i++)
{
cin>>a>>b;
arr[a][b]=1;
arr[b][a]=1;
}
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
cout<<arr[i][j]<<' ';
}
cout<<endl;
}
virus(n,1,1);
for(int i=0; i<=n; i++)
{
if(check[i]==1)
number++;
}
cout<<number-1<<endl;
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
cout<<arr[i][j]<<' ';
}
cout<<endl;
}
}
*/
/*
#include <iostream>
using namespace std;
char arr[101][101];
void fuc(int W, int H)
{
if(W<0 || H<0 || W>100 || H>100) return ;
arr[W][H] = '.';
for(int i=W-1; i<=W+1; i++)
{
for(int j=H-1; j<=H+1; j++)
{
if(arr[i][j]=='L') fuc(i,j);
}
}
}
int main()
{
int w,h,a=0;
cin>>w>>h;
for(int i=1; i<=h; i++)
{
for(int j=1; j<=w; j++)
{
scanf(" %c", &arr[i][j]);
}
}
for(int i=1; i<=h; i++)
{
for(int j=1; j<=w; j++)
{
if(arr[i][j]=='L')
{
fuc(i,j);
a++;
}
}
}
cout<<a;
}
*/
#include <iostream>
using namespace std;
int arr[101][101]={};
int fun(int M, int N)
{
if(arr[M-1][N]=='0') fun(M-1,N);
if(arr[M][N-1]=='0') fun(M,N-1);
if(arr[M+1][N]=='0') fun(M+1,N);
if(arr[M][N+1]=='0') fun(M,N+1);
}
int main()
{
int m,n,k,x1,x2,y1,y2,ar[101]={},a=0;
cin>>m>>n>>k;
for(int i=0; i<=m+1; i++)
{
for(int j=0; j<=n+1; j++)
{
if(i==0 || j==0 || i==m+1 || j== n+1)
arr[i][j]=1;
}
}
for(int i=0; i<k; i++)
{
cin>>x1>>y1>>x2>>y2;
x1++;
y2++;
x2++;
y1++;
for(int i=x1; i<x2; i++)
{
for(int j=y1; j<y2; j++)
{
arr[j][i]=1;
}
}
}
for(int i=0; i<m; i++)
{
for(int j=0; j<n; j++)
{
if(arr[i][j]==0)
{
fun(m,n);
ar[a]++;
}
}
a++;
}
for(int i=0; i<=m+1; i++)
{
for(int j=0; j<=n+1; j++)
{
cout<<arr[i][j]<<' ';
}
cout<<endl;
}
for(int i=0; i<k; i++)
{
cout<<ar[i];
}
}