(defn multi
[coll x]
(list* (map #(* % x) coll)))
(defmacro lolmacro
[& lists]
`(fn [& xs#]
(list* (map multi [~@lists] xs#))))
(def loltwo (lolmacro [1 2 3] [4 5 6]))
(def lolthree (lolmacro [1 2 3] [4 5 6] [7 8 9]))
(println (loltwo 2 1))
(println (lolthree 3 2 1))
KGRlZm4gbXVsdGkKCVtjb2xsIHhdCgkobGlzdCogKG1hcCAjKCogJSB4KSBjb2xsKSkpCgooZGVmbWFjcm8gbG9sbWFjcm8KCVsmIGxpc3RzXQoJYChmbiBbJiB4cyNdCgkJKGxpc3QqIChtYXAgbXVsdGkgW35AbGlzdHNdIHhzIykpKSkKCihkZWYgbG9sdHdvIChsb2xtYWNybyBbMSAyIDNdIFs0IDUgNl0pKQooZGVmIGxvbHRocmVlIChsb2xtYWNybyBbMSAyIDNdIFs0IDUgNl0gWzcgOCA5XSkpCgoocHJpbnRsbiAobG9sdHdvIDIgMSkpCihwcmludGxuIChsb2x0aHJlZSAzIDIgMSkpCg==