#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string.h>
#include <map>
#include <vector>
#include <cmath>
#include <queue>
using namespace std;
int get(int hour,int mi)
{
	return hour*60+mi;
}
int main()
{
    int n;
    while(scanf("%d",&n),n)
    {
    	int mon,day,hour,mi,ans=0,per,maxn=0;
    	int now;
    	int visit[10000];
    	int getin[10000];
    	int getou[10000];
    	int fin[10000];
    	char s[10];
 		memset(visit,0,sizeof(visit));
 		memset(fin,0,sizeof(fin));
        for(int i=1;i<=n;i++)
        {
          scanf("%d/%d %d:%d%s%d",&mon,&day,&hour,&mi,s,&per);
 		  now=get(hour,mi);
 		  maxn=max(maxn,per);
 		  if(s[0]=='I'&&per!=0)
 		  {
             getin[per]=now;
             visit[per]=1;
 		  }
 		  else if(s[0]=='O'&&per!=0)
 		  {
 		  	visit[per]=0;
 		  	if(visit[0])
 		  		fin[per]+=now-max(getin[0],getin[per]);
 		  }
 		  else if(s[0]=='I'&&per==0)
 		  {
               visit[0]=1;
               getin[0]=now;
 		  }
 		  else
 		  {
              visit[0]=0;
              for(int i=1;i<=maxn;i++)
              	if(visit[i])
              		fin[i]+=now-max(getin[0],getin[i]);
 		  }
        }
        ans=0;
        for(int i=1;i<=maxn;i++)
        	ans=max(ans,fin[i]);
        printf("%d\n",ans);
    }
	return 0;
}