Get the best possible result. An unconditional kill is better than an multi approach move ko, which is better than a single approach move ko, which is better than a direct ko, etc.
(;AB[oo]AB[hp]AB[ip]AB[jp]AB[kp]AB[lp]AB[mp]AB[np]AB[pp]AB[fq]AB[gq]AB[iq]AB[pq]AB[ir]AB[pr]AB[qr]AW[om]AW[hn]AW[jn]AW[ln]AW[nn]AW[ho]AW[jo]AW[no]AW[gp]AW[op]AW[hq]AW[jq]AW[ps]AW[is]AW[or]AW[jr]AW[hr]AW[oq]AW[mq]AW[lq]AW[kq]C[start with G2 please! Black to save his group.FORCE]SZ[19]GM[1]FF[4]ST[2]RU[Japanese]AP[CGoban:2]CA[UTF-8]KM[0];B[gr];W[hs]
(;B[nq];W[nr]
(;B[mr]
(;W[ms]
(;B[lr];W[ls]
(;B[js];W[ks]C[now G1FORCE];B[gs];W[js]
(;B[os];W[ns]
(;B[qs];W[po];B[os];W[on])
(;B[po];W[io];B[qs];W[ko];B[os];W[kr]
(;B[lr];W[ps]C[Direct ko. Black could have had a 2 move approach ko.])
(;B[mr]C[NOTTHIS]))
(;B[pn]C[NOTTHIS])
(;B[qo]C[NOTTHIS])
(;B[on]C[NOTTHIS]))
(;B[po];W[os])
(;B[ns];W[os];B[qs];W[kr];B[mr];W[lr])
(;B[qs];W[ns]
(;B[po];W[io];B[os]C[Single approach move ko. White needs a threat and can only take an outside liberty away after retaking the ko. After that, L2 is an internal ko threat for White.])
(;B[pn]C[NOTTHIS])
(;B[qo]C[NOTTHIS])
(;B[on]C[NOTTHIS])
(;B[os];W[kr]
(;B[lr];W[ps]
(;B[po];W[io];B[os]C[Single approach move ko. White needs a threat and can only take an outside liberty away after retaking the ko. But Black cuuld have had a double approach move ko.])
(;B[pn]C[NOTTHIS])
(;B[on]C[NOTTHIS])
(;B[qo]C[NOTTHIS]))
(;B[mr]C[NOTTHIS]))))
(;B[os];W[ns];B[js];W[ks]C[G1FORCE];B[gs];W[js];B[po];W[io];B[qs];W[ko];B[os];W[kr]
(;B[lr];W[ps]C[Direct ko. Black could have had a 2 move approach ko.])
(;B[mr]C[NOTTHIS]))
(;B[qs];W[js]
(;B[ns];W[kr];B[os];W[ps];B[os];W[po])
(;B[os];W[kr])
(;B[po];W[kr])))
(;B[ks];W[ls]
(;B[js];W[kr];B[js];W[ks]C[G1FORCE];B[gs];W[js]
(;B[os];W[ns]
(;B[po];W[io];B[qs];W[ko];B[os]C[Direct ko.])
(;B[qs];W[po])
(;B[pn]C[NOTTHIS])
(;B[on]C[NOTTHIS])
(;B[qo]C[NOTTHIS]))
(;B[qs]
(;W[ns];B[os]C[Double approach move ko. White needs to ignore 2 black threats to take liberties away before it becomes a direct ko. Very hard for White to win.RIGHT])
(;W[po]C[White will not make this mistake.];B[ns]
(;W[os];B[ns]C[RIGHT])
(;W[lr];B[mr]C[RIGHT])
(;W[on];B[lr]C[RIGHT]))
(;W[lr]C[White certainly will not play this.];B[os];W[po];B[ps];W[on];B[ns]C[Whoopsy daisy.RIGHT]))
(;B[ns];W[os]))
(;B[kr];W[js])
(;B[gs];W[js];B[os];W[lr])
(;B[os];W[ns];B[js];W[kr]
(;B[js];W[ks]C[G1FORCE];B[gs];W[js]
(;B[po];W[io];B[qs];W[ko];B[os]C[Direct ko.])
(;B[pn]C[NOTTHIS])
(;B[qo]C[NOTTHIS])
(;B[on]C[NOTTHIS]))
(;B[qs];W[js]))
(;B[ns];W[os]C[has eyes])
(;B[qs];W[js];B[os];W[lr]
(;B[ps];W[ns])
(;B[po];W[ns]))))
(;W[lr]C[White will play this when White prefers certain death over a very hard ko.]
(;B[js];W[ks];B[gs];W[js];B[ms]C[RIGHT])
(;B[ms];W[ls]
(;B[gs];W[js])
(;B[js];W[ks];B[gs]C[RIGHT]))))
(;B[ks]C[];W[js];B[mr];W[lr];B[ms];W[ls])
(;B[gs]C[];W[js];B[mr];W[lr];B[ms];W[ls])
(;B[ls];W[mr]
(;B[js];W[ks]C[G1FORCE];B[gs];W[js]
(;B[lr];W[po])
(;B[po];W[os]))
(;B[po];W[js];B[os];W[ns];B[lr];W[io];B[kr];W[ko];B[ks];W[lo];B[qs];W[mo]))
(;B[qs];W[mr];B[po];W[ls]))
(;B[ks];W[js];B[nq];W[nr];B[mr];W[lr];B[ms];W[ls])
(;B[gs]C[NOTTHIS])
(;B[js];W[ks]C[G1FORCE];B[gs];W[js];B[nq];W[nr];B[mr];W[ms]
(;B[lr];W[po]
(;B[os];W[on];B[qs];W[ns]
(;B[ps];W[ls])
(;B[ls];W[kr]))
(;B[ns];W[os];B[qs];W[on]))
(;B[os];W[lr]))
(;B[ls];W[nq]
(;B[js];W[ks];B[gs];W[js]
(;B[mr];W[po])
(;B[po]C[more libs.])
(;B[lr];W[po]))
(;B[gs];W[js]))
(;B[nr];W[nq]
(;B[po];W[mr])
(;B[js];W[ks];B[gs];W[js];B[mr];W[po])
(;B[ks];W[js];B[po];W[io])))