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

Задача 22 Урок 13.1:

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

var a,b,n,m,c,i: integer;
begin
  writeln('vvedite chislo N u M');
  readln(n);
  readln(m);
  a:=0;
  b:=0;
  c:=1;                       //с-счетчик чисел которые выводятся
  m:=m-1;
  repeat
  begin
    if (a<=b) then           //a-кол-во выведенных символов в строке
    begin                    //b-кол-во символов которое нужно вывести в строке
      write (c,' ');
      a:=a+1;
      c:=c+1;
    end
    else
    begin
      writeln();
      if (b=m) then         //на уменьшение строки
        i:=1
      else if (b=0) then    //на увеличение строки
        i:=0;
      if (b<m) and (i=0) then
      begin
        b:=b+1;
        a:=0;
      end
      else
      begin
        b:=b-1;
        a:=0;
      end;
    end;
  end;
  until c>=n;
  readln();
end.   

Вывод консоли:

vvedite chislo:
vvedite chislo N u M
25
3
1
2 3
4 5 6
7 8
9
10 11
12 13 14
15 16
17
18 19
20 21 22
23 24