#include<bits/stdc++.h>
using namespace std;
const int maxn=100005;
struct Edge{
int f,to,w;
}edge[maxn];
int head[maxn],edgenum,n,m,d[maxn];
void add_edge(int from,int to,int w){
edge[++edgenum].f=from;
edge[edgenum].to=to;
edge[edgenum].w=w;
}
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
int u,v,w;
cin>>u>>v>>w;
add_edge(u,v,-w);
}
for(int i=1;i<=n;i++) d[i]=1e9+5;d[1]=0;
for(int i=1;i<n;i++){
for(int j=1;j<=m;j++){
if(d[edge[j].f]+edge[j].w<d[edge[j].to]){
d[edge[j].to]=d[edge[j].f]+edge[j].w;
}
}
}
for(int j=1;j<=m;j++){
if(d[edge[j].f]+edge[j].w<d[edge[j].to]){
cout<<"Forever love";
return 0;
}
}
if(d[n]==5){cout<<"-5";return 0;}
cout<<d[n];
return 0;
}