This is a very complex roblem for my level of playing. I hope I didn't make a mistake. Please let me know, if I did! Just found this Problem by reviewing a game I played and changing some stones around to make it more complicated.
(;AB[jp]AB[pq]AB[oq]AB[np]AB[mp]AB[lp]AB[kp]AB[io]AB[hp]AB[gp]AB[gq]AB[gr]AW[hr]AW[hq]AW[iq]AW[ip]AW[jq]AW[kq]AW[lr]AW[mq]AW[nr]AB[jr]AB[ks]AB[er]AB[jn]AB[lq]AW[kr]AB[is]AW[hs]AW[qr]AW[qq]AW[rp]AW[ro]AB[qp]AB[qo]AB[qn]AB[rn]AW[sq]C[Black to kill white.]AB[qs]AB[so]AB[rr]AB[rs]AP[goproblems]
(;B[mr]
(;W[ms]
(;B[os]
(;W[nq];B[ns];W[or];B[ps];W[pr];B[rq]C[RIGHT])
(;W[or]
(;B[ps];W[pr];B[rq];W[nq];B[ns]C[RIGHT])
(;B[pr];W[nq]C[CHOICE])))
(;B[nq];W[or]
(;B[os];W[pr]
(;B[rq];W[ps];B[mr];W[ns]C[CHOICE])
(;B[ps];W[rq]C[CHOICE]))
(;B[pr];W[os];B[mr]C[Only a ko.]))
(;B[or];W[nq]C[CHOICE])
(;B[pr];W[nq]C[CHOICE]))
(;W[ls]
(;B[js]
(;W[or]
(;B[pr];W[nq]
(;B[ns];W[ms]C[CHOICE])
(;B[os];W[ms]C[CHOICE]))
(;B[nq];W[ms]
(;B[pr];W[mq];B[os]C[RIGHT])
(;B[ps]
(;W[pr];B[rq];W[mq];B[os]C[RIGHT])
(;W[mq]
(;B[os];W[pr];B[rq]C[RIGHT])
(;B[pr];W[os];B[mr]C[Only a ko.CHOICE])))
(;B[os];W[pr]
(;B[rq];W[mq];B[ps]C[RIGHT])
(;B[ps];W[rq]C[CHOICE]))
(;B[rq];W[mq]
(;B[os];W[pr];B[ps]C[RIGHT])
(;B[ps];W[os];B[mr]C[Only a ko.CHOICE])
(;B[pr];W[os];B[mr]C[Only a ko.CHOICE])))
(;B[ps];W[pr]
(;B[nq];W[rq]
(;B[ms];W[ns]
(;B[mq];W[sr])
(;B[sr];W[mq];B[mr];W[os]C[CHOICE]))
(;B[ns];W[ms]C[CHOICE])
(;B[os];W[ns]C[CHOICE]))
(;B[ns];W[ms]C[CHOICE]))
(;B[os];W[pr]
(;B[nq];W[ns]C[CHOICE])
(;B[ps];W[rq]C[CHOICE]))
(;B[ns];W[ms]C[CHOICE]))
(;W[nq];B[ns]
(;W[ms];B[os];W[or];B[ps];W[pr];B[rq]C[RIGHT])
(;W[or]
(;B[pr];W[ms]C[CHOICE])
(;B[os]
(;W[pr]
(;B[rq];W[ms];B[ps]C[RIGHT])
(;B[ps];W[rq]C[CHOICE]))
(;W[ms];B[ps];W[pr];B[rq]C[RIGHT]))
(;B[ps]
(;W[ms];B[os];W[pr];B[rq]C[RIGHT])
(;W[pr]
(;B[rq];W[ms];B[os]C[RIGHT])
(;B[os];W[rq]C[CHOICE])))))
(;W[ms]
(;B[os]
(;W[or]
(;B[pr];W[nq]C[CHOICE])
(;B[ps];W[pr];B[rq];W[nq];B[ns]C[RIGHT]))
(;W[nq];B[ns];W[or];B[ps];W[pr];B[rq]C[RIGHT]))
(;B[or];W[nq]C[CHOICE])
(;B[nq];W[or]
(;B[os];W[pr]C[CHOICE])
(;B[pr];W[os];B[mr]C[Only a ko.CHOICE])
(;B[ps];W[pr]
(;B[os];W[rq]C[CHOICE])
(;B[rq];W[os];B[mr]C[Only a ko.CHOICE]))
(;B[mr]C[Only a ko.CHOICE]))
(;B[ps];W[nq]C[CHOICE])
(;B[pr];W[nq]C[CHOICE])))
(;B[nq];W[ir]C[CHOICE])
(;B[ns];W[ir]C[CHOICE])
(;B[os];W[ir]C[CHOICE])
(;B[or];W[ir]C[CHOICE])
(;B[ms];W[ns]C[CHOICE])
(;B[ps];W[ir]C[CHOICE])
(;B[pr];W[ir]C[CHOICE])
(;B[gs];W[ms]
(;B[js];W[nq]C[CHOICE])
(;B[os];W[ir]C[CHOICE])))
(;W[nq]
(;B[ns]
(;W[ms]
(;B[os];W[or];B[ps];W[pr];B[rq]C[RIGHT])
(;B[or];W[os]C[CHOICE])
(;B[ps];W[os]C[CHOICE]))
(;W[or]
(;B[pr];W[ms]C[CHOICE])
(;B[os];W[pr]
(;B[ms];W[ls]C[CHOICE])
(;B[rq];W[ms];B[ps]C[RIGHT])
(;B[ps];W[rq]C[CHOICE]))
(;B[ps];W[ls]
(;B[os];W[ir]C[CHOICE])
(;B[pr];W[ir]C[CHOICE])
(;B[rq];W[ir]C[CHOICE])
(;B[ms];W[os]C[CHOICE])
(;B[js]
(;W[ms]
(;B[os];W[pr];B[rq]C[RIGHT])
(;B[pr];W[os]C[CHOICE])
(;B[rq];W[os]C[CHOICE]))
(;W[pr]
(;B[os];W[rq]C[CHOICE])
(;B[rq];W[ms];B[os]C[RIGHT]))))))
(;B[ms];W[ns]C[CHOICE])
(;B[os];W[ns]C[CHOICE])
(;B[or];W[ms]C[CHOICE]))
(;W[or]
(;B[nq];W[ms]
(;B[mq];W[pr]
(;B[rq];W[ls]
(;B[js];W[ns];B[ps]C[RIGHT])
(;B[ps];W[ir]C[CHOICE])
(;B[ns];W[js]C[Only a ko.CHOICE]))
(;B[ns];W[ls]
(;B[rq];W[js]C[Only a ko.CHOICE])
(;B[js];W[rq]C[CHOICE]))
(;B[ps];W[rq]C[CHOICE])
(;B[os]C[CHOICE])
(;B[sr]C[CHOICE])
(;B[ss]C[CHOICE])
(;B[gs]C[CHOICE])
(;B[js]C[CHOICE])
(;B[ls]C[CHOICE]))
(;B[pr];W[ls];B[js];W[mq];B[os]C[RIGHT])
(;B[os];W[pr]
(;B[ps];W[rq]C[CHOICE])
(;B[rq];W[ls]
(;B[js]
(;W[mq];B[ps]C[RIGHT])
(;W[ns];B[ps]C[RIGHT]))
(;B[mq];W[ir]C[CHOICE])
(;B[ps];W[ir]C[CHOICE]))
(;B[mq]C[CHOICE]))
(;B[ps]
(;W[ls]
(;B[js];W[pr];B[rq];W[mq];B[os]C[RIGHT])
(;B[pr];W[ir]C[CHOICE])
(;B[os];W[ir]C[CHOICE])
(;B[rq];W[ir]C[CHOICE])
(;B[mq];W[ir]C[CHOICE]))
(;W[pr]
(;B[rq];W[ls]
(;B[js];W[mq];B[os]C[RIGHT])
(;B[mq];W[ir]C[CHOICE])
(;B[os];W[ir]C[CHOICE])
(;B[ns];W[mq]
(;B[js];W[os];B[mr]C[Only a ko.CHOICE])
(;B[os];W[ir]C[CHOICE]))
(;B[gs]C[CHOICE])
(;B[sr]C[CHOICE])
(;B[ss]C[CHOICE]))
(;B[mq];W[rq]C[CHOICE])
(;B[os];W[rq]C[CHOICE])
(;B[ns];W[ls]
(;B[rq];W[mq];B[js];W[os];B[mr]C[Only a ko.CHOICE])
(;B[js];W[rq]C[CHOICE])
(;B[mq];W[rq]C[CHOICE])
(;B[os];W[rq]
(;B[gs]LB[mq:A]LB[js:B]LB[sr:C]C[This is a double ko. White is alive. White will play A now and will answer every ko-threat black does. When black takes the ko back, white plays at B and starts the other ko. If black ends the first ko with playing at A, white will just play C. But hey! You found the most complicated answer out of hundrets of paths ;)CHOICE])
(;B[mq];W[sr]C[CHOICE])
(;B[js];W[sr]C[CHOICE]))
(;B[gs]C[White is alive with double-ko (A and B). If black ends one ko with playing at B, white will answer with C. If white takes the ko at A and black plays C, white is still alive with double-ko after answering with D.CHOICE]LB[mq:A]LB[js:B]LB[rq:C]LB[os:D])))
(;W[mq]
(;B[os];W[ls]
(;B[pr];W[ir]C[CHOICE])
(;B[js];W[pr];B[rq]C[RIGHT])
(;B[mr];W[ir]C[CHOICE]))
(;B[pr];W[ls]
(;B[os];W[ir]C[CHOICE])
(;B[js];W[os];B[mr]C[Only a ko.CHOICE])
(;B[mr];W[ir]C[CHOICE])
(;B[gs];W[ir]C[CHOICE]))
(;B[js];W[pr]
(;B[os];W[rq]C[CHOICE])
(;B[rq];W[os];B[mr]C[Only a ko.CHOICE])
(;B[mr];W[rq]C[CHOICE]))
(;B[rq];W[ls]
(;B[os];W[ir]C[CHOICE])
(;B[js];W[os];B[mr]C[Only a ko.CHOICE]))))
(;B[rq];W[ls]
(;B[js];W[mq]
(;B[os];W[pr];B[ps]C[RIGHT])
(;B[pr];W[os];B[mr]C[Only a ko.CHOICE])
(;B[ps];W[os];B[mr]C[Only a ko.CHOICE]))
(;B[os];W[ir]C[CHOICE])
(;B[pr];W[ir]C[CHOICE])
(;B[mq];W[ir]C[CHOICE])
(;B[gs];W[js]C[Only a ko.CHOICE])
(;B[ps];W[ir]C[CHOICE]))
(;B[ns];W[mq]C[Only a ko.CHOICE]))
(;B[pr];W[ms]
(;B[os];W[nq]C[CHOICE])
(;B[nq];W[os];B[mr]C[Only a ko.CHOICE]))
(;B[ps]
(;W[ms]
(;B[os];W[pr]
(;B[rq];W[nq];B[ns]C[RIGHT])
(;B[nq];W[rq]C[CHOICE]))
(;B[pr];W[os]C[CHOICE])
(;B[rq];W[os]C[CHOICE]))
(;W[os]
(;B[ms];W[ls]
(;B[js];W[nq]C[CHOICE])
(;B[nq];W[js]C[Only a ko.CHOICE]))
(;B[nq];W[ls]
(;B[ms];W[js]C[Only a ko.CHOICE])
(;B[js]C[RIGHT]))))
(;B[os];W[pr]
(;B[ps];W[rq]C[CHOICE])
(;B[rq];W[ps]
(;B[ms];W[ls];B[nq];W[js]C[Only a ko.CHOICE])
(;B[nq];W[ls]
(;B[js];W[ns]C[CHOICE])
(;B[ms];W[js]C[Only a ko.CHOICE])
(;B[ns];W[ir]C[CHOICE])))
(;B[nq];W[ls]
(;B[ms];W[js]C[Only ko.CHOICE])
(;B[rq];W[ir]C[CHOICE])
(;B[js];W[ns]C[CHOICE])
(;B[ns];W[ir]C[CHOICE])
(;B[ps];W[rq]
(;B[ns];W[ms]C[This is a double ko. White is alive. White will play A now and will answer every ko-threat black does. When black takes the ko back, white plays at B and starts the other ko. If black ends the first ko with playing at A, white will just play C. But hey! You found the most complicated answer out of hundrets of paths ;)]
(;B[gs]LB[mq:A]LB[js:B]LB[sr:C]C[This is a double ko. White is alive. White will play A now and will answer every ko-threat black does. When black takes the ko back, white plays at B and starts the other ko. If black ends the first ko with playing at A, white will just play C.CHOICE])
(;B[js];W[sr]C[CHOICE])
(;B[mq];W[sr]C[CHOICE]))
(;B[ms];W[ns];B[mq];W[js]C[CHOICE])))
(;B[ms];W[nq]
(;B[rq];W[ls]C[CHOICE])
(;B[ps];W[rq]C[CHOICE])
(;B[ns];W[rq]C[CHOICE])
(;B[ls];W[ns]C[CHOICE]))
(;B[ns];W[ms]C[CHOICE]
(;B[rq];W[ps]C[CHOICE])
(;B[ps];W[rq]C[CHOICE])))
(;B[ms];W[nq]C[CHOICE])
(;B[rq]C[CHOICE])))
(;B[os];W[ls]
(;B[js];W[ns]C[CHOICE])
(;B[ns];W[ir]C[CHOICE])
(;B[mr];W[ir]C[CHOICE]))
(;B[js]
(;W[os]
(;B[ps];W[or]C[CHOICE])
(;B[or];W[nq]C[CHOICE])
(;B[nq];W[mr];B[or];W[ns]C[CHOICE]))
(;W[or]
(;B[os];W[ns]
(;B[nq];W[mr]C[CHOICE])
(;B[pr];W[nq]C[CHOICE]))
(;B[pr];W[os]C[CHOICE])
(;B[ps];W[pr];B[rq];W[os]C[CHOICE])))
(;B[ns];W[or]
(;B[pr];W[os]C[CHOICE])
(;B[os];W[pr]
(;B[ps];W[rq]C[CHOICE])
(;B[rq];W[ps]C[CHOICE])
(;B[mr];W[ms]
(;B[rq];W[ps]C[CHOICE])
(;B[ps];W[rq]C[CHOICE])))
(;B[ps];W[pr];B[os];W[rq]C[CHOICE])
(;B[mr];W[ms]C[CHOICE])
(;B[nq];W[mr]C[CHOICE])
(;B[ms];W[mr]C[CHOICE]))
(;B[ms];W[ls]
(;B[js];W[ns]C[CHOICE])
(;B[ns];W[ir]C[CHOICE]))
(;B[or];W[ls]
(;B[js];W[ns]C[CHOICE])
(;B[ns];W[ir]C[CHOICE]))
(;B[ls];W[or]
(;B[pr];W[os]C[CHOICE])
(;B[os];W[pr]
(;B[rq];W[ps]C[CHOICE])
(;B[ps];W[rq]C[CHOICE])))
(;B[nq];W[mr]
(;B[ns];W[or]C[CHOICE])
(;B[or];W[ns]C[CHOICE]))
(;B[ps];W[ls]
(;B[ns];W[ir]C[CHOICE])
(;B[js];W[ns]C[CHOICE]))
(;B[pr];W[ls]
(;B[js];W[ns]C[CHOICE])
(;B[ns];W[ir]C[CHOICE]))
(;B[rq]C[CHOICE])
(;B[ir]C[CHOICE])
(;B[gs]C[CHOICE]))