#include<bits/stdc++.h>
using namespace std;
struct Node{
int s,e;
};
Node a[500005];
long long cal(int f,int t){
return (t+f)*(t-f+1)/2;
}
int main(){
int n,top=0;
scanf("%d",&n);
for(int i=1;i<=n;i++){
int op,l,r,k;
long long ans=0;
cin >> op;
if(op == 1){
scanf("%d%d",&l,&r);
a[++top] = {l,r};
}
else{
scanf("%d",&k);
while(k>=(a[top].e-a[top].s+1)){
ans += cal(a[top].s,a[top].e);
k -= (a[top].e-a[top].s+1);
a[top] = {0,0};
top --;
}
ans += cal(a[top].e-k+1,a[top].e);
a[top].e -= k;
printf("%lld\n",ans);
}
}
return 0;
}