//恩,卡在80%的同学估计就是成长值的累加中没有处理成长值必须一直大于0这个吧。 #include<iostream>
#include<cstring>
using namespace std;
int main(){
int grow[100];
int task[100];
memset(grow, 0, sizeof(grow));
memset(task, 0, sizeof(task));
int cmd;
while (cin >> cmd){
if (cmd == 1){
int start, end, val;
cin >> start >> end >> val;
if (start < 1)
continue;
for (int i = start; i <= end; i++){
if (grow[i] == 0 || grow[i] < val)
grow[i] = val;
}
}
else if (cmd == 2){
int day, val;
cin >> day >> val;
if (day < 1)
continue;
if (task[day] == 0 || task[day] < val)
task[day] = val;
}
else
break;
} int result=0; for (int i = 1; i < 100; i++){
result += grow[i];
result = result < 0 ? 0 : result;
result += task[i];
result = result < 0 ? 0 : result;
}
cout << result << endl;
return 0;
}