/*

*/

#include<stdio.h>

typedef struct DATA Data;
struct DATA{
	int time;	//?????????
	int pc;	//PC????????????
	int student;	//??????????????????
	int s;	//?????°????????????1, ?????°??¢????????????0???
};

int main(int argc, char *argv){
	while( Main() );
	return 0;
}

int Main(){
	int N = 0, M = 0, r = 0, q = 0, ts = 0, te = 0, m = 0, time = 0, bt = 0, i = 0, j = 0;	//PC?????°??°???????????°????????¨?¨??????°???????????°????????????????§???¨????????????????????????????????????????????????????????¨???????????????????????°??????????????????(??¬????????????????????°???????????????????????????-1)???
	if( scanf("%d %d", &N, &M) != 2 ){ return -1; }
	if( N == 0 || M == 0 ){ return 1; }
	if( scanf("%d", &r) != 1 ){ return -1; }
	Data data[r];
	//?????¨?¨?????????\??????
	for( i = 0; i < r; i++ ){
		if( scanf("%d %d %d %d", &data[i].time, &data[i].pc, &data[i].student, &data[i].s) != 4 ){ return -1; }
	}
	if( scanf("%d", &q) != 1 ){ return -1; }
	//???????????\?????¨?????????
	for( i = 0; i < q; i++ ){
		time = 0;
		bt = -1;
		if( scanf("%d %d %d", &ts, &te, &m) != 3 ){ return -1; }
		//?????¨?¨??????¨?????§??????
		for( j = 0; j < r; j++ ){
			//????±??????\????????????????????????
			if( data[j].student != m ){ continue; }
			//?????°???????????????????????????
			if( data[j].s == 1 ){
				//??¬???????§??????????bt?????¬???????§?????????????????????????????§?????????????????????????
				if( data[j].time < ts ){
					bt = ts;
				}else if( data[j].time < te ){
					bt = data[j].time;
				}else{
					bt = -1;	//??¬???????????\???????????°????????????????????????????????°?????????????????¨??????????????????
				}
			}
			//?????°??¢??????????????¨???????????????
			if( data[j].s == 0 ){
				if( bt == -1 ){ continue; }	//?????????????????°????????????????????????
				//??¬???????§?????????????????????????????????¬?????????????????????????????¬????????????????????¬????????????????????§????????????????????????
				if( data[j].time >= te ){
					time += te - bt;
					break;	//????????\???????????¨?¨???????????±????????????¨???????????±?????????????????????
				}else if( data[j].time > ts ){
					time += data[j].time - bt;
				}
			}
		}
		printf("%d\n", time);
	}
	return 0;
}