(defn easy-148
[[N frst scnd thrd]]
(let [n-2x (* 2 N)
move-to-frst (if (= (mod frst N) 0)
n-2x
(+ n-2x frst))
scnd-minus-N (- N scnd)
move-to-scnd (if (= (mod (+ scnd-minus-N frst) N) 0)
(+ N frst)
(+ scnd-minus-N frst N))
scnd
-min
-thrd
(Math
/abs (- scnd thrd
)) move-to-thrd (if (zero? scnd-min-thrd)
N
(Math
/abs scnd
-min
-thrd
))] (+ move-to-frst move-to-scnd move-to-thrd)))
(println (easy-148 '(5 1 2 3)))
KGRlZm4gZWFzeS0xNDgKICBbW04gZnJzdCBzY25kIHRocmRdXQogIChsZXQgW24tMnggICAgICAgICAgKCogMiBOKQogICAgICAgIG1vdmUtdG8tZnJzdCAgKGlmICg9IChtb2QgZnJzdCBOKSAwKQogICAgICAgICAgICAgICAgICAgICAgIG4tMngKICAgICAgICAgICAgICAgICAgICAgICAoKyBuLTJ4IGZyc3QpKQogICAgICAgIHNjbmQtbWludXMtTiAgKC0gTiBzY25kKQogICAgICAgIG1vdmUtdG8tc2NuZCAgKGlmICg9IChtb2QgKCsgc2NuZC1taW51cy1OIGZyc3QpIE4pIDApCiAgICAgICAgICAgICAgICAgICAgICAgKCsgTiBmcnN0KQogICAgICAgICAgICAgICAgICAgICAgICgrIHNjbmQtbWludXMtTiBmcnN0IE4pKQogICAgICAgIHNjbmQtbWluLXRocmQgKE1hdGgvYWJzICgtIHNjbmQgdGhyZCkpCiAgICAgICAgbW92ZS10by10aHJkICAoaWYgKHplcm8/IHNjbmQtbWluLXRocmQpCiAgICAgICAgICAgICAgICAgICAgICAgIE4KICAgICAgICAgICAgICAgICAgICAgICAgKE1hdGgvYWJzIHNjbmQtbWluLXRocmQpKV0KICAgICgrIG1vdmUtdG8tZnJzdCBtb3ZlLXRvLXNjbmQgbW92ZS10by10aHJkKSkpCgoocHJpbnRsbiAoZWFzeS0xNDggJyg1IDEgMiAzKSkp