// PascalABC.NET 3.2, сборка 1482 от 12.06.2017
// Внимание! Если программа не работает, обновите версию!
begin
ReadlnString('Введите слова через пробел:').ToWords
.Select(x->(x,x.Length)).OrderBy(x->x[1]).ThenBy(x->x[0])
.Select(x->x[0]).Println
end.
Пример
Введите слова через пробел: Карл у Клары украл кораллы Клара у Карла украла кларнет
у у Карл Карла Клара Клары украл украла кларнет кораллы