#include <bits/stdc++.h>
using namespace std;
template <class T>
inline void chkmin(T& x, T y) {
  if (y < x) x = y;
}
template <class T>
inline void chkmax(T& x, T y) {
  if (x < y) x = y;
}
bool vis[1010], c[1010];
int b[1010];
vector<int> adj[1010], id[1010];
pair<int, int> e[1010];
void dfs(int u) {
  int i, v;
  vis[u] = 1;
  for (i = 0; i < adj[u].size(); i++) {
    v = adj[u][i];
    if (vis[v]) continue;
    c[id[u][i]] = 1;
    dfs(v);
  }
}
int main() {
  int n, i, u, v, m = 0;
  scanf("%d", &n);
  for (i = 1; i < n; i++) {
    scanf("%d%d", &u, &v);
    adj[u].push_back(v);
    adj[v].push_back(u);
    id[u].push_back(i);
    id[v].push_back(i);
    e[i] = pair<int, int>(u, v);
  }
  for (i = 1; i <= n; i++)
    if (vis[i] == 0) {
      b[m++] = i;
      dfs(i);
    }
  printf("%d\n", m - 1);
  for (i = 1, m = 0; i < n; i++)
    if (c[i] == 0)
      printf("%d %d %d %d\n", e[i].first, e[i].second, b[m], b[m++]);
}
