#include #include #include #include #include #include #include #include #include #include #include #include #define X first #define Y second #define mp make_pair #define pb push_back typedef long long ll; using namespace std; const int MAXN = 500100; long long pop[MAXN]; int pr[MAXN]; int n, m, q; bool active[MAXN]; int fr[MAXN], to[MAXN]; long long ans[MAXN]; char qur[MAXN][3]; int A[MAXN], B[MAXN], was[MAXN]; set, greater< pair > >now; int dsuFind(int x) { if (pr[x] == x) { return x; } int res = dsuFind(pr[x]); pr[x] = res; return res; } void unite(int x, int y) { //cerr< 0; i--) { /*cerr<<"---"<