size(0,150);
pen colour1=red;
pen colour2=green;
pen colour3=blue;
real r=sqrt(3);
pair z0=(0,0);
pair z1=(-1,0);
pair z2=(1,0);
pair z3=(0,r);
path c1=circle(z1,r);
path c2=circle(z2,r);
path c3=circle(z3,r);
fill(c1,colour1);
fill(c2,colour2);
fill(c3,colour3);
picture intersection12;
fill(intersection12,c1,colour1+colour2);
clip(intersection12,c2);
picture intersection13;
fill(intersection13,c1,colour1+colour3);
clip(intersection13,c3);
picture intersection23;
fill(intersection23,c2,colour2+colour3);
clip(intersection23,c3);
picture intersection123;
fill(intersection123,c1,colour1+colour2+colour3);
clip(intersection123,c2);
clip(intersection123,c3);
add(intersection12);
add(intersection13);
add(intersection23);
add(intersection123);
draw(c1);
draw(c2);
draw(c3);
label("$A$",z1);
label("$B$",z2);
label("$C$",z3);