#include <bits/stdc++.h>
int check(int a);
char a[1004][23], b[1004][23], temp1[23], temp2[23];
int main() {
  int n, i, j, c;
  char temp;
  scanf("%d", &n);
  j = -1;
  for (i = 0; i < n; i++) {
    scanf("%s %s", temp1, temp2);
    c = check(j);
    if (c == -1) {
      j++;
      strcpy(b[j], temp2);
      strcpy(a[j], temp1);
    } else {
      strcpy(b[c], temp2);
    }
  }
  printf("%d\n", j + 1);
  for (i = 0; i <= j; i++) {
    printf("%s %s\n", a[i], b[i]);
  }
  return 0;
}
int check(int j) {
  int i;
  for (i = 0; i <= j; i++) {
    if (strcmp(temp1, b[i]) == 0) return i;
  }
  return -1;
}
