function [outputArg1,outputArg2] = Color3CirclesInverse(M,b)
     
     rect = polyshape([0, 0 20 20],[20 0 0 20])
     plot(rect,'FaceColor','black','FaceAlpha',0.1) %   The Universe Rectangle
     axis equal, axis off, hold on
     
     x1c = 8;
     y1c = 12;
     r = 3.5;
     n = 100;
     theta = (0:n-1)*(2*pi/n)
     x = x1c + r*cos(theta);
     y = y1c + r*sin(theta);
     circleA = polyshape(x,y);
     %txt = '\leftarrow sin(\pi) = 0';
     %text(pi,sin(pi),txt,'FontSize',14)
     
     x2c = 12;
     y2c = 12;
     r =3.5
     n = 100;
     theta = (0:n-1)*(2*pi/n)
     x = x2c + r*cos(theta);
     y = y2c + r*sin(theta);
     circleB = polyshape(x,y);
     
     x3c = 10;
     y3c = 8;
     r =3.5
     n = 100;
     theta = (0:n-1)*(2*pi/n)
     x = x3c + r*cos(theta);
     y = y3c + r*sin(theta);
     circleC = polyshape(x,y);
     
     %------------------------------(White)----Contained in all 3 circles
     p1 =intersect(circleA,circleB);
     p1a = intersect(p1, circleC);
     plot(p1a,'FaceColor',M(1,2),'FaceAlpha',0.5,'EdgeColor','black')   %  ABC
     axis equal, axis off, hold on;
     
     %--------------------------------(Redish)--------Contained in 2 Circles
     p2 =intersect(circleA,circleC);
     p2a = subtract(p2, circleB);
     plot(p2a,'FaceColor',M(3,2),'FaceAlpha',0.5,'EdgeColor','black')    % A~BC
     axis equal, axis off, hold on;
     
     p3 =intersect(circleB,circleA);
     p3a = subtract(p3, circleC);
     plot(p3a,'FaceColor',M(2,2),'FaceAlpha',0.5,'EdgeColor','black') %   AB~C 
     axis equal, axis off, hold on;
     
     p4 =intersect(circleC,circleB);
     p4a = subtract(p4, circleA);
     plot(p4a,'FaceColor',M(4,2),'FaceAlpha',0.5,'EdgeColor','black') %  ~ABC 
     axis equal, axis off, hold on;
     
     %------------------------------(Greenish)-----Contained within 1 Circle
     p5 = subtract(circleB, circleA);
     p5a = subtract(p5, circleC);
     plot(p5a,'FaceColor',M(5,2),'FaceAlpha',0.5,'EdgeColor','black')     %   ~AB~C 
     axis equal, axis off, hold on;
     
     p6 = subtract(circleA, circleB)
     p6a = subtract(p6, circleC);
     plot(p6a,'FaceColor', M(6,2),'FaceAlpha',0.5,'EdgeColor','black')   %    A~B~C 
     axis equal, axis off, hold on;
     
     p7 = subtract(circleC,circleA);
     p7a = subtract(p7, circleB);
     plot(p7a,'FaceColor', M(7,2),'FaceAlpha',0.5,'EdgeColor','black') %   ~A~BC 
       
     %----------------------------------(Yellow)----------Not contained in any Circle
     p8 = union(circleA, circleB);
     p8a = union(p8, circleC);
     p8b = subtract(rect,p8a);
     plot(p8b,'FaceColor',M(8,2),'FaceAlpha',0.5,'EdgeColor','black');   %  ~(A+B+C)
     axis equal, axis off, hold off;
     
     szb = size(b);
     p0 = subtract(rect,b(1))
     for m = 2:1:szb 
         p0 = subtract(p0, b(m()));
     end
      
     plot(p0,'FaceColor',"88FF88",'FaceAlpha',0.5,'EdgeColor','black');   
     axis equal, axis off, hold off
     
     
     
     
     %----------------------------------------------------------------------
     
     
     txt = 'A';
     text(7.4,12,txt,'FontSize',14);
     
     txt = 'B';
     text(12.3,12,txt,'FontSize',14);
     ;
     
     txt = 'C';
     text(10,8,txt,'FontSize',14);
     
     
     txt = 'ac~b';
     text(6.9,9.5,txt,'FontSize',10);
     
     txt = 'bc~a';
     text(11,9.5,txt,'FontSize',10);
     
     txt = 'ab-c';
     text(9,13.14,txt,'FontSize',10);
     
     txt = 'abc';
     text(9,11,5,txt,'FontSize',10);
     
     txt = 'a~b~c';
     text(5,13,txt,'FontSize',10);
     
     txt = 'b~a~c';
     text(12,13.7,txt,'FontSize',10);
     
     txt = 'c~a~b';
     text(8.5,5.5,txt,'FontSize',10);
     
     txt = 'Universe';
     text(1.3, 18,txt,'FontSize',10);
     
     
     txt = '~(a + b + c)';
     text(12, 18,txt, 'FontSize',10);
     
     end
     
 


