// PascalABC.NET 3.4.2, сборка 1790 от 15.09.2018
// Внимание! Если программа не работает, обновите версию!
begin
var L := new List;
L.AddRange(Seq(2, 100, 5, 99, 17));
L.Println;
var A := ReadInteger('A=');
var s:=L.ToArray.Select((v, i)-> (v, i)); // в памяти не хранится!
// Ищем 2- максимальный элемент. Сортируем по убыванию, берем 2-й.
var i := s.OrderByDescending(t -> t[0]).Skip(1).First[1];
L.Insert(i,A); // вставка
L.Println;
L.Remove(L.Max); // удаление
L.Println;
L := L.Sorted.ToList; // сортировка
L.Println
end.