func_code_string: #include <bits/stdc++.h>   using namespace std;   inline int read() {     int x = 0;     char ch = getchar();     bool positive = 1;     for (; !isdigit(ch); ch = getchar())       if (ch ==  - ) positive = 0;     for (; isdigit(ch); ch = getchar()) x = x * 10 + ch -  0 ;     return positive ? x : -x;   }   inline void write(int a) {     if (a >= 10) write(a / 10);     putchar( 0  + a % 10);   }   inline void writeln(int a) {     write(a);     puts(  );   }   int n, ans;   struct data {     int bo;     string first;   };   map<string, data> M;   const int N = 1005;   string a[N], b[N], t;   map<string, bool> MM;   int main() {     n = read();     for (int i = 1; i <= n; i++) {       cin >> a[i] >> b[i];       if (M[a[i]].bo)         t = M[a[i]].first;       else         t = a[i];       M[a[i]] = (data){0, a[i]};       M[b[i]] = (data){1, t};     }     for (int i = 1; i <= n; i++) {       if (MM[b[i]])         continue;       else         MM[b[i]] = 1;       if (M[b[i]].bo) ans++;     }     MM.clear();     writeln(ans);     for (int i = 1; i <= n; i++)       if (M[b[i]].bo && MM[b[i]] == 0) {         MM[b[i]] = 1;         cout << M[b[i]].first <<     << b[i] << endl;       }   }   