// PascalABC.NET 3.2, сборка 1334 от 12.11.2016
begin
var a:=ReadlnString('->').ToWords;
a.Select((x,i)->(x,x.Length,i)).OrderByDescending(x->x[1]).
ThenBy(x->x[0]).Select(x->x[0]).Println
end.
Пример
-> Карл у Клары украл кораллы Клара у Карла украла кларнет
кларнет кораллы украла Карла Клара Клары украл Карл у у
// PascalABC.NET 3.2, сборка 1334 от 12.11.2016
begin
var s1:='abcdefghijklmnopqrstuvwxyz';
var s2:='defghijklmnopqrstuvwxyzabc';
var s:=ReadlnString('->');
var p:integer;
for var i:=1 to s.Length do begin
p:=pos(s[i],s1);
if p>0 then s[i]:=s2[p]
end;
Writeln(s)
end.
Пример
-> abracadabra
deudfdgdeud