#include <iostream>
#include <map>
#include <vector>
#define INF 1000000000
using namespace std;
int L,D;
int gr[105][105];
map<int,int> mp;
int main()
{
int kase=1;
int t,u,v,c;
cin>>t;
while(t--)
{
for(int i=0;i<105;i++)
{
for(int j=0;j<105;j++)
{
if(i==j)
gr[i][j]=0;
else
gr[i][j]=INF;
}
}
cin>>L>>D;
for(int i=1;i<=D;i++)
{
cin>>u>>v>>c;
if(gr[u][v]>c)
{
gr[u][v]=c;
gr[v][u]=c;
}
}
for(int k=1;k<=L;k++)
{
for(int i=1;i<=L;i++)
{
for(int j=1;j<=L;j++)
{
if(gr[i][j]>gr[i][k]+gr[k][j])
gr[i][j] = gr[i][k]+gr[k][j];
}
}
}
mp.clear();
for(int i=1;i<=L;i++)
{
if(gr[1][i]!=INF && gr[1][i]==gr[2][i] && gr[1][i]==gr[3][i] && gr[1][i]==gr[4][i] && gr[1][i]==gr[5][i])
{
mp[i]=gr[1][i];
}
}
/*cout<<"sz "<<mp.size()<<"\n";
for(map<int,int>::iterator ii = mp.begin();ii!=mp.end();++ii)
cout<<ii->first<<" "<<ii->second<<"\n";
*/
if(mp.size()==0)
{
cout<<"Map "<<kase++<<": ";
cout<<"-1\n";
}
else
{
//int MN = INF;
int mx =-1;
int Mmx =INF;
for(map<int,int>::iterator ii = mp.begin();ii!=mp.end();++ii)
{
int val =ii->first;
mx =-1;
for(int j=1;j<=L;j++)
{
if(gr[j][val]>mx)
mx = gr[j][val];
}
//cout<<"m "<<mx<<"\n";
if(Mmx>mx)
Mmx = mx;
}
cout<<"Map "<<kase++<<": ";
if(Mmx==INF)
cout<<-1<<"\n";
else
cout<<Mmx<<"\n";
}
}
return 0;
}