#include
#include
#include
#include
#define INF 0x3f3f3f3f
using namespace std;
int map[1000][1000];
int dist[1000];
int visted[1000];
int edgenum,nodenum,source;
void init()
{
int i,j;
int u,v,weight;
cin>>edgenum>>nodenum>>source;
for(i=1;i<=nodenum;i++)
{
dist[i]=INF;//存储起点到各个点之间的距离
visted[i]=0;//表示未访问
}
dist[source]=0;
for(i=1;i<=nodenum+1;i++)
{
for(j=1;j<=nodenum+1;j++)
{
map[i][j]=INF;//初始化
}
}
for(i=1;i<=edgenum;i++)
{
cin>>u>>v>>weight;
if(map[u][v]>weight)
{
map[u][v]=weight;
}
if(u==source)
{
dist[v]=weight;
}
}
/*cout<mmin)
{
mmin=dist[j];
pos=j;
}
}
if(i==1)
{
cout<dist[pos]+map[pos][i])
{
dist[j]=dist[pos]+map[pos][i];
}
}
}
return ;
}
int main()
{
int i;
init();//初始化数据
dijkstra();
//cout<