/*
TASK: moves
LANG: C++
*/
#include<iostream>
#include<string>
using namespace std;

int main()
{
 
 long a[1001],M,N,k, x1,y1,x2,y2;
 long of1black=0,of2black=0;
 
 cin>>M>>N;
 cin>>k;
 for(long i=1;i<=k;i++)
 {
  //Vyvejdane na koordinatite na oficerite
  cin>>x1>>y1;
  cin>>x2>>y2;
  //
  
  // Proverka dali pyrviq oficer e na "4erno" pole
  if(x1%2!=0)
  {
   if(y1%2==0) of1black=0;
   if(y1%2!=0) of1black=1;
  }
  if(x1%2==0)
  {
   if(y1%2==0) of1black=1;
   if(y1%2!=0) of1black=0;
  }
  //
  
  // Proverka dali vtoriq oficer e na "4erno" pole
  if(x2%2!=0)
  {
   if(y2%2==0) of2black=0;
   if(y2%2!=0) of2black=1;
  }
  if(x2%2==0)
  {
   if(y2%2==0) of2black=1;
   if(y2%2!=0) of2black=0;
  }
  //          
 // Ako si predstavim dvijenieto na oficerite po shahmatna dyska, to SAMO ako zapo4vat ot na4alna poziciq ednakvi po cvqt kvadrati, to te 6te se biqt rano ili kysno
 // => Ako tova E taka izpe4atvame 0 (t.e. nqkoi pe4eli);
 if(of1black==of2black) a[i]=0;
 // => Ako tove NE E taka izpe4atvame 1 (t.e. igrata e remi);
 if(of1black!=of2black) a[i]=1;
 }
 
for(long i=1;i<=k;i++)
cout<<a[i];

cout<<"\n";
return 0;
}
