(defn mz [f]
(let [q (int-array 1000 0)]
(fn [x]
(when (= 0 (aget q x))
(aset q x (f x)))
(aget q x))))
KGRlZm4gbXogW2ZdCiAgICAobGV0IFtxIChpbnQtYXJyYXkgMTAwMCAwKV0KICAgICAgICAoZm4gW3hdCiAgICAgICAgICAgICh3aGVuICg9IDAgKGFnZXQgcSB4KSkKICAgICAgICAgICAgICAgIChhc2V0IHEgeCAoZiB4KSkpCiAgICAgICAgICAgIChhZ2V0IHEgeCkpKSkK