#include <iostream.h>
#include <sys/time.h>
#include <stdlib.h>
#include <list>  // STL includes should be last of <> includes
#include <algorithm>
#include <function.h>

typedef list<int> Cont;
typedef Cont::iterator itor;

void seed()
{
  timeval tp;
  gettimeofday(&tp, NULL );
  srand(tp.tv_sec);
}

int main(int argc, char* argv[])
{
  int N;
  Cont values;
  void INSERT(Cont& c, int n);

  if (argc == 2) N = atoi(argv[1]);
  else exit(1);

  seed();

  for (int i=0; i<N; i++)
    INSERT(values, rand());

  //  for (itor i=values.begin(); i!=values.end(); i++)
  //cout << *i << " ";

  cout << endl;
  return 0;
}

void INSERT(Cont& c, int n)
{
  itor i;

  i = find_if(c.begin(), c.end(), bind2nd(greater<int>(), n));
  //for (i = c.begin(); i!=c.end() && *i < n; i++);
  c.insert(i,n);
}

  

  

