#include
#include
#include
using namespace std;
struct node
{
int idx;
int distance;
int snow;
node(){}
node(int _idx, int _distance, int _snow)
{
idx=_idx;
distance=_distance;
snow=_snow;
}
bool operator < (const node &tmp) const{
return distance > tmp.distance;
}
};
int main()
{
int n,m;
cin>>n>>m;
vectorv[n+1];
for(int i=0;i>a>>b>>c>>d;
v[a].push_back(node(b,c,d));
v[b].push_back(node(a,c,d));
}
priority_queuepq;
pq.push(node(1,0,1));
bool visited[n+1][2];
for(int i=0;i