#include <bits/stdc++.h>   using namespace std;   void init_code() {     ios::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);   }   set<pair<int, int>> es;   map<int, list<int>> m;   void add(int a, int b) {     m[a].push_back(b);     m[b].push_back(a);   }   int v[1001];   void dfs(int node) {     v[node] = 1;     for (int i : m[node]) {       if (v[i] == 0) {         es.erase({node, i});         es.erase({i, node});         dfs(i);       }     }   }   int main() {     init_code();     int n;     cin >> n;     for (int i = 0; i < n - 1; i++) {       int a, b;       cin >> a >> b;       add(a, b);       es.insert({a, b});     }     vector<int> ans;     for (int i = 1; i <= n; i++) {       if (v[i] == 0) {         ans.push_back(i);         dfs(i);       }     }     cout << es.size() << endl;     vector<pair<int, int>> ans2, ans3;     for (auto i : es) {       ans2.push_back(i);     }     for (int i = 1; i < ans.size(); i++) {       ans3.push_back({ans[i], ans[i - 1]});     }     for (int i = 0; i < ans2.size(); i++) {       cout << ans2[i].first <<     << ans2[i].second <<     << ans3[i].first            <<     << ans3[i].second << endl;     }   }   