#include using namespace std; using ll = long long; using ld = long double; vector visited; vector color; vector> g; ll dfs(ll v1){ visited[v1] = 1; color[v1] = 1; for(auto v2:g[v1]){ if (color[v2] != 0){ color[v1] = -color[v2]; } } for(auto v2:g[v1]){ if (color[v2] == color[v1]){ return __LONG_LONG_MAX__; } } ll sum = color[v1]; for(auto v2:g[v1]){ if (!visited[v2]){ ll res = dfs(v2); if (res == __LONG_LONG_MAX__){ return __LONG_LONG_MAX__; } sum += res; } } return sum; } int main(){ ll n; cin>>n; vector x(n); vector y(n); vector r(n); for(int i=0;i> x[i] >>y[i]>>r[i]; } visited = vector(n,0); color = vector(n,0); g = vector>(n); for(int v1=0;v1