#include <iostream>
#include <vector>
#include <unordered_map>
using namespace std;
vector<int> parent;
vector<int> key_pos;
int find(int x) {
if (parent[x] != x) {
parent[x] = find(parent[x]);
}
return parent[x];
}
void unite(int x, int y) {
int fx = find(x);
int fy = find(y);
if (fx != fy) {
parent[fy] = fx;
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
}