#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int INF=(1<<25);
struct Graph
{
int s,t,w;//s->t=w;
};
Graph edge[5201];
int dis[501];
int V,E;//点数[1-n] 边数[0-E)
bool bellman_ford(int s0)//原点
{
for(int i=1;i<=V;i++)
dis[i]=INF; dis[s0]=0;
for(int i=1;i<=V-1;i++)
for(int j=0;j<E;j++)
if(dis[edge[j].t]>dis[edge[j].s]+edge[j].w)
dis[edge[j].t]=dis[edge[j].s]+edge[j].w;
for(int j=0;j<E;j++)
if(dis[edge[j].t]>dis[edge[j].s]+edge[j].w)
return false;
return true;
}