+ input-x (mapv (fn [[[p _ _] [v _ _]]] [[p] [v]]) input)
+ input-y (mapv (fn [[[_ p _] [_ v _]]] [[p] [v]]) input)
+ input-z (mapv (fn [[[_ _ p] [_ _ v]]] [[p] [v]]) input)
+ simulate (iterate step-simulation input)
+ simulate-x (iterate step-simulation input-x)
+ simulate-y (iterate step-simulation input-y)
+ simulate-z (iterate step-simulation input-z)]