#include<stdio.h>
# define peak 510
typedef struct{
int kilometer;
int cost;
}graph;
int visited[peak];
graph G[peak][peak];
int node ,edges ,begin ,end ;
void creatgraph()
{
scanf("%d %d %d %d",&node,&edges,&begin,&end);
for(int i = 0;i<node;i++)
{
visited[i] = 0;
}
visited[0] = 1;
for(int i = 0;i<node;i++)
{
for(int j= 0;j<node;j++)
{
if(i == j)
{
G[i][j].cost = 0;
G[i][j].kilometer = 0;
}
else
{
G[i][j].cost = 65535;
G[i][j].kilometer = 65535;
}
}
}
int row ,pow, kilometer1, cost1;
for(int i = 0;i<edges;i++)
{
scanf("%d %d %d %d",&row,&pow,&kilometer1,&cost1);
G[row][pow].kilometer = G[