#include #include #include #include #include #include #include #include #include #include using namespace std; #ifdef _WIN32 #include #endif int cntByte(unsigned char cChar) { int iByte; if ((cChar >= 0x00) && (cChar <= 0x7f)) { iByte = 1; } else if ((cChar >= 0xc2) && (cChar <= 0xdf)) { iByte = 2; } else if ((cChar >= 0xe0) && (cChar <= 0xef)) { iByte = 3; } else if ((cChar >= 0xf0) && (cChar <= 0xf7)) { iByte = 4; } else if ((cChar >= 0xf8) && (cChar <= 0xfb)) { iByte = 5; } else if ((cChar >= 0xfc) && (cChar <= 0xfd)) { iByte = 6; } else { iByte = 0; } return iByte; } int main() { #ifdef _WIN32 SetConsoleOutputCP(CP_UTF8); setvbuf(stdout, nullptr, _IOFBF, 1024); #endif int cnt = 0, max1 = 0, cbytes; string s, t, tmp = ""; cin >> s; t = "w"; vector ans; string::size_type pos = 0; while (s.begin() + pos <= s.end()){ cbytes = cntByte(s[pos]); if (s.substr(pos, cbytes) == t){ cnt++; } else { if (cnt > 0 && cnt >= max1) { if (cnt == max1 && tmp.size() > 0) ans.push_back(tmp); else if (cnt > max1 && tmp.size() > 0){ ans.clear(); ans.push_back(tmp); } if (tmp.size()) max1 = cnt; cnt = 0; tmp = ""; } else if (cnt > 0){ cnt = 0; tmp = ""; } tmp += s.substr(pos, cbytes); } pos += cbytes; } for (auto x : ans){ cout << x << endl;; } }