factories.cpp:110:12: error: redefinition of 'std::mt19937_64 rng'
110 | mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
| ^~~
factories.cpp:11:12: note: 'std::mt19937_64 rng' previously declared here
11 | mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
| ^~~
factories.cpp:113:10: error: redefinition of 'const long long int N'
113 | const ll N = 5e5 + 5, lg = 20;
| ^
factories.cpp:14:10: note: 'const long long int N' previously defined here
14 | const ll N = 5e5 + 5, lg = 20;
| ^
factories.cpp:113:23: error: redefinition of 'const long long int lg'
113 | const ll N = 5e5 + 5, lg = 20;
| ^~
factories.cpp:14:23: note: 'const long long int lg' previously defined here
14 | const ll N = 5e5 + 5, lg = 20;
| ^~
factories.cpp:114:22: error: redefinition of 'std::vector<std::pair<long long int, long long int> > g [500005]'
114 | vector<pair<ll, ll>> g[N];
| ^
factories.cpp:15:22: note: 'std::vector<std::pair<long long int, long long int> > g [500005]' previously declared here
15 | vector<pair<ll, ll>> g[N];
| ^
factories.cpp:115:4: error: redefinition of 'long long int sub [500005]'
115 | ll sub[N], p[N], n, up[lg][N], depth[N], dis[N], best[N];
| ^~~
factories.cpp:16:4: note: 'long long int sub [500005]' previously declared here
16 | ll sub[N], p[N], n, up[lg][N], depth[N], dis[N], best[N];
| ^~~
factories.cpp:115:12: error: redefinition of 'long long int p [500005]'
115 | ll sub[N], p[N], n, up[lg][N], depth[N], dis[N], best[N];
| ^
factories.cpp:16:12: note: 'long long int p [500005]' previously declared here
16 | ll sub[N], p[N], n, up[lg][N], depth[N], dis[N], best[N];
| ^
factories.cpp:115:18: error: redefinition of 'long long int n'
115 | ll sub[N], p[N], n, up[lg][N], depth[N], dis[N], best[N];
| ^
factories.cpp:16:18: note: 'long long int n' previously declared here
16 | ll sub[N], p[N], n, up[lg][N], depth[N], dis[N], best[N];
| ^
factories.cpp:115:21: error: redefinition of 'long long int up [20][500005]'
115 | ll sub[N], p[N], n, up[lg][N], depth[N], dis[N], best[N];
| ^~
factories.cpp:16:21: note: 'long long int up [20][500005]' previously declared here
16 | ll sub[N], p[N], n, up[lg][N], depth[N], dis[N], best[N];
| ^~
factories.cpp:115:32: error: redefinition of 'long long int depth [500005]'
115 | ll sub[N], p[N], n, up[lg][N], depth[N], dis[N], best[N];
| ^~~~~
factories.cpp:16:32: note: 'long long int depth [500005]' previously declared here
16 | ll sub[N], p[N], n, up[lg][N], depth[N], dis[N], best[N];
| ^~~~~
factories.cpp:115:42: error: redefinition of 'long long int dis [500005]'
115 | ll sub[N], p[N], n, up[lg][N], depth[N], dis[N], best[N];
| ^~~
factories.cpp:16:42: note: 'long long int dis [500005]' previously declared here
16 | ll sub[N], p[N], n, up[lg][N], depth[N], dis[N], best[N];
| ^~~
factories.cpp:115:50: error: redefinition of 'long long int best [500005]'
115 | ll sub[N], p[N], n, up[lg][N], depth[N], dis[N], best[N];
| ^~~~
factories.cpp:16:50: note: 'long long int best [500005]' previously declared here
16 | ll sub[N], p[N], n, up[lg][N], depth[N], dis[N], best[N];
| ^~~~
factories.cpp:116:6: error: redefinition of 'bool used [500005]'
116 | bool used[N];
| ^~~~
factories.cpp:17:6: note: 'bool used [500005]' previously declared here
17 | bool used[N];
| ^~~~
factories.cpp:117:6: error: redefinition of 'void dfs(long long int, long long int)'
117 | void dfs(ll v, ll par = 0)
| ^~~
factories.cpp:18:6: note: 'void dfs(long long int, long long int)' previously defined here
18 | void dfs(ll v, ll par = 0)
| ^~~
factories.cpp:124:4: error: redefinition of 'long long int lca(long long int, long long int)'
124 | ll lca(ll a, ll b)
| ^~~
factories.cpp:25:4: note: 'long long int lca(long long int, long long int)' previously defined here
25 | ll lca(ll a, ll b)
| ^~~
factories.cpp:132:4: error: redefinition of 'long long int dist(long long int, long long int)'
132 | ll dist(ll a, ll b)
| ^~~~
factories.cpp:33:4: note: 'long long int dist(long long int, long long int)' previously defined here
33 | ll dist(ll a, ll b)
| ^~~~
factories.cpp:136:6: error: redefinition of 'void init(long long int, long long int)'
136 | void init(ll v, ll par = -1)
| ^~~~
factories.cpp:37:6: note: 'void init(long long int, long long int)' previously defined here
37 | void init(ll v, ll par = -1)
| ^~~~
factories.cpp:142:4: error: redefinition of 'long long int findcentroid(long long int, long long int, long long int)'
142 | ll findcentroid(ll v, ll par = -1, ll sz = 0)
| ^~~~~~~~~~~~
factories.cpp:43:4: note: 'long long int findcentroid(long long int, long long int, long long int)' previously defined here
43 | ll findcentroid(ll v, ll par = -1, ll sz = 0)
| ^~~~~~~~~~~~
factories.cpp:148:4: error: redefinition of 'long long int decompose(long long int)'
148 | ll decompose(ll v)
| ^~~~~~~~~
factories.cpp:49:4: note: 'long long int decompose(long long int)' previously defined here
49 | ll decompose(ll v)
| ^~~~~~~~~
factories.cpp:158:6: error: redefinition of 'void Init(int, int*, int*, int*)'
158 | void Init(int N, int A[], int B[], int D[])
| ^~~~
factories.cpp:59:6: note: 'void Init(int, int*, int*, int*)' previously defined here
59 | void Init(int N, int A[], int B[], int D[])
| ^~~~
factories.cpp:167:11: error: redefinition of 'long long int Query(int, int*, int, int*)'
167 | long long Query(int S, int X[], int T, int Y[])
| ^~~~~
factories.cpp:68:11: note: 'long long int Query(int, int*, int, int*)' previously defined here
68 | long long Query(int S, int X[], int T, int Y[])
| ^~~~~