program adjust (input, output);

const
    MINLENGTH = 20;
    MAXLENGTH = 80;
    BLANK = ' ';

type
    LineType = array [1..MAXLENGTH] of char;

var
    line: LineType;
    actualLength, desiredLength: integer;

procedure GetDesired (var desiredLength: integer);
begin
    write ('How long do you want the line to be? ');
    readln (desiredLength);
    while not (desiredLength in [MINLENGTH..MAXLENGTH]) do begin
	writeln ('Sorry, that''s not a legal line length.');
	write ('Please type a number between ', MINLENGTH: 1,
	       ' and ', MAXLENGTH: 1, '.');
	write ('How long do you want the line to be? ');
	readln (desiredLength);
    end;
end;

procedure GetLine (var line: LineType; var length: integer);
var
    k: integer;
    ch: char;
begin
    length := 0;
    for k := 1 to MAXLENGTH do begin
	line [k] := BLANK;
    end;
    while not eoln do begin
	read (ch);
	length := length + 1;
	if length <= MAXLENGTH then begin
	    line [length] := ch;
	end;
    end;
    readln;
end;

procedure InsertBlanks (var line: LineType;
			actualLength, desiredLength: integer);
begin
end;

procedure PrintLine (line: LineType; length: integer);
var
    k: integer;
begin
    for k := 1 to length do begin
	write (line [k]);
    end;
    writeln;
end;

begin {main program}
    GetDesired (desiredLength);
    GetLine (line, actualLength);
    while actualLength > 0 do begin
	if actualLength < desiredLength then begin
	    InsertBlanks (line, actualLength, desiredLength);
	end;
	PrintLine (line, desiredLength);
	GetLine (line, actualLength);
    end;
end.
