function Time(x){
   var ary=x.split("-");
   ary=ary.map(function(v){
      v=v.split(":").map(Number);
      return (v[0]*60)+v[1];
   });
   return ary;
}
var input = require('fs').readFileSync('/dev/stdin', 'utf8');
var arr=input.trim().split("\n");
var a=arr.shift().split(" ");
a.shift();
var A=a.map(function(v){
   return Time(v);
});
var B=[];
var n=arr.shift()-0;
while(n--){
   var b=arr.shift().split(" ");
   b.shift();
   b=b.map(function(v){
      return Time(v);
   }); 
   B.push(b);
}
var C=[];
var m=arr.shift()-0;
while(m--){
   var c=arr.shift().split(" ");
   c.shift();
   c=c.map(function(v){
      return Time(v);
   }); 
   C.push(c);
}
var ans=0;
A.forEach(function(value){
   var cntB=0;
   var cntC=0;
   B.forEach(function(v){
      var flag=v.some(function(V){
         if(V[0]<=value[0] && value[1]<=V[1])return true;
      });
      if(flag)cntB++;
   });
   C.forEach(function(v){
      var flag=v.some(function(V){
         if(V[0]<=value[0] && value[1]<=V[1])return true;
      });
      if(flag)cntC++;
   });
   ans+=Math.min(cntB,cntC);
});
console.log(ans);