#include<cstdio>
#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<queue>
using namespace std;
#define N 100010
int n,r,eid,head[N];
struct Edge{
int to,w,next;
}e[N<<1];
inline void adde(int u,int v,in
#include<cstdio>
#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<queue>
using namespace std;
#define N 100010
int n,r,eid,head[N];
struct Edge{
int to,w,next;
}e[N<<1];
inline void adde(int u,int v,in