#include "game.h"
#include <bits/stdc++.h>
using namespace std;
const int nx = 1505;
int pa[nx], sz[nx];
int rem[nx];
int fp(int n) {
if (pa[n] == n) return n;
return pa[n] = fp(pa[n]);
}
bool sameSet(int u, int v) {
if (fp(u) == fp(v)) return 1;
return 0;
}
void unite(int u, int v) {
int pu = fp(u), pv = fp(v);
if (pu == pv) return;
pa[pu] = pv;
sz[pv] += sz[pu];
sz[pu] = 0;
}
void initialize(int n) {
for (int i = 0; i < n; i++) pa[i] = i, sz[i] = 1;
for (int i = 0; i + 1 < n; i += 2) unite(i, i + 1);
for (int i = 0; i < nx; i++) {
rem[fp(i)] = sz[fp(i)] * (n - sz[fp(i)]);
}
}
int hasEdge(int u, int v) {
int pu = fp(u), pv = fp(v);
if (pu != pv) {
rem[pu]--;
rem[pv]--;
if (rem[pu] == 0) return 1;
else return 0;
}
return 1;
}