if subset is encountered for the first time If we use set < string > , we can directly insert
if ( find ( list . begin ( ) , list . end ( ) , subset ) == list . end ( ) ) list . push_back ( subset ) ; }