program sort_roz;
uses crt;
type roz=(a,v,g,av,kt,yu);
const sor:array[0..5] of string=
('анжелика','виктория','гагарин','аве мария','катерина','юбилейная');
var m1,m2,m3:set of roz;
i:roz;
k,p:byte;
begin
clrscr;
m1:=[a,v,g];
m2:=[a,v,av];
m3:=[a,v,av,kt];
writeln('Имеются у каждого садовника:');
k:=0;
for i:=a to yu do
begin
if (i in m1)and(i in m2)and(i in m3)then
begin
write(sor[ord(i)],' ');
k:=1;
end;
end;
if k=0 then writeln('Таких сортов нет!');
writeln;
writeln;
writeln('Есть хотя бы у одного:');
k:=0;
k:=0;
for i:=a to yu do
begin
p:=0;
if i in m1 then p:=p+1;
if i in m2 then p:=p+1;
if i in m3 then p:=p+1;
if p in [1..2] then
begin
write(sor[ord(i)],' ');
k:=1;
end;
end;
if k=0 then writeln('Таких сортов нет!');
writeln;
writeln;
writeln('Нет ни у одного садовника:');
k:=0;
for i:=a to yu do
begin
if not(i in m1)and not(i in m2)and not(i in m3)then
begin
write(sor[ord(i)],' ');
k:=1;
end;
end;
if k=0 then writeln('Таких сортов нет!');
readln
end.