(;GM[1]FF[4]CA[UTF-8]AP[CGoban:3]ST[2]
RU[Japanese]SZ[19]KM[0.00]
PB[Black to play]AW[ln][qn][qp][rp][lq][oq][pq][kr][nr][or][qr][rs]AB[np][op][pp][nq][qq][rq][mr][rr][ms][ps]C[This is the problem position. Black to play]
(;B[pr]C[This looks like a tesuji to catch white short of liberties.]
(;W[sq]C[But white plays here]
;B[qs]
;W[sr]
;B[ss]C[And it's a ko.]
;W[sk]
;B[rk]
;W[rs])
(;W[sr]
;B[qs]
;W[sq]C[This ends with the same ko,]))
(;B[qs]C[So is this the tesuji?]
(;W[sq]C[If white plays this move black captures all]
;B[ss]
(;W[pr]
;B[os])
(;W[sp]
;B[pr]))
(;W[sr]C[So white has to play this one and it's a ko again.]
;B[ss]
;W[sk]
;B[rk]
;W[rs]
;B[pr]C[This is an internal ko threat.]
;W[sq]
;B[ss]C[But it's still ko.]
;W[sj]
;B[rj]
;W[rs]))
(;B[sr]C[So the empty triangle is the solution.
It makes use of the corner that stops
white from approaching from the inside.]
(;W[sp]C[This isn't fast enough]
;B[pr]C[As now white is stuck for a move])
(;W[pr]C[If white connects...]
;B[os]C[... black shows white is still short of liberties.])
(;W[os]
;B[ns]C[This way white is also short of liberties.])
(;W[qs]
;B[os]C[And this way]
;W[sp]
;B[ns])
(;W[sq]C[This looks like it might be ko....]
;B[sp]
;W[so]
;B[pr]C[... but the ko is not fast enough.]
;W[sq]
;B[qs])
(;W[ss]C[This looks like a last resort....]
;B[qs]
(;W[rs]
;B[pr]C[After the throw in black makes two eyes.])
(;W[pr]
;B[os]C[White runs out of liberties.]))))
