#include using namespace std; int main(){ vector edge[26]={}; int deps[26]={}; int nc; cin>>nc; while (nc--){ char a,b,c; cin>>a>>c>>b; a-='a'; assert(0<=a and a<26); b-='a'; assert(0<=b and b<26); assert(c=='<' or c=='>'); if (c=='>') swap(a,b); edge[a].push_back(b); ++deps[b]; } string s; cin>>s; int have[26]={}; for (char c: s) have[c-'a']++; vector todo; for (int i=0; i<26; i++) if (not deps[i]) todo.push_back(i); string t; for (int i=0; i