import geometry; size(7cm); dotfactor=9; real grad=15; point A, B, C, L, E_, K, O, H; A=6*dir(-90-grad); L=6*dir(-90+grad); H=1*dir(-90+3*grad); C=intersectionpoint(line(A,L), line(B,H)); triangle t=triangle(A, B, C); E_=bisectorpoint(t.BC); O=intersectionpoint(A--E_, B--L); K=projection(A,C)*B; markangle(radius=0.6cm, n=2, A, B, K); markangle(radius=0.8cm, n=2, K, B, L); markangle(radius=0.5cm, C, A, E_); markangle(radius=0.6cm, E_, A, B); markrightangle(B, K, A, size=5); draw(A--L, opacity(0), StickIntervalMarker(2, 1, size=0.15cm)); draw(Label("$6a$", Rotate(dir(A--B))), align=1.5*LeftSide,A--B, black+2bp); draw(Label("$2b$", Rotate(dir(B--C)), position=Relative(0.65)), align=1.5*LeftSide,B--C, black+2bp); draw(Label("$4a$", Rotate(dir(B--O))),O--B); draw(Label("$2a$", Rotate(dir(O--L))),L--O); draw(A--E_^^B--K); draw(A--C, black+2bp); label("$A$", A, S); label("$C$", C, S); label("$B$", B, N); label("$L$", L, S); label("$E$", E_, NE); label("$O$", O, WNW); label("$K$", K, NE); label("$3a$", (A+L)/2, S); label("$b$", (L+C)/2, S); dot(A, UnFill); dot(B, UnFill); dot(C, UnFill); dot(L, UnFill); dot(E_, UnFill); dot(O, UnFill); dot(K, UnFill);