type MySet = set of byte;
procedure PrintSet(x: MySet);
var i: byte;
begin
for i:=Low(x) to High(x) do
begin
if i in x then Write(i, ' ')
end;
WriteLn
end;
Const
set1: MySet = [1, 2, 3];
set2: MySet = [2, 3, 4];
begin
Write('set1 ='); PrintSet(set1);
Write('set2 ='); PrintSet(set2);
Write('set1 * set2 ='); PrintSet(set1 * set2);
Write('set1 + set2 ='); PrintSet(set1 + set2);
Write('set1 - set2 ='); PrintSet(set1 - set2)
end.
dHlwZSBNeVNldCA9IHNldCBvZiBieXRlOwoKcHJvY2VkdXJlIFByaW50U2V0KHg6IE15U2V0KTsKdmFyIGk6IGJ5dGU7CmJlZ2luCiAgZm9yIGk6PUxvdyh4KSB0byBIaWdoKHgpIGRvCiAgICBiZWdpbgogICAgICBpZiBpIGluIHggdGhlbiBXcml0ZShpLCAnICcpCiAgICBlbmQ7CiAgV3JpdGVMbgplbmQ7CgpDb25zdAogIHNldDE6IE15U2V0ID0gWzEsIDIsIDNdOwogIHNldDI6IE15U2V0ID0gWzIsIDMsIDRdOwpiZWdpbgogIFdyaXRlKCdzZXQxID0nKTsgUHJpbnRTZXQoc2V0MSk7CiAgV3JpdGUoJ3NldDIgPScpOyBQcmludFNldChzZXQyKTsKICBXcml0ZSgnc2V0MSAqIHNldDIgPScpOyBQcmludFNldChzZXQxICogc2V0Mik7CiAgV3JpdGUoJ3NldDEgKyBzZXQyID0nKTsgUHJpbnRTZXQoc2V0MSArIHNldDIpOwogIFdyaXRlKCdzZXQxIC0gc2V0MiA9Jyk7IFByaW50U2V0KHNldDEgLSBzZXQyKQplbmQu