#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define file_in "stalpi.in"
#define file_out "stalpi.out"
#define Nmax 100100
#define Mmax 601000
#define Inf 2000000001
struct stalp
{
long x,cost,st,dr;
}
v[Nmax];
long n;
long ai[Mmax];
long s[Nmax];
long best[Nmax];
long binary_search1(long x)
{
long ls,ld,mij,sol;
ls=0;
ld=n;
mij=(ls+ld)>>1;
while(ls<=ld)
{
if(s[mij]<x && s[mij+1]>=x)
{
return mij;
}
if (s[mij]<x)
{
ls=mij+1;
sol=mij;
mij=(ls+ld)>>1;
}
else
{
ld=mij-1;
mij=(ls+ld)>>1;
}
}
return sol;
}
long binary_search2(long x)
{
long ls,ld,mij,sol;
ls=0;
ld=n;
mij=(ls+ld)>>1;
while(ls<=ld)
{
if(s[mij]<=x && s[mij+1]>x)
{
return mij;
}
if (s[mij]<=x)
{
ls=mij+1;
sol=mij;
mij=(ls+ld)>>1;
}
else
{
ld=mij-1;
mij=(ls+ld)>>1;
}
}
return sol;
}
inline bool cmp(stalp a, stalp b)
{
if (a.dr<b.dr) return 1;
return 0;
}
void update(long nod, long st, long dr ,long poz, long x)
{
if (st==dr)
{
ai[nod]=x;
return ;
}
long mij=(st+dr)>>1;
if (poz<=mij)
return update(2*nod,st,mij,poz,x);
else
return update(2*nod+1,mij+1,dr,poz,x);
ai[nod]=min(ai[2*nod],ai[2*nod+1]);
}
long querry(long nod, long st, long dr, long l, long r)
{
if (l<=st && dr<=r)
{
return ai[nod];
}
long mij=(st+dr)>>1;
long sol;
sol=Inf;
if (l<=mij)
sol=min(sol,querry(2*nod,st,mij,l,r));
if (mij<r)
sol=min(sol,querry(2*nod+1,mij+1,dr,l,r));
//printf("%d %d %d\n", sol, l, r);
return sol;
}
int main()
{
long i,l,r;
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%ld", &n);
s[0]=-Inf;
for (i=1;i<=n;++i)
{
scanf("%ld %ld %ld %ld", &v[i].x, &v[i].cost, &v[i].st, &v[i].dr);
s[i]=v[i].x;
v[i].st=v[i].x-v[i].st;
v[i].dr=v[i].x+v[i].dr;
}
sort(s+1,s+n+1);
sort(v+1,v+n+1,cmp);
memset(ai,Inf,sizeof(ai));
memset(best,Inf,sizeof(best));
/*for (i=1;i<=n;++i)
{
ai[i]=0;
best[i]=0;
}*/
update(1,0,n,0,0);
best[0]=0;
for (i=1;i<=n;++i)
{
l=binary_search1(v[i].st);
r=binary_search2(v[i].dr);
best[r]=min(best[r],querry(1,0,n,l,n)+v[i].cost);
update(1,0,n,r,best[r]);
//printf("%d %d\n", l,r);
}
printf("%ld\n", best[n]);
fclose(stdin);
fclose(stdout);
return 0;
}