#include <bits/stdc++.h>
#define fi first
#define se second
#define int long long
using namespace std;
const long long oo=1e18;
const int mod=1e9+7;
const int base=31;
int Test=1;
bool bit(int mask,int i){return (mask>>i)&1;}
void home()
{
if(fopen("main.inp","r"))
freopen("main.inp","r",stdin),
freopen("main.out","w",stdout);
}
int n,m,q,mu[100];
map<pair<int,int>,int>mp;
int Cal(int row,int c)
{
if(mp.count({row,c}))return mp[{row,c}];
if(row==0)return c!=0;
int x=upper_bound(mu,mu+35,row)-mu;
int rem=c%mu[x];
int len=mu[x-1];
return mp[{row,c}]=(c/mu[x])*Cal(row-len,len)+Cal(row-len,min(rem,len));
}
int TinhLR(int row,int l,int r)
{
if(l==0)return Cal(row,r+1);
int x=Cal(row,r+1)-Cal(row,l);
if((row&l)==0&&(row&(l-1))==0)x++;
return x;
}
void Tcmduc_VOI26()
{
cin>>n>>m>>q;
mu[0]=1;for(int i=1;i<=40;i++)mu[i]=mu[i-1]*2;
while(q--)
{
int x,y,u,v;cin>>x>>y>>u>>v;
int so1=TinhLR(x,y,v),so2=TinhLR(y,x,u);
if(!(x&y))so1--;
cout<<so1+so2<<'\n';
}
}
signed main()
{
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);home();
while(Test--)Tcmduc_VOI26();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBpbnQgbG9uZyBsb25nCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGxvbmcgbG9uZyBvbz0xZTE4Owpjb25zdCBpbnQgbW9kPTFlOSs3Owpjb25zdCBpbnQgYmFzZT0zMTsKaW50IFRlc3Q9MTsKYm9vbCBiaXQoaW50IG1hc2ssaW50IGkpe3JldHVybiAobWFzaz4+aSkmMTt9CnZvaWQgaG9tZSgpCnsKICAgIGlmKGZvcGVuKCJtYWluLmlucCIsInIiKSkgCiAgICBmcmVvcGVuKCJtYWluLmlucCIsInIiLHN0ZGluKSwKICAgIGZyZW9wZW4oIm1haW4ub3V0IiwidyIsc3Rkb3V0KTsKfQppbnQgbixtLHEsbXVbMTAwXTsKbWFwPHBhaXI8aW50LGludD4saW50Pm1wOwppbnQgQ2FsKGludCByb3csaW50IGMpCnsKICAgIGlmKG1wLmNvdW50KHtyb3csY30pKXJldHVybiBtcFt7cm93LGN9XTsKICAgIGlmKHJvdz09MClyZXR1cm4gYyE9MDsKICAgIGludCB4PXVwcGVyX2JvdW5kKG11LG11KzM1LHJvdyktbXU7CiAgICBpbnQgcmVtPWMlbXVbeF07CiAgICBpbnQgbGVuPW11W3gtMV07CiAgICByZXR1cm4gbXBbe3JvdyxjfV09KGMvbXVbeF0pKkNhbChyb3ctbGVuLGxlbikrQ2FsKHJvdy1sZW4sbWluKHJlbSxsZW4pKTsKfQppbnQgVGluaExSKGludCByb3csaW50IGwsaW50IHIpCnsKICAgIGlmKGw9PTApcmV0dXJuIENhbChyb3cscisxKTsKICAgIGludCB4PUNhbChyb3cscisxKS1DYWwocm93LGwpOwogICAgaWYoKHJvdyZsKT09MCYmKHJvdyYobC0xKSk9PTApeCsrOwogICAgcmV0dXJuIHg7Cn0Kdm9pZCBUY21kdWNfVk9JMjYoKQp7CiAgICBjaW4+Pm4+Pm0+PnE7ICAgCiAgICBtdVswXT0xO2ZvcihpbnQgaT0xO2k8PTQwO2krKyltdVtpXT1tdVtpLTFdKjI7CiAgICB3aGlsZShxLS0pCiAgICB7CiAgICAgICAgaW50IHgseSx1LHY7Y2luPj54Pj55Pj51Pj52OwogICAgICAgIGludCBzbzE9VGluaExSKHgseSx2KSxzbzI9VGluaExSKHkseCx1KTsKICAgICAgICBpZighKHgmeSkpc28xLS07CiAgICAgICAgY291dDw8c28xK3NvMjw8J1xuJzsKICAgIH0KfQpzaWduZWQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTtjb3V0LnRpZSgwKTtob21lKCk7CiAgICB3aGlsZShUZXN0LS0pVGNtZHVjX1ZPSTI2KCk7CiAgICByZXR1cm4gMDsKfQo=