#include using namespace std ; const int maxn = 1e5 +5 ; bool mark [maxn] ; vector g[maxn] ; vector v ; int s[maxn] ; void last(){ if (mark[v[1]] == true){ cout << v[0] +1 << " " << v[1] +1 ; exit(0) ; } else{ cout << v[1] +1 << " " << v[0] +1 ; exit(0) ; } } void dfs(int u){ mark[u] = true ; for (auto w : g[u]){ if (!mark[w]){ dfs(w) ; } } last() ; } void solve (int n){ for (int i = 0 ; i < n ; i++){ if (s[i]== n-2){ v.push_back(i) ; } } dfs(v[0]) ; } int main (){ int n , m , u , v; cin >> n ; m = (n * (n-1)) / 2 ; for (int i = 0 ; i < m -1 ; i++){ cin >> u >> v ; u-- ; v-- ; g[u].push_back(v) ; s[u]++; s[v]++ ; } solve (n) ; return 0 ; }