#include <string>
#include <fstream>
#include <iterator>
#include <sstream>
#include <map>
#include <iostream>
#include <algorithm>
using namespace std;
map < string, int >freq;
void
record (const string & s)
{
freq[s]++;
}
void
print (const pair < const string, int >&r)
{
cout << r.first << ' ' << r.second << '\n';
}
int
main (int argc, char **argv)
{
string infile;
if (argc == 2)
{
infile = argv[1];
}
else
{
cout << "need filename" << endl;
return 1;
}
ifstream is (infile.c_str ());
istream_iterator < string > ii (is);
istream_iterator < string > eos;
for_each (ii, eos, record);
for_each (freq.begin (), freq.end (), print);
}