#include <bits/stdc++.h>
using namespace std;
const long long N = 1001;
const long long MX = -1e9 - 3;
const long long MN = 1e9 + 3;
long long a, b, c, d, n, x, mx = MX, mn = MN, cnt;
string s, str, s1;
bool bl;
vector<long long> v;
map<char, long long> mp;
pair<string, string> pr[N];
long long ar[N][N];
int main() {
  ios_base::sync_with_stdio(0);
  cin >> n;
  for (long long i = 0; i < n; i++) {
    cin >> s >> s1;
    for (long long j = 0; j < c; j++) {
      if (s == pr[j].second) {
        pr[j].second = s1;
        bl = true;
        break;
      }
    }
    if (bl == false) {
      pr[c] = {s, s1};
      c++;
    }
    bl = false;
  }
  cout << c << "\n";
  for (long long i = 0; i < c; i++) {
    cout << pr[i].first << " " << pr[i].second << "\n";
  }
}
