#include using namespace std; #define NDEBUG void dfs(const vector> &G, int v, vector &visited) { visited[v] = true; string str; for (int u : G[v]) { if (!visited[u]) { cout << "("; dfs(G, u, visited); cout << "methyl)"; } } } int main() { #ifndef NDEBUG clock_t clockt = clock(); #endif int n; #ifdef NDEBUG cin >> n; #else n = 20000; #endif vector> C(n); for (int i = 0; i < n; i++) { #ifdef NDEBUG for (int j = 0; j < 4; j++) { string s; cin >> s; if (s != "H") { C[i].push_back(stoi(s) - 1); } } #else if (i > 0) C[i].push_back(i - 1); if (i < n - 1) C[i].push_back(i + 1); #endif } vector visited(n, false); dfs(C, 0, visited); cout << "methane" << endl; #ifndef NDEBUG cerr << "took " << (double) (clock() - clockt) / CLOCKS_PER_SEC << " sec." << endl; #endif return 0; }