#include <bits/stdc++.h>
using namespace std;
const int N = 110;
int T, n, m, mp[N][N], f[N][N];
void solve(){
cin >> n >> m;
memset(mp, 0x3f, sizeof mp);
memset(f, 0x3f, sizeof f);
for(int i = 1; i <= n; i++)
mp[i][i] = f[i][i] = 0;
for(int i = 1; i <= m; i++){
int a, b, c; cin >> a >> b >> c;
mp[a][b] = min(mp[a][b], c);
mp[b][a] = min(mp[b][a], c);
f[a][b] = min(f[a][b], c);
f[b][a] = min(f[b][a], c);
}
long long ans = 9e18;
for(int k = 1; k <= n; k++){
for(int i = 1; i < k; i++)
for(int j = i + 1; j < k; j++)
ans = min(ans, 0ll + f[i][j] + mp[i][k] + mp[k][j]);
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
f[i][j] = min(f[i][j], f[i][k] + f[k][j]), f[j][i] = f[i][j];
}
if(ans >= 1e9)
cout << "No Simple Cycle." << "\n";
else
cout << ans << "\n";
}
signed main(){
T = 1;
while(T --)
solve();
return 0;
}