(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