#include<bits/stdc++.h>
using namespace std;
int n,m,u,v;
int a[1510][1510]={0};
int dp[1510]={0};
int s=0,mx=0;
queue<int>q;
int main(){
cin>>n>>m;
int i,l;
for(i=1;i<=m;i++){
scanf("%d %d %d",&u,&v,&l);
if(l>a[u][v])
a[u][v]=l;
}
q.push(1);
while(!q.empty()){
int f=q.front();
q.pop();
for(i=f+1;i<=n;i++){
if(a[f][i]!=0){
q.push(i);
dp[i]=max(dp[i],dp[f]+a[f][i]);
}
}
}
if(dp[n]==0)
cout<<"-1";
else
cout<<dp[n];
return 0;
}