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

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

Пользователь передает целое положительное число N, выведете на экран последовательность от 1 до N, так чтобы ширина "ёлочки" росла волнами. Например, для N=49 получим:
123--сначала до двух456789--потом до трёх101112--возвращаемся к одному131415161718192021--тут уже четыре2223242526--снова убывает 2728293031323334353637383940414243444546474849

var N, c1, c2, c3, i: integer;
  w: boolean;
begin
  writeln('Введите целое положительное число N:');
  readln(N);
  i := 1;
  c1 := 1;
  c2 := 1;
  c3 := 2;
  w := true;
  while i <= N do
   begin
    write(i, ' ');
    if c1 > c2 then c2 += 1
    else
     begin
      writeln();
      c2 := 1;
      if w then c1 += 1
      else c1 -= 1;
     end;
    if c1 = c3 then w := false;
    if c1 = 1 then
     begin
      w := true;
      c3 += 1;
     end;
    i += 1;
   end;
  readln();
end.