Задача 20 Урок 13.1

Пользователь передает целые положительные число N и M, выведете на экран последовательность от 1 до N, так чтобы ширина "ёлочки" увеличивалась до M чисел, то уменьшалась до 1.

var n,i,j,m,a:integer;
begin
  writeln('Vvedite celoe chislo: ');
  readln(n);
  writeln('Vvedite shirinu elochki: ');
  readln(m);
  j:=1;
  a:=1;
  while a<n do
  begin
    if(j<m) then for i:=1 to j do
      if(a<=n) then
        begin
          write(a,' ');
          a:=a+1;
        end;
    if(j>=m) then
      repeat
       for i:=j downto 1 do
         if(a<=n) then
         begin
           write(a,' ');
           a:=a+1;
         end;
        j:=j-1;
        if(j>0) then writeln();
      until (j=0);
    if(j=0) then j:=j+1;
    j:=j+1;
    writeln();
  end;


end.    
Консоль:
Vvedite celoe chislo: 
21

Vvedite shirinu elochki: 
3

1 
2 3 
4 5 6 
7 8 
9 
10 11 
12 13 14 
15 16 
17 
18 19 
20 21