Program Chris5;

Var
  Foo: set of Byte;
  Bar: packed array [ Byte ] of Boolean absolute Foo;
  Baz: set of Byte = [ 37, 42, 137, 200..220 ];
  i: Integer;

begin
  for i:= 0 to 255 do
    Bar [ i ]:= i in [ 37, 42, 137, 200..220 ];
  if Foo = [ 37, 42, 137, 200..220 ] then
    writeln ( 'OK' )
  else
    begin
      writeln ( 'failed' );
      write ( 'Foo:' );
      for i:= 0 to 255 do
        if i in Foo then
          write ( ' ', i );
      writeln;
      write ( 'Bar:' );
      for i:= 0 to 255 do
        if Bar [ i ] then
          write ( ' ', i );
      writeln;
      write ( 'Baz:' );
      for i:= 0 to 255 do
        if i in Baz then
          write ( ' ', i );
      writeln;
    end (* else *);
end.
