#include #include #include using namespace std; const int MAX_N = 200000; int N; string tmp; int C; int edges[MAX_N][4]; bool used[MAX_N]; string iupac(int); int main() { cin >> N; for (int i = 0; i < N; i++) { for (int j = 0; j < 4; j++) { cin >> tmp; if (tmp != "H") { C = stoi(tmp); edges[i][j] = C - 1; } else edges[i][j] = -1; } } cout << iupac(0) << endl; return 0; } string iupac(int r) { used[r] = true; string ans; for (int i = 0; i < 4; i++) { if (edges[r][i] >= 0 && !used[edges[r][i]]) { string tmp = iupac(edges[r][i]); ans += "(" + tmp.substr(0, tmp.size() - 3) + "yl)"; } } ans += "methane"; return ans; }