#include<cstdio>
#include<vector>
#include<map>
#include<algorithm>
using namespace std;
int main()
{
	typedef pair<int,int>P;
	typedef vector<P>V;
	int N,M,r,q,t,n,m,s,e,i,j;
	while(scanf("%d%d",&N,&M),N)
	{
		P p;
		vector<V>S(M+1);
		V T(M+1);
		scanf("%d",&r);
		for(i=0;i<r;++i)
		{
			scanf("%d%d%d%d",&t,&n,&m,&s);
			if(s){if(!T[m].second++)T[m].first=t;}
			else{if(!--T[m].second)S[m].push_back(P(T[m].first,t));}
		}
		scanf("%d",&q);
		for(i=0;i<q;++i)
		{
			scanf("%d%d%d",&s,&e,&m);
			for(r=j=0;j<S[m].size();++j)
			{
				p=S[m][j];
				p.first=max(p.first,s);
				p.second=min(p.second,e);
				if(p.first<p.second)r+=p.second-p.first;
			}
			printf("%d\n",r);
		}
	}
	return 0;
}