!YS-v0
defn main(*list):
say:
reduce _ list:V range(list.#.-- 1 -1):
fn(v i):
r =: i:rand-int
assoc v: i (v r) r (v i)