#include <iostream>
#include <map>
#include <string>
#include <sstream>
int main()
{
std::string inputString;
std::cout << "Enter the string = ";
std::getline(std::cin, inputString);
std::map<std::string, int> Map; // word, no. of times
size_t wordCount = 0;
size_t letterCount = 0;
std::stringstream sstr(inputString);
std::string word;
while (std::getline(sstr, word, ' '))
{
Map[word]++;
wordCount++;
letterCount += word.size();
}
std::cout << "Total Words: " << wordCount << "\n\n";
std::cout << "Total letters: " << letterCount << "\n\n";
std::cout << "Each words count\n\n" ;
for(const auto& it: Map)
std::cout << it.first << " " << it.second << " times\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c3N0cmVhbT4KCiBpbnQgbWFpbigpCnsKICAgc3RkOjpzdHJpbmcgaW5wdXRTdHJpbmc7CiAgIHN0ZDo6Y291dCA8PCAiRW50ZXIgdGhlIHN0cmluZyA9ICI7CiAgIHN0ZDo6Z2V0bGluZShzdGQ6OmNpbiwgaW5wdXRTdHJpbmcpOwoKICAgc3RkOjptYXA8c3RkOjpzdHJpbmcsIGludD4gTWFwOyAvLyB3b3JkLCBuby4gb2YgdGltZXMKICAgc2l6ZV90IHdvcmRDb3VudCA9IDA7CiAgIHNpemVfdCBsZXR0ZXJDb3VudCA9IDA7CgogICBzdGQ6OnN0cmluZ3N0cmVhbSBzc3RyKGlucHV0U3RyaW5nKTsKICAgc3RkOjpzdHJpbmcgd29yZDsKCiAgIHdoaWxlIChzdGQ6OmdldGxpbmUoc3N0ciwgd29yZCwgJyAnKSkKICAgewogICAgICAgTWFwW3dvcmRdKys7CiAgICAgICB3b3JkQ291bnQrKzsKICAgICAgIGxldHRlckNvdW50ICs9IHdvcmQuc2l6ZSgpOwogICB9CgogICBzdGQ6OmNvdXQgPDwgIlRvdGFsIFdvcmRzOiAiIDw8IHdvcmRDb3VudCA8PCAiXG5cbiI7CiAgIHN0ZDo6Y291dCA8PCAiVG90YWwgbGV0dGVyczogIiA8PCBsZXR0ZXJDb3VudCA8PCAiXG5cbiI7CiAgIHN0ZDo6Y291dCA8PCAiRWFjaCB3b3JkcyBjb3VudFxuXG4iICA7CgogICBmb3IoY29uc3QgYXV0byYgaXQ6IE1hcCkKICAgIHN0ZDo6Y291dCA8PCBpdC5maXJzdCA8PCAiICIgPDwgaXQuc2Vjb25kIDw8ICIgdGltZXNcbiI7CiAgIHJldHVybiAwOwp9Cg==