#include<bits/stdc++.h>
using namespace std;
const long long MaxN = 1e5 + 5, INF= 1e18;
long long n,q;
pair<pair<long long, long long>, long long> pr[MaxN];
struct Segment_Tree
{
vector<long long> st;
void init(long long n)
{
if(n==0) return;
st.assign(4*n+1,INF);
}
void update(long long id, long long l, long long r, long long u, long long val)
{
if(l>u||r<u)
{
return;
}
if(l==r)
{
st[id]=min(st[id],val);
return;
}
long long mid = (l+r) >> 1;
if(u<=mid)
{
update(2*id,l,mid,u,val);
}
else
{
update(2*id+1,mid+1,r,u,val);
}
st[id] = min(st[2 * id], st[2 * id + 1]);
}
long long get(long long id, long long l, long long r, long long u, long long v)
{
if(l>v||r<u)
{
return INF;
}
if(u<=l&&r<=v)
{
return st[id];
}
long long mid = (l+r)>>1;
return min(get(2*id,l,mid,u,v),get(2*id+1,mid+1,r,u,v));
}
void update(long long u, long long val)
{
update(1,1,n,u,val);
}
long long get(long long u, long long v)
{
return get(1,1,n,u,v);
}
};
Segment_Tree segtree;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n >> q;
segtree.init(n);
for (long long i=1; i<=q; i++)
{
cin >> pr[i].first.second >> pr[i].first.first >> pr[i].second;
}
sort(pr+1,pr+q+1);
for (long long i=1; i<=q; i++)
{
long long l = pr[i].first.second,r = pr[i].first.first, c=pr[i].second;
long long mn;
if(l-1==0)
{
mn=0;
}
else
{
mn = segtree.get(l-1,r-1);
}
segtree.update(r,mn+c);
}
long long ans = segtree.get(n,n);
if(ans!=INF)
{
cout << ans;
}
else
{
cout << -1;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgbG9uZyBsb25nIE1heE4gPSAxZTUgKyA1LCBJTkY9IDFlMTg7CmxvbmcgbG9uZyBuLHE7CnBhaXI8cGFpcjxsb25nIGxvbmcsIGxvbmcgbG9uZz4sIGxvbmcgbG9uZz4gcHJbTWF4Tl07CnN0cnVjdCBTZWdtZW50X1RyZWUKewogICAgdmVjdG9yPGxvbmcgbG9uZz4gc3Q7CiAgICB2b2lkIGluaXQobG9uZyBsb25nIG4pCiAgICB7CiAgICAgICAgaWYobj09MCkgcmV0dXJuOwogICAgICAgIHN0LmFzc2lnbig0Km4rMSxJTkYpOwogICAgfQogICAgdm9pZCB1cGRhdGUobG9uZyBsb25nIGlkLCBsb25nIGxvbmcgbCwgbG9uZyBsb25nIHIsIGxvbmcgbG9uZyB1LCBsb25nIGxvbmcgdmFsKQogICAgewogICAgICAgIGlmKGw+dXx8cjx1KQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBpZihsPT1yKQogICAgICAgIHsKICAgICAgICAgICAgc3RbaWRdPW1pbihzdFtpZF0sdmFsKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBsb25nIGxvbmcgbWlkID0gKGwrcikgPj4gMTsKICAgICAgICBpZih1PD1taWQpCiAgICAgICAgewogICAgICAgICAgICB1cGRhdGUoMippZCxsLG1pZCx1LHZhbCk7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIHVwZGF0ZSgyKmlkKzEsbWlkKzEscix1LHZhbCk7CiAgICAgICAgfQogICAgICAgIHN0W2lkXSA9IG1pbihzdFsyICogaWRdLCBzdFsyICogaWQgKyAxXSk7CiAgICB9CiAgICBsb25nIGxvbmcgZ2V0KGxvbmcgbG9uZyBpZCwgbG9uZyBsb25nIGwsIGxvbmcgbG9uZyByLCBsb25nIGxvbmcgdSwgbG9uZyBsb25nIHYpCiAgICB7CiAgICAgICAgaWYobD52fHxyPHUpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gSU5GOwogICAgICAgIH0KICAgICAgICBpZih1PD1sJiZyPD12KQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIHN0W2lkXTsKICAgICAgICB9CiAgICAgICAgbG9uZyBsb25nIG1pZCA9IChsK3IpPj4xOwogICAgICAgIHJldHVybiBtaW4oZ2V0KDIqaWQsbCxtaWQsdSx2KSxnZXQoMippZCsxLG1pZCsxLHIsdSx2KSk7CiAgICB9CiAgICB2b2lkIHVwZGF0ZShsb25nIGxvbmcgdSwgbG9uZyBsb25nIHZhbCkKICAgIHsKICAgICAgICB1cGRhdGUoMSwxLG4sdSx2YWwpOwogICAgfQogICAgbG9uZyBsb25nIGdldChsb25nIGxvbmcgdSwgbG9uZyBsb25nIHYpCiAgICB7CiAgICAgICAgcmV0dXJuIGdldCgxLDEsbix1LHYpOwogICAgfQp9OwpTZWdtZW50X1RyZWUgc2VndHJlZTsKaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsKICAgIGNpbiA+PiBuID4+IHE7CiAgICBzZWd0cmVlLmluaXQobik7CiAgICBmb3IgKGxvbmcgbG9uZyBpPTE7IGk8PXE7IGkrKykKICAgIHsKICAgICAgICBjaW4gPj4gcHJbaV0uZmlyc3Quc2Vjb25kID4+IHByW2ldLmZpcnN0LmZpcnN0ID4+IHByW2ldLnNlY29uZDsKICAgIH0KICAgIHNvcnQocHIrMSxwcitxKzEpOwogICAgZm9yIChsb25nIGxvbmcgaT0xOyBpPD1xOyBpKyspCiAgICB7CiAgICAgICAgbG9uZyBsb25nIGwgPSBwcltpXS5maXJzdC5zZWNvbmQsciA9IHByW2ldLmZpcnN0LmZpcnN0LCBjPXByW2ldLnNlY29uZDsKICAgICAgICBsb25nIGxvbmcgbW47CiAgICAgICAgaWYobC0xPT0wKQogICAgICAgIHsKICAgICAgICAgICAgbW49MDsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgbW4gPSBzZWd0cmVlLmdldChsLTEsci0xKTsKICAgICAgICB9CiAgICAgICAgc2VndHJlZS51cGRhdGUocixtbitjKTsKICAgIH0KICAgIGxvbmcgbG9uZyBhbnMgPSBzZWd0cmVlLmdldChuLG4pOwogICAgaWYoYW5zIT1JTkYpCiAgICB7CiAgICAgICAgY291dCA8PCBhbnM7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgY291dCA8PCAtMTsKICAgIH0KfQ==