#include #include #include #include #include using namespace std; const int NMAX = 150000; char s[NMAX+2]; int ad[NMAX+2]; int viz[NMAX+2]; int lgmax= 1; int T, N; vector g[NMAX+2]; vector v,dub; inline void init() { lgmax= 1; for( int i= 1; i<=NMAX; ++i ) { g[i].clear(); viz[i]= 0; } v.clear(); } void dfs(int nod){ int lg= (int)g[nod].size(); v.push_back( ad[ nod ] ); dub= v; reverse( dub.begin(), dub.end() ); if( dub == v ) { lgmax= max( lgmax, (int)dub.size() ); } for(int i= 0; i> T; for( int t= 0; t> N; cin >> s; for( int i= 0; i> a >> b; g[a].push_back( b ); g[b].push_back( a ); } Rezolva(); } return 0; }