WA on Test2
#include<bits/stdc++.h>
#define ll long long
#define inf (0x3f3f3f3f)
using namespace std;
const int N=4e3+10;
const int M=5e4+10;
int n,m,tot,cnt[N],ans=inf;bool vis[N];
int pre[M],now[M],to[M],val[M],dis[N];
void add(int x,int y,int z){
pre[++tot]=now[x];
to[tot]=y;val[tot]=z;
now[x]=tot;
}
void spfa(int st){
queue<int>q;
memset(dis,0x3f,sizeof(dis));
q.push(st);vis[st]=1;dis[st]=0;
while(!q.empty()){
int u=q.front();q.pop();vis[u]=0;
if(cnt[u]>=n){puts("Forever love");exit(0);}
for(int i=now[u],v=to[i];i;i=pre[i])
if(dis[u]+val[i]<dis[v]){
dis[v]=dis[u]+val[i];
if(!vis[v]){vis[v]=1,q.push(v),cnt[v]++;}
}
}
}
int main(){
scanf("%d%d",&n,&m);
for(int i=1,u,v,l;i<=m;i++){
scanf("%d%d%d",&u,&v,&l);
add(u,v,-l);
}
spfa(1);ans=min(dis[n],ans);
spfa(n);ans=min(dis[1],ans);
printf("%d",ans);
return 0;
}