program sujet8;
uses wincrt;
var ch:string;
p,q:integer;
function verif(ch:string):boolean;
var i:integer;
test:boolean;
begin i:=0;
repeat i:=i+1;
if ch[i] in ['A'..'Z'] then test:=true else test:=false;
until (test=false ) or (i=length(ch));
verif:=test;
end;
procedure saisie(var ch:string;var p,q:integer);
begin repeat
write('Donner une chaine ');
readln(ch);
until (verif(ch)) and(ch<>'') ; end;
function occurance(c:char;ch:string):integer;
var
i,n:integer;
begin n:=0;
for i:=1 to length(ch) do if ch[i]=c then n:=n+1;
occurance:=n;
end;
function code(ch:string):string;
var
i,j,n,k:integer;
ch1:string;
begin ch1:='';
for i:= 1 to length(ch) do begin
n:=occurance(ch[i],ch);
if n mod 2=0 then k:=n div 2 else k:=n *2;
if (ord(ch[i])+K)>=90 then ch1:=ch1+chr(ord(ch[i])+k-26) else
ch1:=ch1+chr(ord(ch[i])+k);
end;
code:=ch1;
end;
begin
saisie(ch,p,q);
writeln(code(ch));
end.