(*
Fails on the Sparc when compiled with -O2 or higher: writes only O
*)

(* FLAG -O3 *)

program fjf329b;

type
  charset = set of char;

var
  o, k : volatile char;
  s : charset;
  a : char;

begin
  o := '-';
  k := 'K';
  s := [o, 'O', k];
  for a := 'Z' downto 'A' do
    if a in s then Write (a);
  WriteLn
end.
