#include using namespace std; long long x[1005]; long long y[1005]; long long r[1005]; vector v[1005]; int bio[1005]; int cikl; 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; } void rek(int tren, int pr) { bio[tren] = 1; for (int i = 0; i < v[tren].size(); i++) { if (v[tren][i] != pr) { if (bio[v[tren][i]] == 1) cikl = 1; else rek(v[tren][i], tren); } } } 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); } } } for (int i = 0; i < n; i++) { if (bio[i] == 0) { cikl = 0; rek(i, -1); if (cikl == 0) { cout << "YES"; return 0; } } } cout << "NO"; return 0; }