DBCAZYXWVUTSRQPONMLKJIHGFE 2354 MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE SWAP MOVE MOVE SWAP