#include <bits/stdc++.h>
#define int long long
#define P 998244353
#define Base 3221225477
#define INF 0x3F3F3F3F3F3F3F3F
#define N 1001000
using namespace std;
int a[N],n,m,dp[N],op[N],cnt,b[N],v[2000][2000];
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n>>m;
for(int i=1;i<=m;i++){
int x,y,w;
cin>>x>>y>>w;
v[x][y]=w;
a[y]++;
}
for(int i=1;i<=n;i++)dp[i]=-INF;
queue<int> q;
q.push(1);
dp[1]=0;
while(q.size()){
int x=q.front();
for(int i=1;i<=n;i++){
if(v[x][i]!=0){
a[i]--;
if(a[i]==0)q.push(i);
dp[i]=max(dp[i],dp[x]+v[x][i]);
}
}
q.pop();
}
if(dp[n]!=-INF)cout<<dp[n];
else cout<<-1;
return 0;
}