#include "game.h"
#include<bits/stdc++.h>
using namespace std;
int a[1505][1505];
int ok[200005]={};
int sz[200005];
void build(int n, int m){
for(int i = 0; i<=n; i++) ok[i]= i;
for(int i = 0; i<=m; i++) sz[i] = 1;
}
int par(int v){
if(ok[v]==v) return v;
return ok[v] = par(ok[v]);
}
void join(int u, int v){
u = par(u);
v = par(v);
int sz1 = sz[u], sz2 = sz[v];
if(sz1<sz2){
swap(u, v);
}
ok[v] = u;
sz[u]+=sz[v];
}
void initialize(int n) {
build(n, n);
}
int hasEdge(int u, int v) {
u = par(u);
v = par(v);
if(v<u) swap(u, v);
if(a[u][v]==0) a[u][v] = sz[u]*sz[v];
if(a[u][v]==1){
join(u, v);
for(int i = 0; i<1500; i++){
int j = par(i);
if(j!=u) {
a[u][j] = sz[u]*sz[j];
a[j][u] = sz[u]*sz[j];
}
}
return 1;
}
a[u][v]--;
return 0;
}