/
circle30bpl5/
circle30bpl5/lib/
circle30bpl5/lib/etc/
circle30bpl5/lib/misc/
circle30bpl5/lib/plrobjs/
circle30bpl5/lib/plrobjs/K-O/
circle30bpl5/lib/plrobjs/P-T/
circle30bpl5/lib/world/
circle30bpl5/lib/world/shp/
#include <stdio.h>
#include <stdlib.h>

main()
{
   char m[200][1024];
   char buf[1024];

   int i, curr, min_pos, list_top = 0;
   int whitespace = 1;

   while (gets(buf)) {
      if (*buf == '#') {
	 if (!whitespace) {
	    list_top++;
	    *m[list_top] = '\0';
	 }
	 whitespace = 1;
	 continue;
      }

      whitespace = 0;
      strcat(m[list_top], buf);
      strcat(m[list_top], "\n");
   }

   for (curr = 0; curr < list_top; curr++) {
      min_pos = curr;
      for (i = curr+1; i <= list_top; i++)
	 if (strcmp(m[i], m[min_pos]) < 0)
	    min_pos = i;
      if (curr != min_pos) {
	 strcpy(buf, m[curr]);
	 strcpy(m[curr], m[min_pos]);
	 strcpy(m[min_pos], buf);
      }
   }

   for (i = 0; i <= list_top; i++) {
      puts(m[i]);
      printf("\n");
   }
}