int head,e[N],ne[N],idx;
//head头节点下标
//e[i]存第i个节点的值
//ne[i]存第i个节点链接的节点的下标
//idx存储当前用到的某个节点
void init(){//初始化
head=-1;
idx=0;
}
void add_to_head(int x){//将x插到头结点
e[idx]=x;
ne[idx]=head;
head=idx;
idx++;
}
void add(int k,int x){//将x插到下标是k的节点后面
e[idx]=x;
ne[idx]=ne[k];
ne[k]=idx;
idx++;
}
void remove(int k){//将下标是k的节点后面的点删掉
ne[k]=ne[ne[k]];
}