#include using namespace std; typedef pair pii; const int N = 1005; long long x[1005]; long long y[1005]; long long r[1005]; vector v[1005]; bool bio[N], f[N]; bool t(int a, int b) { if ((x[a] - x[b]) * (x[a] - x[b]) + (y[a] - y[b]) * (y[a] - y[b]) == (r[a] + r[b]) * (r[a] + r[b])) return true; return false; } pii dfs(int node, int sgn = 1) { bio[node] = 1; f[node] = sgn == 1; int sum = sgn; bool ok = 1; for (int x : v[node]) { if (!bio[x]) { pii p = dfs(x, -sgn); sum += p.first; ok &= p.second; } else { ok &= f[x] ^ f[node]; } } return {sum, ok}; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); int n; cin >> n; for (int i = 0; i < n; i++) { cin >> x[i] >> y[i] >> r[i]; } for (int i = 0; i < n; i++) { for (int j = i+1; j < n; j++) { if (t(i, j)) { v[i].push_back(j); v[j].push_back(i); } } } bool ans = 0; for (int i = 0; i < n; ++i) { if (bio[i]) continue; pii p = dfs(i); if (p.first != 0 && p.second) ans = 1; } if (ans) cout << "YES\n"; else cout << "NO\n"; return 0; }