#include using namespace std; #define N 1005 int E,t,n,m,x,y,z,ans,vis[N],head[N],d2[N]; struct ji{ int id; long long len; bool operator < (const ji &a)const{ return (lenq; struct ji2{ int nex,to,len; }edge[N<<2]; void add(int x,int y,int z){ edge[E].nex=head[x]; edge[E].to=y; edge[E].len=z; head[x]=E++; } void dij(int k){ for(int i=1;i<=n;i++)d[i]=ji{0,2000000000LL*n}; for(int i=1;i<=n;i++)vis[i]=0; d[k]=ji{0,0}; vis[k]=1; for(int i=head[k];i!=-1;i=edge[i].nex){ if (ji{0,edge[i].len}