Firstly, I work to know how the moving array's order is. calculate every array's address out. it has its moving order.
using string function to get the solid address, build them to 2D array. then index two column array and two row array which are all the side by the 2D array ( string address array).namely ,index round of the 2D array's array, when you achieved index an action, delete a history. the other round of array address's process is all the same. the last reshape indexed array to 1D. secondary, input the reshaped 1D array address to "replace array" function. then you got it.
________________________________________________________
Try to make everything Automatic