#include <bits/stdc++.h>
using namespace std;
const int N = 1e3 + 5, Mod = 1e9 + 7, Lg = 27, P = 727, Sq = 350;
const long long Inf = 3e18 + 10;
vector<pair<int, int> > Bc;
vector<int> Cmp, A[N];
int Mark[N], n;
void Dfs(int u, int par) {
  Mark[u] = 1;
  for (int i = 0; i < (int)A[u].size(); i++) {
    if (!Mark[A[u][i]]) {
      Dfs(A[u][i], u);
    } else if (A[u][i] ^ par && A[u][i] > u) {
      Bc.push_back(make_pair(u, A[u][i]));
    }
  }
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i < n; i++) {
    int x, y;
    scanf("%d%d", &x, &y);
    A[x].push_back(y), A[y].push_back(x);
  }
  for (int i = 1; i <= n; i++) {
    if (!Mark[i]) {
      Dfs(i, i);
      if (i > 1) {
        Cmp.push_back(i);
      }
    }
  }
  printf("%d\n", (int)Cmp.size());
  for (int i = 0; i < (int)Cmp.size(); i++) {
    printf("%d %d %d %d\n", Bc[i].first, Bc[i].second, 1, Cmp[i]);
  }
  return 0;
}
