struct edge{
int to,nxt;
}e[maxn<<1];
void add_edge(int u,int v){
e[cnt].to=v;
e[cnt].nxt=head[u];
head[u]=cnt++;
}
struct edge{
int to,nxt;
}e[maxn<<1];
void add_edge(int u,int v){
e[cnt].to=v;
e[cnt].nxt=head[u];
head[u]=cnt++;
}