#include #include #include #include #include bool compareLength(const std::string& s1, const std::string& s2) { return s1.length() < s2.length(); } int main() { std::vector v; std::string s; getline(std::cin,s); while(s.length()) { v.push_back(s); getline(std::cin,s); }; sort(v.begin(),v.end()); //sort(v.begin(),v.end(),compareLength); for(std::vector::const_iterator i = v.begin(); i != v.end() ; ++i) { std::cout << *i << '\n'; } //count char std::map m; for(std::vector::const_iterator i = v.begin(); i != v.end() ; ++i) { std::string s(*i); for(int j = 0 ; j < i->length() ; ++j) { char c = tolower(s[j]); m[c]++; } } for(std::map::const_iterator i = m.begin(); i != m.end() ; ++i) { std::cout << i->first << ": " << i->second << '\n'; } }