#### M12 Cube

The goal of the puzzle is first to randomize and then restore the cube by using combinations of just two basic moves ('Invert Move' and 'Merge Move'). These moves only affect edges, which are numbered from 1 through 12. In the inital state, any edge and the two neighbouring corners show a same number. Since corners stay at the same place, they can be used as a reference frame to move edges back to their initial locations.

#### Reset the cube

Click the 'Reset' button to set the cube to its initial state.

#### Randomize the cube

Click the 'Randomize' button to set the cube to a new random state.

#### Solve the cube

Click the 'Invert Move (I)' or 'Merge Move (M)' buttons to apply basic moves.

The new moves will be added to the 'Sequence of Moves'. The current state of the cube is displayed under 'Permutation'.

#### Invert Move (I)

The 'I' move swaps 2 edges in each of 6 pairs, which reverses the order of the numbers on the cube:

[12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

(12,1) (11,2) (10,3) (9,4) (8,5) (7,6)

#### Merge Move (M)

The 'M' move cycles 11 out of 12 edges, which literally shuffles the numbers:

[1, 12, 2, 11, 3, 10, 4, 9, 5, 8, 6, 7]

(12,2,3,5,9,8,10,6,11,4,7)

#### Undo moves

Click the 'Undo' button to undo previous moves. The entire sequence of moves, from the last to the first can be undone, by clicking repeatedly the 'Undo' button.

#### Optimal solution

When 'Show optimal solution' is selected, the shortest sequence of moves for the current state of the cube is displayed. Enter these moves step by step in order to optimally solve the cube.

#### Permutation

Permutation notations are used to describe how edge pieces are permuted. Changes always happen in cycles. If an edge moves to another edge location, then the latter must move as well. This may trigger more location changes until one edge closes the cycle back by moving to the start location.

#### M12 Array Notation

In this notation, all elements are listed in a row and enclosed in square brackets. Elements are separated by commas.
Changes are displayed by listing elements in a different order. e.g. [**12**, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, **1**]
shows that edges '1' and '12' have swapped their locations.

#### M12 Cycle Notation

This notation displays only elements that have moved. Cycles are enclosed in parenthesis. The elements of a given cycle are separated by commas, e.g. 3-cycle (8,1,3) shows that edge '8' has moved to position '1', edge '1' has moved to position '3' and edge '3' has moved to position '8'. 2 2-cycles (1,12) (2,11) denotes two disjoint cycles: edges '1' and '12' have swapped their locations and the same for edges '2' and '11'.