#include #include #include void solution(); int main() { #define FNAME "password" freopen(FNAME ".in", "r", stdin); freopen(FNAME ".out", "w", stdout); #undef FNAME solution(); return 0; } inline void solution() { const int len = 100000; char s[len]; int n; scanf("%d", &n); scanf("%s", s); std::vector result; std::string str(&s[0], 1); for (int i = 1; i < n; i++) { if (s[i - 1] == s[i]) { str += s[i]; } else { result.push_back(str); str.clear(); str.assign(&s[i], 1); } } result.push_back(str); int max = 1; const size_t size = result.size(); for (int i = 0; i < size; i++) { if (result[i].size() > max) { max = result[i].size(); } } int count = 0; for (int i = 0; i < size; i++) { if (result[i].size() == max) { count++; } } printf("%d\n", count); for (int i = 0; i < size; i++) { if (result[i].size() == max) { printf("%s\n", result[i].c_str()); } } }