func_code_string: #include <bits/stdc++.h>   using namespace std;   const int N = 110;   int n;   char s[N][30];   char ss[30];   int p;   int len[N];   int in[30];   int nxt[30];   int bf[30][30], ind[30];   void go(int i) {     ss[p++] = char(i +  a );     if (nxt[i] >= 0) go(nxt[i]);   }   int main() {     scanf( %d , &n);     memset(nxt, -1, sizeof(nxt));     for (int i = 0; i < n; ++i) {       scanf( %s , s[i]);       len[i] = strlen(s[i]);     }     for (int i = 0; i < n; ++i) {       for (int j = 0; j < len[i]; ++j) {         in[s[i][j] -  a ] = 1;         for (int k = j + 1; k < len[i]; ++k) {           bf[s[i][j] -  a ][s[i][k] -  a ] = 1;         }       }       for (int j = 0; j < len[i] - 1; ++j) {         nxt[s[i][j] -  a ] = s[i][j + 1] -  a ;       }     }     for (int i = 0; i < 26; ++i) {       for (int j = 0; j < 26; ++j) {         if (bf[j][i]) {           ++ind[i];         }       }     }     for (int i = 0; i < 26; ++i) {       if (!ind[i] && in[i]) {         go(i);       }     }     puts(ss);     return 0;   }   