Finally nailing down dynamic input and output placements