#include<bits/stdc++.h>
#define N 10010
using namespace std;
int a[N],k[N],t[N],dp[N];
int main()
{
int hour1,minute1,hour2,minute2;
scanf("%d:%d",&hour1,&minute1);
scanf("%d:%d",&hour2,&minute2);
hour1 = hour1*100+minute1;
hour2 = hour2*100+minute2;
int time=0;
for (int i=hour1+1;i<=hour2;i++)
{
time++;
if (i%100==60) i = (i/100+1)*100;
}
int n;
scanf("%d",&n);
for (int i=1;i<=n;i++)
scanf("%d%d%d",&t[i],&a[i],&k[i]);
for (int i=1;i<=n;i++)
{
if (k[i]!=0)
{
for (int j=time;j>=t[i];j--)
{
if (k[i]==1) dp[j] = max(dp[j],dp[j-t[i]]+a[i]);
else
{
for (int u=0;u<=k[i] && u*t[i]<=j;u++)
dp[j]=max(dp[j],dp[j-u*t[i]]+u*a[i]);
}
}
}
else
{
for (int j=t[i];j<=time;j++)
dp[j]=max(dp[j],dp[j-t[i]]+a[i]);
}
}
cout << dp[time] << endl;
return 0;
}
被最后一个数据hack了