sort before inserting the string into the multimap?
void fill_mmap( std::multimap< std::string, int >& mmap,
std::ifstream& file )
{
std::string line ;
for( int line_num = 1 ; std::getline( file, line ) ; ++line_num )
{
std::sort( line.begin(), line.end() ) ;
mmap.insert( std::make_pair( line, line_num ) ) ;
}
}