sort:
	proc options(main);
	dcl
		(input_file, output_file) file;
	open file (input_file) stream title ('b:x.lib');
	open file (output_file) stream output title ('b:y.lib');
	dcl
		b char (64) var,
		i fixed,
		switching bit,
		buff (250) char (64) var,
		bp fixed;
	on endfile(input_file)
		go to sort_buff;
	bp = 0;
		do while ('1'b);
		get file(input_file) edit(buff(bp+1))(a);
		bp = bp + 1;
		end;
	sort_buff:
	switching = '1'b;
		do while (switching);
		switching = '0'b;
			do i = 1 to bp - 1;
			if (buff(i) < buff(i + 1)) then
				do;
				switching = '1'b;
				b = buff(i);
				buff(i) = buff(i+1);
				buff(i+1) = b;
				end;
			end;
		end;
		do i = 1 to bp;
		put file(output_file) edit(buff(i),'')(a,skip,a);
		end;
	end sort;
