#include using namespace std; typedef long long ll; typedef pair pii; #define fi first #define se second #define mp make_pair #define fastIO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); const int N = 1050; vector T[N]; bool vis[N]; int dep[N]; int link[N]; int c; bool good=false; void dfs(int u, int pa){ vis[u]=true; c++; if(T[u].size() == 1) good = true; for(auto x : T[u]){ if(!vis[x]){ dep[x]=dep[u]+1; dfs(x,u); } } } int main(){ fastIO; int n; cin >> n; vector x(n), y(n), r(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((x[i]-x[j]) * 1ll *(x[i]-x[j]) + (y[i]-y[j]) * 1ll * (y[i]-y[j]) == (r[i] + r[j]) * 1ll * (r[i] + r[j])){ T[i].push_back(j); T[j].push_back(i); } } } for(int i = 0 ; i < n; i ++ ){ if(!vis[i]){ c=0; good=false; dfs(i,-1); if(good && c != 2){ cout << "YES\n"; return 0; } } } cout << "NO\n"; return 0; }