/*
TASK:FOLDERS
LANG:C++
*/
#include<stdio.h>
#include<string.h>
#define max(a,b)(((a)>(b))?(a):(b))
struct pap{int nasl;int wreme;} V[2][101];
int br1,br2,max2,b1,b2;
void vhod()
{char p[1000];
 int a,b;
 int i=0;
 scanf("%s %d %d",&p,&a,&b);br1+=a;
 while(b1!=br1)
   {scanf("%s %d %d",&p,&a,&b);
   if(a==0){V[1][++i].nasl=a;V[1][i].wreme=b;}
      else br1+=a;
   b1++;
   }
 i=0;
 scanf("%s %d %d",&p,&a,&b);br2+=a;
 while(b2!=br2)
   {scanf("%s %d %d",&p,&a,&b);
   if(a==0){V[2][++i].nasl=a;V[2][i].wreme=b;}
     else br2+=a;
   b2++;
   }
}
void findm()
{int q=0;
 for(int i=1;i<=b2+1;i++)
  {if(V[2][i].wreme>max2)max2=V[2][i].wreme;
  }
 for(int j=1;j<=(b1+1);j++)
  if(V[1][j].wreme>max2)q++;
 printf("%d\n",q);
}
int main()
{vhod();
 findm();
 return 0;
}
