#include <bits/stdc++.h>
using namespace std;
long n;
map<string, string> m;
string od, nw;
int main() {
  cin >> n;
  while (n--) {
    cin >> od >> nw;
    if (m[od] == "")
      m[nw] = od;
    else
      m[nw] = m[od];
    m.erase(od);
  }
  cout << m.size() << endl;
  for (auto i : m) {
    cout << i.second << " " << i.first << endl;
  }
}
