Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. сначала вычисляется длина исходной цепочки символов; если она нечётна, то дублируется средний символ цепочки символов, а если четна, то в начало цепочки добавляется буква с. в полученной цепочке символов каждая буква заменяется буквой, следующей за ней в алфавите (а — на б, б — на в и т. д., а я — на а). получившаяся таким образом цепочка является результатом работы алгоритма. например, если исходной была цепочка кот, то результатом работы алгоритма будет цепочка лппу, а если исходной была цепочка ваня, то результатом работы алгоритма будет цепочка тгбоа. дана цепочка символов ком. какая цепочка символов получится, если к данной цепочке применить описанный алгоритм дважды (т. е. применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм)? алфавит: .
ЛППН -> СЛППН -> ТМРРО
Const abc = '';
Var s : String;
Function Alg(ss : String) : String;
Var i : Integer;
Begin
If Odd(Length(ss)) then Insert(ss[(Length(ss) div 2)+1],ss,(Length(ss) div 2)+1) else ss:='С'+ss;
For i:=1 to Length(ss) do If Pos(ss[i],abc)>0 then ss[i]:=abc[Pos(ss[i],abc)+1];
Alg:=ss;
end;
Begin
{ Readln(s);
Writeln(Alg(s)); }
Writeln(Alg(Alg('КОМ')));
end.