#include <bits/stdc++.h>
#pragma GCC optimize ("O3")
#define din cin
#define dout out
#define pi 3.14159265359
#define sw(x,y) x^=y,y^=x,x^=y
#define bmin(a,b)((a<b)?(a):(b))
#define bmax(a,b)((a>b)?(a):(b))
#define bminify(a,b)a=bmin(a,b)
#define bmaxify(a,b)a=bmax(a,b)
#define forq(i,ii,n)for(i=ii;i<n;i++)
using namespace std;
typedef long long ll;
ifstream in("stalpi.in");
ofstream out("stalpi.out");
ll n,i,j,k,x[100002],c[100002],h[100002],l;
struct t{int x,s,d,c;}a[100002];
int main()
{
ios_base::sync_with_stdio(false);
in.tie(nullptr),out.tie(nullptr);
in>>n;
for(i=1;i<=n;i++)
in>>a[i].x>>a[i].c>>a[i].s>>a[i].d,x[i-1]=a[i].x,c[i]=INT_MAX;
sort(x,x+n);
x[n]=INT_MAX,a[n+1].s=n+1;
//for(i=0;i<n;i++)cout<<x[i]<<' ';cout<<'\n';
for(i=1;i<=n;i++)
a[i].s=lower_bound(x,x+n,a[i].x-a[i].s)-x+1,a[i].d=upper_bound(x,x+n,a[i].x+a[i].d)-x;
sort(a+1,a+n+1,[](t a,t b){return a.s<b.s;});
for(j=1;j<=n;j++)
{
for(i=j;a[i].s==a[j].s;i++)
{
h[l++]=((c[a[i].s-1]+a[i].c)<<20ll)+a[i].d;
push_heap(h,h+l,greater<ll>());
//for(j=0;j<l;j++)cout<<(h[j]>>20)<<' '<<h[j]%(1<<20)<<" ";
}
for(k=a[j].s;k<a[i].s;k++)
{
while(h[0]%(1<<20ll)<k)
pop_heap(h,h+l,greater<ll>()),l--/*,cout<<h[l]%(1<<20ll)<<' '*/;
c[k]=h[0]>>20ll;
}
//cout<<c[i]<<'\n';
}
out<<c[n];
}