Program Pack8;

Type
  CharNum = 1..26;

Var
  OK: packed array [ 1..2 ] of CharNum;
  two: Integer;

Procedure O ( Var x: CharNum );

begin (* O *)
  x:= ord ( 'O' ) - ord ( 'A' ) + 1;
end (* O *);

Function K ( Var x: CharNum ): Integer;

begin (* K *)
  x:= ord ( 'K' ) - ord ( 'A' ) + 1;
  K:= 42;
end (* K *);

Function Answer ( x: Integer ): Boolean;

begin (* Answer *)
  Answer:= x = 42;
end (* Answer *);

begin
  two:= 2;
  O ( OK [ 1 ] );
  if Answer ( K ( OK [ two ] ) ) then
    writeln ( chr ( ord ( 'A' ) - 1 + OK [ 1 ] ),
              chr ( ord ( 'A' ) - 1 + OK [ two ] ) )
  else
    writeln ( 'failed' );
end.
