#include <queue>  
#include <cstring>  
#include <iostream>  
using namespace std;  
 
class mystring : public string {  
 public:  
  bool operator<(const string &right) const {  
    return length() <  right.length();  
  }  
};  
 
int main(void) {  
 
  priority_queue<string, deque<string>, less<string> > s;  
 
  s.push( "aa" );  s.push( "bb" );  s.push( "cc" );  
  while( ! s.empty() ){  
    cout << s.top() << ' ';  
    s.pop();  
  }  
  cout << endl;  
  return 0;  
}