g,dist:array[1..250,1..250]of longint;
n,m,i,j,k,ans,w:longint;
function min(a,b:longint):longint;
begin
if a<b then exit(a)
else exit(b);
end;
begin
readln(n,m);
ans:=maxint;
for i:=1 to n do
for j:=1 to n do
begin
g[i,j]:=maxint;
dist[i,j]:=maxint;
end;
for k:=1 to m do
begin
readln(i,j,w);
g[i,j]:=w;
g[j,i]:=w;
dist[i,j]:=w;
dist[j,i]:=w;
end;
for k:=1 to n do
begin
for i:=1 to k-1 do
for j:=i+1 to k-1 do
ans:=min(ans,dist[i,j]+g[i,k]+g[k,j]);
for i:=1 to n do
for j:=1 to n do
dist[i,j]:=min(dist[i,j],dist[i,k]+dist[k,j]);
end;
if ans=maxint then writeln('He will never come back.')
else writeln(ans);
end.