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

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

Пользователь передает целые положительные число N и M, выведете на экран последовательность от 1 до N, так чтобы ширина "ёлочки" увеличивалась до M чисел, то уменьшалась до 1. Например, для M=3 и N=19 получим:
1
2 3
4 5 6--максимум три числа
7 8
9
10 11
12 13 14--снова три числа
15 16
17
18 19.....

var
  n, m, i, j, count: integer;
  flag: boolean;
begin
  n:= 19;//число введенной пользователем
  m:= 3;//max кол-во символов в строке
  j:= 0;//количество символов в строке
  count:= 1;// счетчик
  i:= 1;
  while (i <= n) do
     begin
       if (count = 1) then
         flag:= true;
       write(i, ' ');
       i:= i + 1;
       j:= j + 1;
       if (j = count) then
         begin
            writeln();
            if (count < m) and flag then
               count:= count + 1
            else
              begin
                count:= count - 1;
                flag:= false;
              end;
            j:= 0;
         end;
     end;
  readln();
end.