(;AP[goproblems]AB[co]AB[do]AW[ep]AW[fp]AW[gp]AB[eo]AB[fo]AB[go]AB[hp]AB[io]AW[ho]AW[hn]AW[bm]AW[cm]AW[em]AW[gm]AB[bo]AW[bq]AB[cq]AB[cr]AW[cp]AW[dr]AW[bp]AB[br]AW[ar]AW[ao]AW[an]AB[ip]AW[hr]AB[bn]AB[jq]AB[kp]AB[js]C[black to live](;B[dp](;W[dq]C[CHOICE](;B[eq];W[er]C[CHOICE](;B[fq];W[gq])(;B[gq](;W[fq];B[fr]C[RIGHT])(;W[fr]C[CHOICE];B[fq]C[RIGHT]))(;B[fr];W[gq]))(;B[bs];W[fr])(;B[fr];W[eq])(;B[ap]C[NOTTHIS])(;B[aq]C[NOTTHIS])(;B[am]C[NOTTHIS]))(;W[fr](;B[dq](;W[eq];B[gq];W[hq];B[ds];W[es]TR[cs]TR[gs]C[Black has a simpler way, even though they're most likely OK here, given the amount of internal ko threats and the fact that C1 threatens another ko...RIGHT])(;W[gq];B[er];W[eq];B[bs];W[am];B[ds]C[RIGHT])(;W[er];B[hq]C[RIGHT]))(;B[eq](;W[er];B[dq]C[RIGHT])(;W[fq];B[er];W[es];B[dq]C[RIGHT])))(;W[er];B[eq](;W[fq];B[fr]C[RIGHT])(;W[fr];B[dq]C[RIGHT])))(;B[dq];W[dp](;B[gq];W[fr])(;B[er];W[fr])(;B[fr];W[eq]))(;B[fr];W[dq];B[dp])(;B[gq];W[dp];B[dq])(;B[ap];W[dp])(;B[aq];W[dp])(;B[er];W[dq];B[dp];W[eq]))