Deci trebuie sa gasim minimul lui B(i,j) cu i+j=K, i>=1 si j>=1. Pentru orice i si j alegem, numitorul fractiei este constant, deci trebuie sa le alegem astfel incat sa minimizam numaratorul fractiei.
Astfel, deoarece K este par, putem observa ca B(K/2,K/2) ne va da minimul functiei. Deci, Daniel se va putea teleporta dintr-un punct (x,y) in (x+K/2,y+K/2) sau (x-K/2,y+K/2) sau (x+K/2,y-K/2) sau (x-K/2,y-K/2).
Daca Daniel este intr-un punct (x,y) care e la distanta manhattan D fata de origine dupa o teleportare acesta va ajunge intr-un punct (x1,y1) care e la distanta manhattan D+K sau D-K fata de origine.
Cum Daniel pleaca din origine (care e la distanta manhattan 0) oricum ar folosi teleportarile acesta va ajunge intr-un punct (x,y) cu distanta manhattan fata de origine divizibla cu K.
Cum Daniel pleaca din origine (care e la distanta manhattan 0), oricum ar folosi teleportarile, acesta va ajunge intr-un punct (x,y) cu distanta manhattan fata de origine divizibla cu K.
Pentru a ajunge in zona sigura acesta trebuie sa ajunga la un punct cu distanta manhattan egala cu L/2, deci L/2 trebuie sa fie divizibil cu K => pentru prima cerinta trebuie sa afisam toti divizorii pari al lui L/2.
Daca L/2 este impar, nu va avea divizori pari, deci raspunsul va fi -1 pentru ambele cerinte.
De exemplu, pentru un K divizor par al lui L/2, un posibil drum este (0,0) -> (1*(K/2),1*(K/2)) -> (2*(K/2),2*(K/2)) -> .. -> ((L/2K)*(K/2),(L/2K)*(K/2)).