Телепатија
Палачинка се наоѓа во рамнина на дадени целобројни координати (X, Y). Емил ја гледа палачинката и решава телепатски да ја придвижи до својата позиција за да ја изеде. Во секоја секунда Емил може да ја помести палачинката на една од следниве координати: ( X - 1 - ( (2*X) mod 31 ) , Y + 1 + ( (2*X) mod 31 )) или ( X+1, Y-1 ). Палачинката може да се движи само во позитивниот дел од рамнината ( во секој момент важи X>0, Y>0). Емил се прашува кое е најкраткото време за кое може да ја донесе палачинката до неговите координати. Помогни му на Емил.
Забелешка: Вредноста на (A mod B) е остатокот при делење на A со B. На пример 10 mod 3=1.
Влез
Во првиот ред се наоѓаат 2 целобројни вредности X и Y ( 100<= X, Y<= 100 000) - почетните координати палачинката.
Во вториот ред исто така се наоѓаат 2 целобројни вредности EX и EY ( 100 <= EX, EY <= 100 000 ) - координатите на Емил.
Забелешка: Во 50% од примерите важи 100 <= X, Y, EX, EY <= 2000.
Излез
Излезот се состои од еден ред во кој е запишано најкраткото време (во секунди) во кое Емил ќе ја донесе палачинката до својата позиција, или -1 ако не постои начин.
Ограничувања
Временско ограничување: 1 second
Мемориско ограничување: 64 megabytes
Примери
влез 204 196 198 202 | излез 1 |
влез 204 196 199 201 | излез 2 |
влез 500 300 600 200 | излез 100 |
Објаснување за првиот пример: Палачинката ќе стигне во еден чекор до Емил ако тој ја помести до ( 204 - 1 - ( (2*204) mod 31) , 196 + 1 + ( (2*204) mod 31) ) = (198, 202)
Објаснување за вториот пример: Палачинката ќе стигне во два чекори до Емил ако тој ја помести до ( 204 - 1 - ( (2*204) mod 31) , 196 + 1 + ( (2*204) mod 31) )
= (198, 202), а потоа до (200 + 1, 200 - 1) = ( 199, 201 )