program CaesarCipher(output);
 
type
  Positive = 1..MaxInt;
 
var
  Str1: packed array [1..3] of Char;
  Str2: packed array [1..12] of Char;
 
procedure CCStr(Str: packed array [M..N: Positive] of Char);
var
  i: Integer;
begin
  for i := M to N do
    Write(Chr(Ord(Str[i]) - 1));
  Writeln;  
end;
 
begin
  Str1 := 'IBM';
  CCStr(Str1);
  Str2 := 'Hello,World.';
  CCStr(Str2);
end.
 
				cHJvZ3JhbSBDYWVzYXJDaXBoZXIob3V0cHV0KTsKCnR5cGUKICBQb3NpdGl2ZSA9IDEuLk1heEludDsKCnZhcgogIFN0cjE6IHBhY2tlZCBhcnJheSBbMS4uM10gb2YgQ2hhcjsKICBTdHIyOiBwYWNrZWQgYXJyYXkgWzEuLjEyXSBvZiBDaGFyOwogIApwcm9jZWR1cmUgQ0NTdHIoU3RyOiBwYWNrZWQgYXJyYXkgW00uLk46IFBvc2l0aXZlXSBvZiBDaGFyKTsKdmFyCiAgaTogSW50ZWdlcjsKYmVnaW4KICBmb3IgaSA6PSBNIHRvIE4gZG8KICAgIFdyaXRlKENocihPcmQoU3RyW2ldKSAtIDEpKTsKICBXcml0ZWxuOyAgCmVuZDsKCmJlZ2luCiAgU3RyMSA6PSAnSUJNJzsKICBDQ1N0cihTdHIxKTsKICBTdHIyIDo9ICdIZWxsbyxXb3JsZC4nOwogIENDU3RyKFN0cjIpOwplbmQuCg==