#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,op,l,r,k,p;
struct node{
int l,r,t;
};
stack<node> s;
signed main()
{
scanf("%lld",&n);
while(n--)
{
scanf("%lld",&op);
if(op==1)
{
scanf("%lld%lld",&l,&r);
s.push((node){l,r,r-l+1});
}
if(op==2)
{
scanf("%lld",&k);
while(!s.empty())
{
if(!s.empty()&&s.top().t>k)
{
p+=s.top().r*k-(k*k-k)/2;
s.top().r-=k;
s.top().t-=k;
printf("%lld\n",p);
p=0;
break;
}
else
{
if(!s.empty()){
k-=s.top().t;
p+=(s.top().l+s.top().r)*s.top().t/2;
s.pop();
}
}
}
}
}
return 0;
}