#include <bits/stdc++.h>
using namespace std;
typedef pair<long long,long long> ii;
long long n,k,i,w,res;
long long m;
map <long long,long long> num,f,c;
long long...
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 500010;
ll maxn,minn,sum;
int n,p,q,r,tot=1,x,y,z;
ll ret=0;
vector<int> c;
void update(int a,int...
#include<cstdio>
#include<algorithm>
#include<queue>
using namespace std;
const int N=5010;
int n,m,c,d,fa;
int w,head,next;
void add(int f,int t){
static int cnt=0;
w=t;
next=head;
head=cnt;
}
int f,g,size;
//f,g表示在子树i中买j件物品的最小代价
//其中g要求购买从根到i的物品
void dfs(int x){
for (int i=1;i<=n;i++)...