commit 4e4c710131b143cfb6651d23945746f02bf2593e
parent 6184781dbc28669a52de8a3bd95e5815a09fa674
Author: Sebastiano Tronto <sebastiano@tronto.net>
Date: Thu, 31 Jul 2025 15:59:03 +0200
Fixed bug and added tests
Diffstat:
9 files changed, 703 insertions(+), 1603 deletions(-)
diff --git a/src/solvers/coord/solve.h b/src/solvers/coord/solve.h
@@ -20,7 +20,6 @@ STATIC long long solve_coord_dispatch(oriented_cube_t, const char *, unsigned,
const unsigned char *, unsigned, char *,
long long [static NISSY_SIZE_SOLVE_STATS], int (*)(void *), void *);
STATIC bool coord_solution_admissible(const dfsarg_solve_coord_t [static 1]);
-STATIC bool solve_coord_dfs_stop(const dfsarg_solve_coord_t [static 1]);
STATIC bool coord_continue_onnormal(const dfsarg_solve_coord_t [static 1]);
STATIC bool coord_continue_oninverse(const dfsarg_solve_coord_t [static 1]);
STATIC int64_t solve_coord_dfs(dfsarg_solve_coord_t [static 1]);
@@ -39,34 +38,10 @@ coord_solution_admissible(const dfsarg_solve_coord_t arg[static 1])
}
STATIC bool
-solve_coord_dfs_stop(const dfsarg_solve_coord_t arg[static 1])
-{
- bool hasnissed;
- uint8_t n, pval;
- uint64_t coord;
- const cube_t *c;
-
- n = arg->solution_moves->nmoves + arg->solution_moves->npremoves;
- if (n >= arg->target_depth)
- return true;
-
- hasnissed = arg->solution_moves->nmoves > 0 &&
- arg->solution_moves->npremoves > 0;
- if (!hasnissed && (arg->nissflag & NISSY_NISSFLAG_MIXED))
- return false;
-
- c = arg->lastisnormal ? &arg->cube : &arg->inverse;
-
- coord = arg->coord->coord(*c, arg->coord_data);
- pval = get_coord_pval(arg->coord, arg->ptable, coord);
-
- return n + pval > arg->target_depth;
-}
-
-STATIC bool
coord_continue_onnormal(const dfsarg_solve_coord_t arg[static 1])
{
- uint8_t flag, nn, ni, swbound_n, swbound_i;
+ uint8_t flag, nn, ni, swbound_n, swbound_i, pval;
+ uint64_t coord;
flag = arg->nissflag;
nn = arg->solution_moves->nmoves;
@@ -82,6 +57,14 @@ coord_continue_onnormal(const dfsarg_solve_coord_t arg[static 1])
if (nn + ni == 0)
return true;
+ /* Pruning table check */
+ if (!(flag & NISSY_NISSFLAG_MIXED) || ni != 0) {
+ coord = arg->coord->coord(arg->cube, arg->coord_data);
+ pval = get_coord_pval(arg->coord, arg->ptable, coord);
+ if (nn + ni + pval > arg->target_depth)
+ return false;
+ }
+
if (arg->lastisnormal) {
/* Can continue if we have already switched */
if (ni > 0)
@@ -111,7 +94,8 @@ coord_continue_onnormal(const dfsarg_solve_coord_t arg[static 1])
STATIC bool
coord_continue_oninverse(const dfsarg_solve_coord_t arg[static 1])
{
- uint8_t flag, nn, ni, swbound_n, swbound_i;
+ uint8_t flag, nn, ni, swbound_n, swbound_i, pval;
+ uint64_t coord;
flag = arg->nissflag;
nn = arg->solution_moves->nmoves;
@@ -127,6 +111,14 @@ coord_continue_oninverse(const dfsarg_solve_coord_t arg[static 1])
if (nn + ni == 0)
return true;
+ /* Pruning table check */
+ if (!(flag & NISSY_NISSFLAG_MIXED) || nn != 0) {
+ coord = arg->coord->coord(arg->inverse, arg->coord_data);
+ pval = get_coord_pval(arg->coord, arg->ptable, coord);
+ if (nn + ni + pval > arg->target_depth)
+ return false;
+ }
+
if (!arg->lastisnormal) {
/* Can continue if we have already switched */
if (nn > 0)
@@ -157,7 +149,7 @@ STATIC int64_t
solve_coord_dfs(dfsarg_solve_coord_t arg[static 1])
{
bool lastbackup;
- uint8_t m, l, nnbackup, nibackup;
+ uint8_t m, l, nnbackup, nibackup, nmoves;
uint32_t mm;
uint64_t coord;
int64_t n, ret;
@@ -171,14 +163,15 @@ solve_coord_dfs(dfsarg_solve_coord_t arg[static 1])
arg->solution_settings, arg->solution_list);
}
- if (solve_coord_dfs_stop(arg))
- return 0;
-
backup_cube = arg->cube;
backup_inverse = arg->inverse;
lastbackup = arg->lastisnormal;
nnbackup = arg->solution_moves->nmoves;
nibackup = arg->solution_moves->npremoves;
+ nmoves = nnbackup + nibackup;
+
+ if (nmoves >= arg->target_depth)
+ return 0;
ret = 0;
if (coord_continue_onnormal(arg)) {
diff --git a/tools/404_solvetest_opt0_DR_UD/scrambles.h b/tools/404_solvetest_opt0_DR_UD/scrambles.h
@@ -0,0 +1,199 @@
+struct {
+ char *scramble;
+ char *solutions;
+} s[] = {
+[0] = {
+ .scramble = "F2 D' F2 U2 R F2 R2 B' L U' L2 U' L2 U R2 U F2 U B2 R2 F2 D2",
+ .solutions =
+ "(F2 D' F2 U2 R F2 R2 B' L)\n"
+ "(F2 D' F2 U2 R' B2 L2 B L)\n"
+},
+[1] = {
+ .scramble = "L2 U' B' R2 D2 L U R' F U2 B' L2 U2 B L2 F' D2 F U2 L2 D2",
+ .solutions =
+ "F2 D2 F B' L D' R' L2 B\n"
+ "F2 R2 F D B R' L' U' B\n"
+ "F' R D L D' L' B L' B\n"
+ "F' R D B L' U' F2 U B\n"
+ "F' R' D L D' L' B L' B\n"
+ "F' R' D B L' U' F2 U B\n"
+ "U2 R2 D B U2 R' L2 B L\n"
+ "F' R B L' B D L' U' L\n"
+ "F' R' B L' B D L' U' L\n"
+ "F' L B U2 D' R D' F' L\n"
+ "(F2 B D R' L D2 B' L2 F)\n"
+ "(F2 B D F2 R L' B' U2 F)\n"
+ "(F2 B D R' L D2 F' D2 B)\n"
+ "(F2 B D F2 R L' F' L2 B)\n"
+},
+[2] = {
+ .scramble = "R F2 D2 R2 U' F B2 D' F2 R F2 R F2 U2 R U2 R' U2 B2 L D2 R",
+ .solutions =
+ "R U B D2 F2 L' D R L\n"
+ "R U B D2 F2 L' D' R L\n"
+ "(U2 F2 R' F2 R2 U' D2 F' R)\n"
+},
+[3] = {
+ .scramble = "R2 U2 L2 U L2 F D' L2 U' R D R2 U' R2 D R2 B2 U B2 L2 D'",
+ .solutions =
+ "U2 R2 F' U' R' U F2 U' F\n"
+ "R2 F D' B2 L' D F2 D' F\n"
+ "L' F' U2 R' U' F' U2 D2 R\n"
+},
+[4] = {
+ .scramble = "U2 F' U B R2 U2 D' L' D R' F' L2 B' R2 D2 R2 U2 B2 R2 F' L2 B' L2",
+ .solutions =
+ "(R2 F' R' D2 B2 U F' B D R)\n"
+ "(U L' F' U' L' B' R F U' L)\n"
+},
+[5] = {
+ .scramble = "U D R' F2 B2 D L F D' B U B2 L2 U2 R2 U' B2 D2 B2 L2 F2",
+ .solutions =
+ "U' D' F' D' F' L2 F B' R\n"
+ "U D B' D' B' R2 F' B L\n"
+},
+[6] = {
+ .scramble = "R' F2 R' U' F2 D2 F2 D B' R' F2 R D2 L2 B2 L2 B2 D2 L U2 L'",
+ .solutions =
+ "D' L U' L' D' R2 F2 D' F\n"
+ "L U' L B' U D2 F R2 F\n"
+ "F U D2 R B2 R' U2 R2 F\n"
+ "F U R L' F2 R D2 L F\n"
+ "L U' L B' U D2 B U2 B\n"
+ "F U D2 R B2 R' D2 L2 B\n"
+},
+[7] = {
+ .scramble = "D' B2 U' L B' D R2 F' R2 D2 R D2 L2 F2 U2 F2 U2 R' D2 F2 L2 F2",
+ .solutions =
+ "U' D F U2 D F B2 L F\n"
+ "R2 U' L B L' D' R' D2 F\n"
+ "U' D' F' R' F2 L2 B2 D B\n"
+ "L2 D' L F L' U' R' U2 B\n"
+},
+[8] = {
+ .scramble = "R' B U2 D F L' D' F' L U R2 B2 U2 F2 L2 U' B2 U2 B2 U' R2 D'",
+ .solutions =
+ "(R' B U2 D F L' D' F' L)\n"
+},
+[9] = {
+ .scramble = "U' B R2 U2 R U' F2 D' L2 F' U2 L2 B2 R2 F2 U' D2 F2 U' L2 D",
+ .solutions =
+ "F L' F' B R2 B2 D B L\n"
+ "(U' B' U2 R U2 B2 R U' F)\n"
+ "(U' B' U2 L F2 U2 L D' B)\n"
+},
+[10] = {
+ .scramble = "D' L2 F2 R L' F D R L U' F2 U L2 U L2 F2 U2 B2 D' B2 U2",
+ .solutions =
+ "R2 F2 D' L B R2 B2 D2 R\n"
+ "R2 F2 D' L B L2 F2 U2 R\n"
+ "R2 F2 D R F' U2 R F' L\n"
+ "R2 F2 D' L B R2 F2 U2 L\n"
+ "R2 F2 D' L B L2 B2 D2 L\n"
+ "L' B2 D2 F L2 F2 R2 U' L\n"
+ "(R B2 U' R' F2 R U' F L)\n"
+ "(D' L2 F2 R L' F D R L)\n"
+ "(D' L2 F2 R L' F D' R L)\n"
+},
+[11] = {
+ .scramble = "L' D B2 D' L' B R L' B L2 U2 F2 U R2 L2 F2 D F2 U' F2 U' R2",
+ .solutions =
+ "(L' D B2 D' L' B R L' B)\n"
+},
+[12] = {
+ .scramble = "D F D' L2 U L B' U2 R F2 L2 B2 D' B2 D' L2 D' F2 B2 U' L2",
+ .solutions =
+ "(D F D' L2 U L B' U2 R)\n"
+ "(L B L2 D F' L2 D F' L)\n"
+},
+[13] = {
+ .scramble = "F2 D2 L F2 R' L' F2 B R' U2 R2 U' R2 D B2 D' L2 U' R2 D2",
+ .solutions =
+ "R L B' R B' R2 B2 U F\n"
+ "R2 L B R' B2 R' B2 U F\n"
+ "R U' L B' U' R F2 U2 B\n"
+ "R U' L B' U' R B2 D2 B\n"
+ "U2 F2 R' D F U2 L' F2 R\n"
+ "U' L' F U F2 D R' F2 R\n"
+ "U2 F2 R' D F U2 R' D2 L\n"
+ "U' D2 F' R' B2 D R' B' L\n"
+ "U' L' F U F2 D L' U2 L\n"
+ "F' L F U2 L2 U' F' U2 L\n"
+ "F' L F D2 R2 U' B D2 L\n"
+ "(F2 U2 B D2 R B' D2 L' F)\n"
+ "(L U2 D' B R B2 U2 R' B)\n"
+ "(F2 D2 L F2 R' L' F2 B R)\n"
+ "(R' U2 L2 F2 L U2 F' B2 L)\n"
+},
+[14] = {
+ .scramble = "D' B' U' R' L' D L' U' B' D F R2 D2 L2 F' R2 B U2 D2 B2 D2",
+ .solutions =
+ "L2 U B2 R L' F U2 L D' F\n"
+ "F' L2 B' R B2 L2 D' L U2 F\n"
+ "D' L B U L' D' L' U F B\n"
+ "D' L B U L' D' L' U' F B\n"
+ "U F R U' L B' R2 L2 B' R\n"
+ "U' D L' F R U' D2 F' D2 R\n"
+ "D2 F' D R F U' L' F U R\n"
+ "B2 R' D B R F U' D2 F R\n"
+ "U F R U' L F' U2 D2 F' L\n"
+ "L U L' F R L U D2 F' L\n"
+ "F2 L' U B L F U2 D' F L\n"
+ "(U R' L' U2 D2 F' R U' D2 F)\n"
+ "(R' B U F2 U R' U' R' L' F)\n"
+ "(R' B U' L2 U2 F2 R' B2 L' F)\n"
+ "(U' R' L B U2 F D2 R U B)\n"
+ "(D2 B L2 U' D B' L B2 R' B)\n"
+ "(D2 B L2 U' D2 B R' B2 L B)\n"
+ "(R2 B R U B2 L D2 R U2 B)\n"
+ "(R' B U' R2 D2 B2 R' F2 L' B)\n"
+ "(U B' R B2 R L2 U' F' B2 L)\n"
+ "(F2 B' R2 L D' R2 B' U2 B' L)\n"
+},
+[15] = {
+ .scramble = "F2 D' F2 R2 F' U R D' F B2 L D2 R' D2 R' B2 L F2 L' D2 B2",
+ .solutions =
+ "L' U' R D' F D' L2 D B\n"
+},
+[16] = {
+ .scramble = "U' F2 L F D' B2 U' R U L2 F U2 F L2 F2 U2 B' R2 L2 D2 F2",
+ .solutions =
+ "R2 U' L' B' D' B R2 D' B\n"
+ "F' B U' R2 B2 U F' D2 R\n"
+},
+[17] = {
+ .scramble = "F R L2 U B' D2 F' L2 U2 D' F2 U2 R2 F U2 R2 B U2 D2",
+ .solutions =
+ "(L2 F R' U D2 L2 F' R2 F)\n"
+ "(L2 F R' U D2 L2 B' D2 B)\n"
+},
+[18] = {
+ .scramble = "F' U' L' F L' D2 F U' F B2 R D2 B2 L' F2 L U2 D2 F2 R B2",
+ .solutions =
+ "D2 L' B R U D2 B' D R\n"
+ "B U F' U' R U F2 B R\n"
+},
+[19] = {
+ .scramble = "U2 R2 L D2 B' U' B2 R2 F R2 L U' F2 U2 B2 U L2 D2 L2 U B2",
+ .solutions =
+ "(D' R2 U' B' L' U L' F R F)\n"
+ "(L F B D' R' F' U' L2 D F)\n"
+ "(L' D F R' B2 U F' L' U' F)\n"
+ "(L' B' L2 B' U L2 F' U2 L' F)\n"
+ "(D2 F' R L U' B2 L2 F' U' R)\n"
+ "(R2 U' B2 R F D F B' D R)\n"
+ "(L2 D' F2 R B U F' B U R)\n"
+ "(B D F' U2 L U2 R' U2 F' R)\n"
+ "(U2 R2 L D2 B' U' B2 R2 F L)\n"
+ "(D R U' B' U' D2 F2 R' B L)\n"
+ "(R B R2 U2 F2 R' D' B D2 L)\n"
+ "(B U L' F' U' R D' R B' L)\n"
+ "(B D R' L2 B' R' B R F' L)\n"
+ "(B D F' R' D' R D' R B' L)\n"
+ "(B' U2 F' L F2 U2 B D F' L)\n"
+ "(B' U2 F' L B U2 F2 D F' L)\n"
+},
+{
+ .scramble = "", /* End-of-list signal */
+}
+};
diff --git a/tools/404_solvetest_opt0_DR_UD/solvetest.c b/tools/404_solvetest_opt0_DR_UD/solvetest.c
@@ -0,0 +1,8 @@
+#define NISSFLAG NISSY_NISSFLAG_LINEAR
+#define MINMOVES 0
+#define MAXMOVES 20
+#define MAXSOLUTIONS 500
+#define OPTIMAL 0
+
+#include "scrambles.h"
+#include "../solvetest.h"
diff --git a/tools/404_solvetest_opt1_DR_UD/scrambles.h b/tools/404_solvetest_opt1_DR_UD/scrambles.h
@@ -1,1563 +0,0 @@
-struct {
- char *scramble;
- char *solutions;
-} s[] = {
-[0] = {
- .scramble = "U2 D' B U B' R L2 F L F2 R2 B U2 L2 F' U2 R2 B2 L2 B2 L2",
- .solutions =
- "R' D F' R2 L' D2 F' U R\n"
- "R' U2 L' F L2 B' R L' U F\n"
- "U F D2 R U B U2 F L B\n"
- "D F' D' F2 B' R D R2 L B\n"
- "D2 L F' R' B L B' U D2 B\n"
- "R' D2 R' B R2 F' R' L U B\n"
- "B' D2 F' R' L' D' B L2 U' B\n"
- "U R L' U' B' D2 F' L' F2 R\n"
- "D L' F B D B D' L' B' R\n"
- "F D' R' F2 B L2 D2 F U' R\n"
- "F' L' D' R' F' R D' F' U R\n"
- "U R L' U' B' D2 F' R' D2 L\n"
- "R U2 L' B L U2 B2 D F L\n"
- "R' U2 D' B' R' L2 D2 B' U L\n"
- "L2 D2 F' U2 L2 U2 R' U' F' L\n"
- "F D' R' F B2 D2 R2 B D' L\n"
- "(F2 U' D' R D' B L B D' F)\n"
- "(D L' B R' U B2 U F D2 R)\n"
- "(L2 D R F L' U2 F B D' R)\n"
- "(D L' B R' U2 F D F2 U L)\n"
- "(D L' B R' U2 F' U L2 D L)\n"
-},
-[1] = {
- .scramble = "B' R D2 L2 B' D2 F U' L' B U R2 D' F2 L2 D2 F2 D' B2 U' B2 D'",
- .solutions =
- "(B' R F' D2 B L2 U R' F)\n"
- "R' B' U2 R B R' L B' D' F\n"
- "L U2 L2 D2 L2 B' R U L2 F\n"
- "L' U' F2 B' U2 B2 L B2 D F\n"
- "B L U' F B D' B2 D2 R' F\n"
- "R L F R F U2 F2 R' U' B\n"
- "R2 L' F L2 U2 R U' R2 U' B\n"
- "B' R' F2 D L F' R' F' L B\n"
- "L' F B' R2 D R2 L2 B D R\n"
- "(B' R U2 R2 F' D2 B U' R' F)\n"
- "(U' B U2 R L2 D' F L U' B)\n"
- "(B' R D2 L2 B' D2 F U' L' B)\n"
- "(L U2 B' U' F' R B' U' F' R)\n"
-},
-[2] = {
- .scramble = "F2 L U' F U' L' U' F R D L2 F2 U B2 D R2 U F2 U F2 B2 D2",
- .solutions =
- "F R' D R F' U' L' D' R\n"
- "F' L' F B2 L' F2 U D' R\n"
- "F' L' F B2 L' B2 U' D L\n"
- "(F2 L U' F U' L' U' F R)\n"
- "(R L U2 B2 U B L2 B L)\n"
- "(F2 U2 F2 R' D F D2 F L)\n"
- "D L D F' U F' R' U' R2 F\n"
- "D2 F' U R' U L' D' L D2 B\n"
- "R D' R' L U' L2 B' U' L' B\n"
- "U' L' F B2 U F D2 R B2 R\n"
- "U' F2 D F' R' F' R' L U' R\n"
- "U' F2 L' U' D' F U2 F' U' R\n"
- "U' F2 L' U' D' B L2 B' U' R\n"
- "D F2 R F U F L F' D R\n"
- "D' R D' F R F D' B2 D' R\n"
- "R' F D R F U' L U D' R\n"
- "L U F' B' U B U' F' D' R\n"
- "F U' R2 D2 B2 R U2 D F' R\n"
- "F U' R2 B2 R U2 F2 D F' R\n"
- "F U' R2 B2 R' L2 U D2 B' R\n"
- "F R' D R F' B2 U' L' D' R\n"
- "F B2 R' D R F' U' L' D' R\n"
- "F2 U' F L' F' U R' U D' R\n"
- "F' U' L U L2 F U2 F2 D' R\n"
- "F' L' F U2 F2 R B2 U D R\n"
- "F' L' F B2 L' U D F2 D2 R\n"
- "F' L' F B2 L' U' D' F2 U2 R\n"
- "F' L' F' D F2 U' R' L U' R\n"
- "F' B2 L' F B2 L' F2 U D' R\n"
- "U2 D2 B' R' F2 B R' U D' L\n"
- "U' L' F B2 U F D2 L U2 L\n"
- "R' F D R F' D' R U' D L\n"
- "L D' F' D2 R2 U2 B' U F2 L\n"
- "L D' B' L2 D2 R2 F' U F2 L\n"
- "F U' L' D2 R' D2 B2 U' F' L\n"
- "F R' D R F' U D2 R' D' L\n"
- "F2 D2 B R' B' D' R F2 U' L\n"
- "F' U' L U L2 F D2 B2 D' L\n"
- "F' L' F U2 F2 R F2 U D L\n"
- "F' L' F U' L U L2 B2 U' L\n"
- "F' L' F B2 L' U D B2 U2 L\n"
- "F' L' F B2 L' U' D' B2 D2 L\n"
- "F' L' F' U L2 D' R L' U' L\n"
- "F' B2 L' F B2 L' B2 U' D L\n"
- "(U R' U2 F' U' D2 L' U D2 F)\n"
- "(U2 R' B D F' B' L' B2 U' F)\n"
- "(F' L U2 D2 L' U' F R D2 F)\n"
- "(F' R D F U' F' B D L B)\n"
- "(D R B2 R B U B' U D' R)\n"
- "(D' L U2 L F D F' U' D R)\n"
- "(R L U2 B2 U D2 F U2 F R)\n"
- "(R L D2 F D B2 U D' F R)\n"
- "(R2 B2 D2 B L' D' B L D2 R)\n"
- "(R' L' U D' B D2 B D' F2 R)\n"
- "(F2 U2 F2 R' U2 D B R2 B R)\n"
- "(F2 U2 F2 R' D F' B2 U2 F R)\n"
- "(F2 L' B' U B L' U' L' F2 R)\n"
- "(F' U' F D2 L B2 D' B2 U R)\n"
- "(F' U' F' U2 R' F2 D B2 U R)\n"
- "(F' U' F' R L' U F2 L2 D R)\n"
- "(F' U' F' L' F2 D R' U D' R)\n"
- "(F' L D2 R D' B2 U D' F R)\n"
- "(F' B' R' U2 R' U B U' F R)\n"
- "(U' D R' U R F' U' F' D L)\n"
- "(D F2 R' U R F U2 F' D L)\n"
- "(D F' U' R' U R U' F' D L)\n"
- "(D' F2 R2 B2 R' F' L D F' L)\n"
- "(R U2 R2 D' L2 F L' F' U L)\n"
- "(R L U' B R B2 R' L2 B L)\n"
- "(R L' U2 B' U2 L2 U' L2 B L)\n"
- "(R F2 L U2 B2 U B L2 B L)\n"
- "(R B2 R' D2 F2 U B L2 B L)\n"
- "(R2 B2 D2 B L' D' B R F2 L)\n"
- "(R2 B2 R L' F2 D F L2 F L)\n"
- "(R' U L B L2 B2 R' B D2 L)\n"
- "(L U R' D2 F' D F U D L)\n"
- "(L D2 R U2 B2 U B L2 B L)\n"
- "(L2 U2 F B2 D' R' D' R F' L)\n"
- "(L2 F2 U2 R L' U B L2 B L)\n"
- "(F2 U2 F2 D F R' D' F D2 L)\n"
- "(F2 U2 F2 B2 R' D F D2 F L)\n"
- "(F2 L U R' U F' D F D L)\n"
- "(F2 L' B' U B L' U' R' D2 L)\n"
- "(F' U2 B2 R U R2 F' L2 U' L)\n"
- "(F' U' F R2 L2 U R' B2 U L)\n"
- "(F' U' F R' D' L2 U' R2 B2 L)\n"
- "(F' U' F R' D' L2 U' L2 F2 L)\n"
-},
-[3] = {
- .scramble = "B U R' U F' B2 R F2 L F2 L2 U D2 R2 F2 D L2 U R2 D2 L2 U'",
- .solutions =
- "U F2 R' D L F' U2 L2 F\n"
- "U F2 R' D L B' L2 D2 F\n"
- "U F2 R' D L F' D2 R2 B\n"
- "U F2 R' D L B' R2 U2 B\n"
- "(B R2 U2 R U' F U2 L F)\n"
- "(B L2 D2 R D' B D2 L B)\n"
- "(B U R' U F' B2 L D2 R)\n"
- "(B U R' U F' B2 R F2 L)\n"
- "U F2 R' D L F B2 D2 R2 F\n"
- "U F2 R' D L F2 B R2 U2 F\n"
- "U2 B U D' B D B' R' L F\n"
- "U' D2 B2 L' D R F' L2 U2 F\n"
- "U' D2 B2 L' D R B' D2 L2 F\n"
- "U' L F R U2 F2 D F' L' F\n"
- "U' L F R' U2 B2 U F' R' F\n"
- "U' L' U2 D L U2 D' R' L2 F\n"
- "L2 U2 L' U' F2 R' D L' D2 F\n"
- "F D B2 D2 F' U' F2 R L' F\n"
- "F D' F2 U2 F U' R L' U2 F\n"
- "F2 L2 B L2 U' R2 D' R L F\n"
- "F2 L2 B L2 D' F2 U' R L F\n"
- "B L U F2 R D2 R2 D' L' F\n"
- "B2 R2 B' L2 U F2 D R' L' F\n"
- "B2 R2 B' L2 D R2 U R' L' F\n"
- "B' L B' L U F2 R' D L' F\n"
- "U F2 R' D L F B2 U2 L2 B\n"
- "U F2 R' D L F2 B L2 D2 B\n"
- "U' D2 B2 L' D R F' R2 D2 B\n"
- "U' D2 B2 L' D R B' U2 R2 B\n"
- "U' L F' R U2 L2 U' B' L' B\n"
- "U' F2 R D L' U2 B L2 D B\n"
- "D2 F U D' F D F' R L' B\n"
- "D' R U D' L' B2 R B2 R B\n"
- "L B U' D' R D' L' U R2 B\n"
- "L2 D2 R' U' B2 L' D R' D2 B\n"
- "F D' F2 U2 F U' R' L D2 B\n"
- "U' F' L' F' D R D L2 F L\n"
- "B L U R F' D2 R2 F D L\n"
- "(U2 F' L' D2 R' D R F R F)\n"
- "(D' L B U2 R' F' L' B2 U F)\n"
- "(L' U2 B D F R D' B L' F)\n"
- "(B R2 U2 B2 R U' F U2 L F)\n"
- "(U2 L F U D' B U R L B)\n"
- "(D' B L2 B2 U2 L B R U B)\n"
- "(R L2 D' B' L' U L2 U R B)\n"
- "(B L2 D2 F2 R D' B D2 L B)\n"
- "(B' L2 B' L U2 B' D' F2 L B)\n"
- "(U2 R L F D R L F' U2 R)\n"
- "(D' R D2 B L2 D F2 B U' R)\n"
- "(D' R' F2 R2 D' B' R' B2 U2 R)\n"
- "(D' R' F2 R2 D' B' L' U2 F2 R)\n"
- "(R L2 D' B L' B U L2 B' R)\n"
- "(L U D' R L B R' L U' R)\n"
- "(L F B L F B' D F2 D2 R)\n"
- "(F U' R' D R' U B' L' D R)\n"
- "(F U' L2 F2 D F U' L' U' R)\n"
- "(F L F U2 F2 R' U2 F' D' R)\n"
- "(F L F B2 L D2 F' B2 D' R)\n"
- "(F B' R F2 D R' L' D F R)\n"
- "(B U R' U F' B2 R2 L' U2 R)\n"
- "(D' R D B U2 R2 F R2 U2 L)\n"
- "(D' R D B U2 R2 F L2 D2 L)\n"
- "(D' R D B R' L2 D2 R B' L)\n"
- "(D' R D' L2 U2 F' R2 U2 B' L)\n"
- "(D' R' F2 R2 D' B' R' F2 D2 L)\n"
- "(D' R' F2 R2 D' B' L' D2 B2 L)\n"
- "(D' B2 L2 U B L2 F2 R' D' L)\n"
- "(D' B2 L2 U B' L2 F2 R D' L)\n"
- "(R B R2 U2 F' U' R F2 U' L)\n"
- "(L D' R L B L' B L' B L)\n"
- "(L F B L F B' D B2 U2 L)\n"
- "(F' D' B2 L' U L' B' R' U L)\n"
- "(B U R2 F U F' R U F L)\n"
- "(B U R' U F' B2 R' L2 B2 L)\n"
- "(B' L' D2 R' B' L' D2 B' D' L)\n"
-},
-[4] = {
- .scramble = "U' D2 B2 L2 D F2 R' D B D2 R' D2 B2 L2 F2 R' D2 L D2 F2 U2 L",
- .solutions =
- "R D' F R D2 L B2 U2 L' F\n"
- "R2 L' D2 L2 B2 D R D' L' F\n"
- "R' B R' U2 B U R' U' D F\n"
- "L' F2 R L B2 U2 R' U' R' F\n"
- "F2 L D2 L F2 D2 R2 U' R' F\n"
- "B2 L' U R U' R2 D2 L D F\n"
- "R D' F2 U R' D2 F2 U2 L B\n"
- "R L B U B2 U' L F2 D2 B\n"
- "R L B U B2 U' L B2 U2 B\n"
- "R L B' U' L' B U' F2 R2 B\n"
- "R L B' U' L' B U' B2 L2 B\n"
- "L U2 R2 B2 L2 B2 L' D' R' B\n"
- "L F2 R2 B2 D2 F2 R' U' L' B\n"
- "L B2 R U' L U' F2 D R2 B\n"
- "L B2 R U' L D F2 U' R2 B\n"
- "L B2 L2 F2 D2 B2 L' D' R' B\n"
- "F2 R L U' D B L2 D L' B\n"
- "U' R2 D' F' R D2 F B2 D' R\n"
- "R' D2 R F R' B2 U2 F2 U' R\n"
- "R' D2 R2 B2 R' F U F2 U' R\n"
- "R' D2 L2 F2 U2 R' D2 B' D' R\n"
- "L U2 R2 B2 L B D B2 D' R\n"
- "L D2 L2 D' F2 L' F L2 D R\n"
- "L2 D2 B2 R' F R' L F U' R\n"
- "F2 D2 L2 F D2 L' F R2 U' R\n"
- "F2 R2 B' U2 R2 L' F R2 U' R\n"
- "F' L U2 R2 B L D2 L2 D R\n"
- "R' D2 R F R' B2 D2 B2 U' L\n"
- "R' D' R F R2 U2 F' D2 F' L\n"
- "F' L D2 L2 F R D2 L2 U L\n"
- "(R2 B2 U2 F' L' F2 D2 R2 U R)\n"
- "(R' L2 D R2 U R L' D F' R)\n"
- "(L U' F2 R L' D' R F' B2 R)\n"
- "(L U' B' R' L D2 R F2 B' R)\n"
- "(L B' L D2 B D2 L' U' B2 R)\n"
- "(L2 U' R' D2 R F' B' R2 F' R)\n"
- "(F2 L U' B' R2 D B2 R2 B R)\n"
- "(B2 R D' B' L2 U B2 L2 B L)\n"
- "(B' L B' D2 R' B' U F2 B2 L)\n"
- "U B2 R U B2 R2 B2 U2 R D F\n"
- "U B2 R U' R2 B U2 B R' D F\n"
- "U2 L2 U' R B2 U' L D' R2 D' F\n"
- "U2 L2 B2 L' F2 L U' D2 R2 L F\n"
- "U2 B R' U2 F R' F' D' R D2 F\n"
- "U2 B2 R' U D' B2 D' R U2 R2 F\n"
- "U2 B2 R' B R' U2 D R F2 L' F\n"
- "D2 R2 U R D' L2 D B2 R2 L F\n"
- "D2 R' L D2 R U' F2 U D' R F\n"
- "D2 F2 R2 L' B R2 F D' R L2 F\n"
- "D2 F2 L' D2 F2 D2 R2 B2 U R' F\n"
- "D2 F2 L' D' L2 F L2 F D R F\n"
- "D2 F2 L' D' F2 R2 B2 R2 D R F\n"
- "D2 F2 L' F' R2 B' L2 B' U R' F\n"
- "D' B' R D L2 U2 R2 F B R F\n"
- "D' B' R L2 D B' L2 D2 B2 L F\n"
- "R U' L' D2 F2 D F' L2 U L' F\n"
- "R D2 R2 L' D' L U F2 U' L2 F\n"
- "R D2 L2 U' L D' L' F L2 U F\n"
- "R D' F R2 L' F2 L D2 B2 R' F\n"
- "R D' F L B2 L U2 F2 R L2 F\n"
- "R L U' L2 D L' F2 L2 U D F\n"
- "R L B U B2 U' L F B R2 F\n"
- "R L B U B2 U' L F' B' L2 F\n"
- "R L B U B2 D R2 U' D' L' F\n"
- "R L B' U' L' B U' F B U2 F\n"
- "R L B' U' L' B U' F' B' D2 F\n"
- "R L2 U L D L U2 F2 L2 U' F\n"
- "R L2 U L D L' U2 F2 L2 U F\n"
- "R L2 U2 L D L' U F2 L2 U F\n"
- "R L' U L2 U' D L U' F2 L2 F\n"
- "R L' U L2 U' D L U' B2 R2 F\n"
- "R L' D L' F U L2 U2 F2 L2 F\n"
- "R L' D L' F U L2 U2 B2 R2 F\n"
- "R L' D2 R2 D' L' D' F' L2 D F\n"
- "R F B2 U F' B' R B R D F\n"
- "R F' B2 R2 F2 U R' F2 R' D F\n"
- "R B U2 R D' R' B U F U' F\n"
- "R B U2 R D' R' B' U F U' F\n"
- "R2 D' R L' D' L' F D' F2 L2 F\n"
- "R2 D' R L' D' L' F D' B2 R2 F\n"
- "R2 D' B2 L' B' D B' D2 R L F\n"
- "R2 L B2 D2 R U' L F2 U D' F\n"
- "R2 L' D2 L2 B2 R2 F2 L' U' R' F\n"
- "R2 L' F2 U2 R2 F2 D' R D' L' F\n"
- "R2 B2 D2 R U B2 D2 R' U' D' F\n"
- "R' U2 R2 B R' U2 R2 D' R D2 F\n"
- "R' D F' R2 B2 R D2 R' F R2 F\n"
- "R' D F' R2 B2 L B2 L' F R2 F\n"
- "R' D2 R2 B U' B' L F U L' F\n"
- "R' D2 R2 B2 R L D R D' L' F\n"
- "R' D2 R2 B2 R' L F2 L' U' R' F\n"
- "R' D2 R' L D2 L2 D' R D' L' F\n"
- "R' D2 L U2 R U2 F2 L' U' R' F\n"
- "R' D2 L2 D' L2 F2 U' L U L F\n"
- "R' D2 F2 R2 U R2 U' L U L F\n"
- "R' D' L' F' D' F L' D' F2 L2 F\n"
- "R' D' L' F' D' F L' D' B2 R2 F\n"
- "R' D' B R' U2 B U2 R F U2 F\n"
- "R' L' D' F2 U2 B2 R B2 L2 U F\n"
- "R' L' D' B2 D2 B2 L B2 R2 D F\n"
- "R' B R D' R U F U B' D2 F\n"
- "R' B2 U' R' U2 R' B2 D F2 D2 F\n"
- "R' B2 U' R' U2 R' B2 D B2 U2 F\n"
- "R' B2 U' R' U2 R' B2 D' F2 D2 F\n"
- "R' B2 U' R' U2 R' B2 D' B2 U2 F\n"
- "R' B2 R2 F2 U B2 R' F2 R D F\n"
- "R' B2 R' U R' F B2 D B2 U' F\n"
- "R' B2 R' B' R2 D' R U2 B' D2 F\n"
- "R' B' L U' L' B' U R2 B2 D F\n"
- "L U2 L' B' R' D' B2 R U2 D2 F\n"
- "L U2 F2 R2 L' D' R' U2 R2 D2 F\n"
- "L U2 F2 R2 L' D' R' D2 R2 U2 F\n"
- "L D F2 R2 D L2 D' L' U' R' F\n"
- "L F2 D2 F2 L2 D2 R2 L' U' R' F\n"
- "L B2 R U' R2 L' U B2 D' R2 F\n"
- "L B2 R U' R2 L' D' B2 U R2 F\n"
- "L B2 R U' L U' F2 U2 D' L2 F\n"
- "L B2 R U' L D F2 U D2 L2 F\n"
- "L B2 R U' L' U' F2 U2 L2 D' F\n"
- "L B2 R U' L' D F2 D2 L2 U F\n"
- "L2 D2 B2 R' F R' U' L F2 R' F\n"
- "L2 F2 L F' D' F R L F2 D F\n"
- "L2 B2 R L U' D' F L2 U L' F\n"
- "L' D F D F' R2 B2 R' L D F\n"
- "L' F2 R D L B2 R2 D' B2 U F\n"
- "L' F2 R2 L F' R' F B2 U R' F\n"
- "L' F2 L U R' F2 D L2 D2 L F\n"
- "L' F2 L U2 F2 D' L' F2 U' R F\n"
- "L' F2 L U2 B2 U' R' F2 D' L F\n"
- "L' F' D' F R L' U' F' L2 U F\n"
- "F U2 L2 B2 U' R L' F' R L2 F\n"
- "F D R2 D F2 L' F D' B2 R' F\n"
- "F B2 R F2 B D F' U2 R2 L' F\n"
- "F2 R2 L' U2 L B2 U2 L2 U' R' F\n"
- "F2 R' L U' F2 D L' D F2 L' F\n"
- "F2 R' L F2 R' D' B2 R D' L2 F\n"
- "F2 R' L' U D' F' B2 R2 D R' F\n"
- "F2 R' F' D F2 L' F D2 F L' F\n"
- "F2 L U2 D2 L F2 D2 R' U' R' F\n"
- "F2 L U' D' L2 U' L' F2 U' R F\n"
- "F2 L D2 L F' D R' D R2 U' F\n"
- "F2 L D2 L' U2 L2 F2 U' D2 R' F\n"
- "F' D2 R2 F2 U R L' F' R L2 F\n"
- "B D2 R' B L2 B D' L' D R2 F\n"
- "B2 U R U' L U2 L' U2 R2 D F\n"
- "B2 U' L F U' L' F' U2 R' D F\n"
- "B2 D2 R2 U2 R' B2 R U' D2 R' F\n"
- "B2 R U2 D L U L' F L2 U F\n"
- "B2 R D L U' L' U' F U2 L2 F\n"
- "B2 R D L U' L' U' B R2 U2 F\n"
- "B2 R D L U' L' F2 U L2 D F\n"
- "B2 R L' F2 R D2 L U D2 R' F\n"
- "B2 R2 U R' B2 D2 R' U' R D' F\n"
- "B2 R2 F R F' D B2 D' R D F\n"
- "B2 R2 F' D' B2 D' R F' U2 L F\n"
- "B2 R' D R2 U B' R B' R U' F\n"
- "B2 L U2 L U2 L F2 L U R' F\n"
- "B2 L' U R U' R L B2 R D F\n"
- "B' D' L2 B2 R D B' L2 D2 L F\n"
- "B' R B U2 R2 D' B2 R' B D2 F\n"
- "B' R' D L B' D2 F2 R' B L2 F\n"
- "U B2 R U' F L2 D2 F2 R' U B\n"
- "U2 L2 U2 B2 L' F2 L U' D2 L' B\n"
- "U2 L' F' D' F' R2 L' D2 R D B\n"
- "U2 L' F' D' F' R' L2 F2 L D B\n"
- "U2 F2 R2 D L U' D2 R U R' B\n"
- "U2 B2 R' U D' B2 D' R D2 L2 B\n"
- "D R' D L2 F' U' R2 U' D R' B\n"
- "D2 R' D2 R D' L2 U2 D2 B2 L B\n"
- "D2 R' B2 U R2 F2 U L' D' R2 B\n"
- "D' B' R D L2 D2 L2 F B L B\n"
- "D' B' R L2 D B' R2 U2 F2 L B\n"
- "R U2 D B2 U L D2 F2 U2 R' B\n"
- "R D2 L' F' L B2 L2 U2 D R' B\n"
- "R D' F2 U R2 L B2 D2 F2 R B\n"
- "R D' F2 U L' F2 U2 B2 R' L2 B\n"
- "R D' F' D2 L U2 D2 R F2 R B\n"
- "R L U L2 D L' F R2 U D2 B\n"
- "R L U L' U2 B' L U' L U B\n"
- "R L U' L2 D L U' D' F2 R2 B\n"
- "R L U' L2 D L U' D' B2 L2 B\n"
- "R L U' L2 D L' F2 R2 U D B\n"
- "R L B U B2 U' L U2 F2 D2 B\n"
- "R L B U B2 U' L U2 B2 U2 B\n"
- "R L B U B2 U' L D F2 D2 B\n"
- "R L B U B2 U' L D B2 U2 B\n"
- "R L B U B2 U' L D2 F2 D2 B\n"
- "R L B U B2 U' L D2 B2 U2 B\n"
- "R L B U B2 U' L D' F2 D2 B\n"
- "R L B U B2 U' L D' B2 U2 B\n"
- "R L B U' F D2 F2 U' F' R' B\n"
- "R L B' U' L' F2 B R2 B2 D B\n"
- "R L B' U' L' B U' R2 F2 R2 B\n"
- "R L B' U' L' B U' R2 B2 L2 B\n"
- "R L B' U' L' B U' L2 F2 R2 B\n"
- "R L B' U' L' B U' L2 B2 L2 B\n"
- "R L B' U' L' B R2 B2 L2 D B\n"
- "R L' U2 D' F2 B2 R F2 L2 U' B\n"
- "R L' D L' F U R2 D2 F2 R2 B\n"
- "R L' D L' F U R2 D2 B2 L2 B\n"
- "R B2 U2 D L2 D2 R' U' R U B\n"
- "R B' L U' R2 L' D' F R2 U' B\n"
- "R2 D' B2 L' B' D B' U2 R L B\n"
- "R2 L B2 U2 R2 F2 D' L D' R' B\n"
- "R2 L B2 R' U' L' B' U' F2 R2 B\n"
- "R2 L B2 R' U' L' B' U' B2 L2 B\n"
- "R2 L' U D B2 R2 U L D' R' B\n"
- "R2 B2 L2 D' R' D' F2 U D2 R B\n"
- "R' D F' R2 B2 R D2 R' B U2 B\n"
- "R' D F' R2 B2 L B2 L' B U2 B\n"
- "R' D2 F D2 B D' F R F R B\n"
- "R' D' B R' U2 B U2 R B L2 B\n"
- "R' F' R2 L' D L D2 B' U2 D B\n"
- "R' B U' R2 U F' D' R F R B\n"
- "R' B D' B' R' B R' U2 F2 R2 B\n"
- "R' B D' B' R' B R' U2 B2 L2 B\n"
- "R' B R D' R U F U F' R2 B\n"
- "R' B R' U2 B U R L2 U D' B\n"
- "R' B2 U' L' B2 L' F2 U F2 D2 B\n"
- "R' B2 U' L' B2 L' F2 U B2 U2 B\n"
- "R' B2 U' L' B2 L' F2 U' F2 D2 B\n"
- "R' B2 U' L' B2 L' F2 U' B2 U2 B\n"
- "R' B2 D' R2 U2 R L2 U' R U B\n"
- "R' B2 R' B' R2 D' R U2 F' R2 B\n"
- "L U L2 F2 U R2 D' R' U' L' B\n"
- "L U2 R2 B2 R2 L2 U R U' L' B\n"
- "L U2 R' L' D2 L2 D2 R' D' R' B\n"
- "L U2 L2 F2 L2 F2 R2 L D' R' B\n"
- "L U2 F2 R2 L' U D' L2 U' R' B\n"
- "L U2 F2 R2 L' D' R' U2 L2 U2 B\n"
- "L U2 F2 R2 L' D' R' D2 L2 D2 B\n"
- "L U2 F2 L2 B2 L U R L2 U B\n"
- "L U2 F2 L' U2 D2 L2 U2 D R' B\n"
- "L U' R2 B2 L2 D B2 L' D' R' B\n"
- "L F2 D' L D R U2 B' U' L B\n"
- "L F2 D' L D R' U2 B' U' L B\n"
- "L F2 R L U2 B2 D2 L' U' L' B\n"
- "L F2 L2 F2 U2 B2 R L2 U' L' B\n"
- "L B R' B2 U F2 D' B R' U B\n"
- "L B2 R U' L U' R2 B2 U' L2 B\n"
- "L B2 R U' L U' L2 F2 D R2 B\n"
- "L B2 R U' L D R2 B2 D L2 B\n"
- "L B2 R U' L D L2 F2 U' R2 B\n"
- "L B2 R U' L' U' F2 D2 R2 D' B\n"
- "L B2 R U' L' D F2 U2 R2 U B\n"
- "L B2 R L U2 F2 D2 R' D' R' B\n"
- "L B2 R2 U B2 R' U L D R2 B\n"
- "L B2 R2 B2 U2 F2 R2 L D' R' B\n"
- "L B2 L2 F2 D2 R2 U R U' L' B\n"
- "L2 D2 R' D2 R U2 B2 L2 U' L' B\n"
- "L' F2 U2 F2 L2 U2 R2 L' D' R' B\n"
- "L' F2 R D L B2 L2 U' F2 D B\n"
- "L' F2 L U R' F2 D R2 U2 L B\n"
- "L' F' D' F' R' L D B' L2 D B\n"
- "F R F2 D' B L2 F B R' L2 B\n"
- "F2 U2 R2 D' L D' B2 D R' U' B\n"
- "F2 R F2 L U2 F2 R' L' D' R' B\n"
- "F2 R F2 B2 R B2 U2 R' D' R' B\n"
- "F2 R' L U' F2 U B' U B2 R' B\n"
- "F2 L U' D' R2 D' L' B2 D' R B\n"
- "F2 L' F R' L2 U' R2 F2 B R B\n"
- "F2 L' B R' U2 F U' B R' D2 B\n"
- "F2 B' U2 R2 L' F R U' B R' B\n"
- "F' U D F D2 R' B2 U2 D R B\n"
- "F' B2 U' L2 U' R' L B' U2 R' B\n"
- "B2 U R U' L U2 L' D2 L2 D B\n"
- "B2 U2 L2 B2 R' D2 R U D2 L' B\n"
- "B2 U' B2 D2 L' U2 D R' U R2 B\n"
- "B2 D2 R B2 L2 D2 R' U2 D R' B\n"
- "B2 R D L U' L' U' F D2 R2 B\n"
- "B2 R D L U' L' U' B L2 D2 B\n"
- "B2 R2 F2 D2 R D2 R U' D2 L' B\n"
- "B2 R' B2 L2 D F2 R D2 R' U B\n"
- "B2 L2 U2 L F2 L' D2 B2 U' L' B\n"
- "B' D' L2 B2 R D B' R2 U2 L B\n"
- "B' R B U2 R2 D' B2 R' F L2 B\n"
- "B' R' D L B' D2 F2 R' F U2 B\n"
- "U2 L2 U2 R U2 F2 B' D' B2 U R\n"
- "U2 F2 R2 L B U2 D2 R U2 D R\n"
- "U2 B' L2 F2 B L' U' B' U B R\n"
- "U' R2 D' F' R F B' L2 B' D' R\n"
- "U' L U' R2 B2 L B D' B2 D' R\n"
- "U' B R B' D' R2 B' L2 B' D' R\n"
- "D R U' L' F R' F D' L F' R\n"
- "D B U2 B' D R F' D2 L' U' R\n"
- "D2 R U2 L' U2 F2 B2 R' F U' R\n"
- "D2 R F B2 U F2 U2 R U D2 R\n"
- "D2 R2 B2 U2 F R2 L' D2 B D' R\n"
- "D2 L U2 F2 B2 R' U2 L B' D' R\n"
- "D2 F2 U2 D2 R' B R' L B D' R\n"
- "D' F R' B' U2 R2 F R' F2 D R\n"
- "D' B R2 D R F' D F' D2 B' R\n"
- "R U' B2 R2 D2 R' D' L2 B' D' R\n"
- "R D F R F' D2 R D2 F B2 R\n"
- "R D2 L2 U2 D F' R2 B R' F' R\n"
- "R D2 L2 U2 F' R' B R2 F' U R\n"
- "R D' B D' L2 U2 R' B R2 F' R\n"
- "R L2 U2 R2 F2 R' B U R2 U' R\n"
- "R F2 R2 B' D2 B2 R' B L2 U R\n"
- "R B U2 R2 D2 R' B R2 F' U R\n"
- "R B R2 D2 R' L2 B R2 F' U R\n"
- "R B2 D2 B2 D' B' U2 B' R F R\n"
- "R2 U2 R' D F L' U2 F R' F2 R\n"
- "R2 U' L B' U' L B' U B2 U R\n"
- "R2 L B2 L2 D2 F2 L' D2 B' D' R\n"
- "R2 L2 B2 L2 B U2 L B R2 D' R\n"
- "R2 L' D2 R2 F2 L F D R2 D' R\n"
- "R' D2 R F R B2 D2 F2 L2 D' R\n"
- "R' D2 R F B2 R' B2 U2 F2 U' R\n"
- "R' D2 L2 D' L2 F' U2 B' R B' R\n"
- "R' D2 L2 F2 R L2 F D R2 D' R\n"
- "R' D2 F2 R L2 F2 R' F' R' D R\n"
- "R' D2 F2 L2 F2 R F U F2 U' R\n"
- "R' D2 F2 L2 F' U F' R F' U' R\n"
- "R' D2 B2 R F R2 U2 R F2 U' R\n"
- "R' D' R F R2 U2 F B2 U2 F' R\n"
- "R' D' R' F D' R2 D B2 U F' R\n"
- "R' D' B D' F U2 F R L2 F R\n"
- "R' L2 F2 R2 U2 B R D2 B' D' R\n"
- "R' F L2 F2 R2 U2 R B' D' B2 R\n"
- "R' B D' B' R2 U2 L2 D' R' B R\n"
- "R' B2 R2 B2 D2 R F U F2 U' R\n"
- "L U B' U' F2 B' U2 R2 L' F R\n"
- "L U2 R2 D' R' B U D' F2 U R\n"
- "L U2 L2 F2 R2 L' B U R2 U' R\n"
- "L F2 R2 B' U2 F2 R2 D L' F' R\n"
- "L B2 L2 F2 D2 L' B D B2 D' R\n"
- "L2 U2 R B' R2 L' U D' R F2 R\n"
- "L2 U2 R B' L' U D F2 R' D2 R\n"
- "L2 U2 R B' L' F2 U D R' D2 R\n"
- "L2 U2 R B' L' B2 U D R' F2 R\n"
- "L' U2 B2 R' D F' U2 B2 D F R\n"
- "L' F2 L F2 D' L' D' L F' D R\n"
- "L' F2 L2 U2 B2 R2 L D2 B' D' R\n"
- "L' F' D F' B' U' L F U B R\n"
- "L' F' L D2 F' L2 F2 D L' D' R\n"
- "F D' R' U' F2 U2 B2 R2 D' B R\n"
- "F R U' B2 R2 D R' D2 L2 B' R\n"
- "F R2 D2 B2 R2 F U' L U2 F' R\n"
- "F R2 D2 B2 L2 B D' L D2 B' R\n"
- "F2 U2 R' D2 F2 R' U2 L B' D' R\n"
- "F2 R F2 L U2 R' B2 L' B' D' R\n"
- "F2 R' L F2 D' R L2 F' R2 D R\n"
- "F2 L F' L2 F2 R' D' R L2 F R\n"
- "F2 B L' F R2 L B' U L' U' R\n"
- "F' U D' R' U B2 R' B U2 D R\n"
- "F' D L' F U D R U' L D2 R\n"
- "F' D L' F' U L' U' L' F2 D' R\n"
- "F' D' L F' D' L2 F D' L F R\n"
- "F' R2 L' D2 R2 F L U2 L2 U R\n"
- "F' R' U' F2 R U' B2 R2 D' B' R\n"
- "F' L U2 R2 B U2 L D2 L2 D R\n"
- "F' L U2 R2 B R2 L U2 R2 D' R\n"
- "F' L U2 R2 B L U2 R2 U2 D' R\n"
- "F' L D2 L2 F D2 L' D2 R2 U' R\n"
- "B U2 R2 B2 D2 F D' L D2 B' R\n"
- "B U' D' F' R' D' F U D B' R\n"
- "B D2 F D R' F U2 F B' U' R\n"
- "B D2 F D R' B L2 F2 B2 U' R\n"
- "B R U' D' F U' R2 B R' F R\n"
- "B R U' D' F U' R2 B' R' F R\n"
- "B R U' F L2 U F' D' R' B R\n"
- "B R U' F L2 U' F' D' R' B R\n"
- "B2 R2 U2 R' B2 D2 R F U2 D R\n"
- "B' L2 F D F' D B L F' D R\n"
- "B' L' B D2 F L2 F L' F D R\n"
- "B' L' B' R2 B2 D2 F2 L F D R\n"
- "U L2 U2 L U2 R U B' L2 U' L\n"
- "U B2 D' L' U B D B' R B L\n"
- "U2 R2 U2 L U2 B2 L F2 B U' L\n"
- "U2 R2 U2 B U2 B' D' R D2 F' L\n"
- "U2 F' R B' D' B' R' B D2 F' L\n"
- "U2 B2 R' B R' U2 D2 R F D' L\n"
- "D B U2 B' D R F' U2 R' U' L\n"
- "D2 L2 F2 D R' U2 B U2 L2 U L\n"
- "D2 F D' L U2 B D2 B L2 U' L\n"
- "D2 F2 R L B2 U L F D' F2 L\n"
- "D2 F2 L' F2 L F' R L' F D' L\n"
- "D' R D2 F R B2 L F2 R U' L\n"
- "D' R D2 F L U2 L D2 L D' L\n"
- "D' F D' R' L' U R2 U2 F D' L\n"
- "D' B L F' B L F' R' B' U L\n"
- "R U' F2 L2 U2 L' U' R2 B' U' L\n"
- "R D2 L2 U2 D B' D2 F L' F' L\n"
- "R L' D F2 L2 U2 L' U F' U L\n"
- "R L' D' R2 D2 F2 L U F' U L\n"
- "R L' F' D L2 B2 D L F D L\n"
- "R L' B2 U' R2 F' D L D2 F' L\n"
- "R F2 R2 D' L D B2 D' B U' L\n"
- "R B2 L2 B' U B2 L' B R2 D L\n"
- "R2 U2 R' D F L' U2 F L' U2 L\n"
- "R2 U2 B2 L2 F2 U2 R U2 B U' L\n"
- "R2 D2 F2 R L U L F D' F2 L\n"
- "R2 D2 F2 R2 B2 D2 R U2 B U' L\n"
- "R2 L' D2 L2 D R L2 F R2 U L\n"
- "R' D2 R F R B2 U2 B2 R2 D' L\n"
- "R' D2 R F B2 R' B2 D2 B2 U' L\n"
- "R' D2 R2 B2 R' F U' D2 B2 U' L\n"
- "R' D2 F2 R L2 F2 R' F L' U L\n"
- "R' D2 F2 L2 F' U D' F L' F' L\n"
- "R' D2 B2 L2 D2 B' L U2 B' U' L\n"
- "R' D' R' L2 B R2 D2 B' U2 B' L\n"
- "R' L2 F L F2 B' L' F B D' L\n"
- "R' F D2 F2 D2 L' F D' F2 D' L\n"
- "R' F' R2 U B' D' L' B R2 D L\n"
- "R' B D' B' R2 U2 L2 B2 L B L\n"
- "R' B D' B' L2 D2 B2 R2 L' F L\n"
- "R' B R2 D F' B2 L2 U L' B L\n"
- "R' B R2 B2 D F D' F2 L B L\n"
- "R' B2 D2 L2 F2 R' D2 F2 B U' L\n"
- "R' B2 R D2 L2 F2 R' D2 B U' L\n"
- "L U2 R L' D2 R U2 F B2 D' L\n"
- "L U2 R2 D' R' B U' D B2 U L\n"
- "L U2 R2 B2 L B U2 D' F2 D' L\n"
- "L U2 B2 R F2 R' L F2 B U' L\n"
- "L F2 U2 R2 B D2 R' B R2 D' L\n"
- "L2 U2 R B' R2 L' U D' L D2 L\n"
- "L2 U2 R B' L' U D F2 L' F2 L\n"
- "L2 U2 R B' L' F2 U D L' F2 L\n"
- "L2 U2 R B' L' B2 U D L' U2 L\n"
- "L2 D2 R' F2 L F2 L F B2 D' L\n"
- "L2 D2 L2 B2 R' F2 L' F' B2 D' L\n"
- "L' U' R2 D' B2 R F U F2 D L\n"
- "L' D2 L' F2 R2 U2 R D2 B U' L\n"
- "L' F2 L F2 D2 F' D R L' D' L\n"
- "F R U2 B2 D R' D2 L2 F2 B L\n"
- "F B2 U F' R' D F R2 L U L\n"
- "F B2 R2 D2 B R' L2 B' R2 D L\n"
- "F B2 L2 U2 F R' L2 F' R2 U L\n"
- "F2 U2 D B' L' F2 D F' L B L\n"
- "F2 R U2 F2 L U2 F2 R2 B' U' L\n"
- "F' D L' F U D R U' R F2 L\n"
- "F' D F2 D R F D' L U2 D L\n"
- "F' R2 L' U2 L2 B R U2 L2 D L\n"
- "F' L U2 R2 B D2 R D2 R2 D L\n"
- "F' L D2 L2 F U2 R' D2 L2 U' L\n"
- "F' L D2 L2 F R U2 R2 U' D2 L\n"
- "F' L D2 L2 F R L2 U2 R2 U' L\n"
- "F' L D2 L2 F L B2 R L U L\n"
- "F' L D2 L2 F L' F2 R L D' L\n"
- "B U2 R2 B2 U2 B D' R D2 F' L\n"
- "B U2 B' U R' D' R U' D2 F' L\n"
- "B D2 R L2 U' B' U F B D' L\n"
- "B D2 R L2 F U' B' U B D' L\n"
- "B D2 R L2 F D' L2 B L2 B' L\n"
- "B R U' F L2 U F' B2 L B L\n"
- "B R U' F L2 U' F' B2 L B L\n"
- "B R D R U2 F D2 R' F2 B' L\n"
- "B2 D' B R U' F2 L U D2 F L\n"
- "B2 R L F2 D2 R' F2 B U2 D L\n"
- "B2 R F2 D' B R2 F2 L B' U' L\n"
- "B2 R2 U2 F2 L' U2 F B2 U D2 L\n"
- "B2 R' L' F2 U' L F' B2 U B2 L\n"
- "B' L' F2 B L2 F2 D2 R F U L\n"
- "B' L' F2 B' U2 L2 F2 R' F U L\n"
- "U2 R' B2 L' D2 F U' L F R L\n"
- "U2 R' B2 L' D2 F U' L F' R L\n"
- "(U2 F2 U F2 B' R D' F U' L F)\n"
- "(U2 F2 U B R L2 U F' D L' F)\n"
- "(U' R' U' D2 F' D2 B2 D' R D F)\n"
- "(U' R' U' B' R2 B U B2 U R' F)\n"
- "(U' F B2 R' D F R' L2 B' R F)\n"
- "(D2 R' F' L' D2 F2 R' F2 U' R' F)\n"
- "(D2 F' R2 U2 L B' U2 D B2 L' F)\n"
- "(D2 F' B L' D2 F' R U' F2 R' F)\n"
- "(D2 B2 D2 R B' D F' L D L2 F)\n"
- "(R U2 R' B U2 R' B2 U R' U F)\n"
- "(R U2 F R2 B L B2 R' U' L F)\n"
- "(R U2 F R2 B' L U R' U L F)\n"
- "(R U' F B' L B' R U' L U2 F)\n"
- "(R2 U' F D' R L U' L' F' U2 F)\n"
- "(R2 F D R' L' F' D' L' B2 L F)\n"
- "(R' U F' L D F2 R2 U' F L' F)\n"
- "(R' U' F2 B' D' B2 L D' F2 R F)\n"
- "(L U2 L' B U2 R' F2 L' D L' F)\n"
- "(L U2 L' B U2 R' B2 R' U R' F)\n"
- "(L2 F' L' D R F' B2 R U' L' F)\n"
- "(L' U' R U' D2 F2 R' F D2 R F)\n"
- "(L' U' R U' D2 B2 L' F U2 L F)\n"
- "(F2 L B2 U L2 F' R U D R2 F)\n"
- "(F2 L' F2 R2 F D' R U2 F' U' F)\n"
- "(B U R F2 B D2 L' B2 D L' F)\n"
- "(B U2 R' U' F2 L' B' L' B D2 F)\n"
- "(B R' F2 B D' B2 L' F D2 R2 F)\n"
- "(B R' F2 B D' B2 L' B L2 D2 F)\n"
- "(B L' U' R U B' L U2 B' R2 F)\n"
- "(B L' U' R' U B' L U2 B' R2 F)\n"
- "(B L' D2 B2 R U L F' U R' F)\n"
- "(B L' D2 B2 R U L' F' U R' F)\n"
- "(B2 R B2 D R2 F' L U D L2 F)\n"
- "(B2 R' F2 L2 F U' L D2 F' D' F)\n"
- "(B' U L U R L' D2 F' L' D2 F)\n"
- "(B' D2 B R2 L U' F2 D2 F' R F)\n"
- "(U F' R2 F B2 L' B' L' D' R' B)\n"
- "(U B' R F L D2 R2 B2 D' R' B)\n"
- "(U2 L' B' R' D2 B2 L' B2 U' L' B)\n"
- "(U2 F B' R' D2 B' L U' B2 L' B)\n"
- "(U2 F2 D2 L F' D B' R D R2 B)\n"
- "(U2 B' L2 U2 R F' U2 D F2 R' B)\n"
- "(U' R2 B2 U' F R L2 U' B L B)\n"
- "(D2 B2 U F R2 L U B' D R' B)\n"
- "(D2 B2 U F' B2 L D' B U' R B)\n"
- "(D' R2 U2 D F R L2 U' B L B)\n"
- "(R F U2 L' D' R D' L U' R2 B)\n"
- "(R2 U' F D' R L U' L' B' R2 B)\n"
- "(R2 F D R L B' U' L' F2 L B)\n"
- "(R' U F' L U L2 F2 D' B R' B)\n"
- "(R' F' L U2 L' D' B D2 L D' B)\n"
- "(R' B' R2 U R' U2 F B2 R' D B)\n"
- "(R' B' R' U' F R' L' B2 D L B)\n"
- "(R' B' R' U' F' R' L' F2 U R B)\n"
- "(L U F' L2 F' L F' B U2 R B)\n"
- "(L' D' B' D' L' B' U' D2 B R' B)\n"
- "(F2 R2 L F L2 D2 L' U2 D' L B)\n"
- "(F2 L B2 U L2 F' R U' D' L2 B)\n"
- "(B U L2 U R' F B R D2 R B)\n"
- "(B U2 R' U' F2 L' B' L' F L2 B)\n"
- "(B U' R' L2 B' L U L F2 U2 B)\n"
- "(B U' R' L2 B' L U L B2 D2 B)\n"
- "(B R' F U2 B R' D' R D2 R' B)\n"
- "(B R' F2 B D' B2 L' F U2 L2 B)\n"
- "(B R' F2 B D' B2 L' B R2 U2 B)\n"
- "(B L' U' R U B' L U2 F' U2 B)\n"
- "(B L' U' R' U B' L U2 F' U2 B)\n"
- "(B2 R L2 F R2 U2 R' U' D2 R B)\n"
- "(B2 R B2 D R2 F' L U' D' R2 B)\n"
- "(B' U2 F R L2 U' B2 D2 B' L B)\n"
- "(B' R' U' F2 D' L F' R B' R B)\n"
- "(U L2 U' R' B2 U' L' D2 B' U' R)\n"
- "(U B' R U2 R F' D2 F2 D B2 R)\n"
- "(U2 R L' U' F' R D L' D' F' R)\n"
- "(U2 R2 B2 D2 R F2 R U' L' B' R)\n"
- "(U2 R' U' R2 U2 B2 U R' U' F R)\n"
- "(U2 L F2 L U2 B L' U L U2 R)\n"
- "(U2 F' U2 L2 B L' U2 L2 F2 U R)\n"
- "(U2 F' L U2 L B' R' U B2 U2 R)\n"
- "(U' D' R' D' L2 U' F2 B' L2 D R)\n"
- "(U' R2 U' F' R' F2 U B R2 B R)\n"
- "(U' F B2 D R' D B' U R D2 R)\n"
- "(U' F2 R D R2 L' D' R F' B2 R)\n"
- "(U' F2 R' D R2 L' D' R F' B2 R)\n"
- "(D R2 U R2 L U2 D' B' U' B2 R)\n"
- "(D R2 U2 R2 L' D L' U D' B' R)\n"
- "(D R2 U2 L U' R2 L U D' B' R)\n"
- "(D R2 F D B2 U F' U' L D2 R)\n"
- "(D L2 D R2 L U' D2 F' D' F2 R)\n"
- "(D L2 D2 R2 L' U L' U' D F' R)\n"
- "(D L2 D2 L D' R2 L U' D F' R)\n"
- "(D L2 B U F2 D B' D' L U2 R)\n"
- "(D L' D L' U B L D' R' D' R)\n"
- "(D L' D' R' U R2 U' R' U' F R)\n"
- "(D2 R B2 R U2 F R' U L F2 R)\n"
- "(D2 L U F' L B' L U2 D2 B' R)\n"
- "(D2 B' R U2 R F' L' U B2 D2 R)\n"
- "(R U2 D' R' L2 F2 U2 B2 U' B R)\n"
- "(R U2 D' L' D R' L' F2 U B R)\n"
- "(R U2 D' B2 L' F' D' F2 L F R)\n"
- "(R U' R' U R2 B' R2 B' U2 F R)\n"
- "(R U' R' U' F B2 L' U2 L' F R)\n"
- "(R D B2 U L' U2 D' R' U' F R)\n"
- "(R D' R L U2 R2 L U D2 B R)\n"
- "(R D' F2 B2 D2 L' D' F' U2 F2 R)\n"
- "(R D' B2 U2 R F2 D2 B2 D' F R)\n"
- "(R2 U R U F2 D' B2 L' D' F' R)\n"
- "(R2 U R U2 F2 D' B2 L D' F' R)\n"
- "(R2 U2 F2 D2 F L' F2 D2 R2 U R)\n"
- "(R2 U' F2 D2 L' D B2 L D' F' R)\n"
- "(R2 D2 B2 U2 F L' F2 D2 R2 U R)\n"
- "(R2 L U' B2 L' U2 F' L' D' F2 R)\n"
- "(R2 L B2 R2 L D2 B L' U' B2 R)\n"
- "(R2 L' F D' R' D B U2 R B' R)\n"
- "(R2 L' B2 L U2 F U R U B2 R)\n"
- "(R2 F U2 R L B R B U D2 R)\n"
- "(R2 F R B2 R' F D F2 U2 F R)\n"
- "(R2 F R2 L' D B L U B' D' R)\n"
- "(R2 F2 D2 F B2 L' F2 D2 R2 U R)\n"
- "(R2 F' D' F' D' F B2 D2 L' F2 R)\n"
- "(R2 F' L U B D' R' B' L2 U' R)\n"
- "(R2 B2 U B2 U F' L' U F2 D' R)\n"
- "(R2 B2 U2 F U R U R B2 U2 R)\n"
- "(R2 B2 U2 F U R U L D2 B2 R)\n"
- "(R2 B2 U2 F U' D2 L U L D2 R)\n"
- "(R2 B2 U2 F R' B2 L' D' F2 U2 R)\n"
- "(R2 B2 U2 F L D2 L U2 L' U' R)\n"
- "(R2 B2 U2 F' R2 L' U2 L2 B2 U' R)\n"
- "(R2 B2 U2 F' L' F2 U2 L2 U' D2 R)\n"
- "(R2 B2 U2 F' L' F2 R2 U2 L2 U' R)\n"
- "(R2 B2 U' F2 D' B2 L D F' D2 R)\n"
- "(R' U' F' D' F R U2 F U B2 R)\n"
- "(R' D2 L2 D2 B2 L' U' D2 L' B' R)\n"
- "(R' F U2 L B2 U2 F' L' U' D2 R)\n"
- "(R' F B2 R' D' L' U2 F' D2 F2 R)\n"
- "(R' B R' B U2 L' B2 L F D' R)\n"
- "(R' B2 U R' U2 L2 D2 R2 B' U' R)\n"
- "(R' B2 D' L2 U R D2 B2 U2 B' R)\n"
- "(R' B2 R' U2 F D' L2 D' R2 U R)\n"
- "(R' B2 R' U2 F R2 L U' L U' R)\n"
- "(R' B2 R' L' F' L' U R D2 B R)\n"
- "(R' B2 L2 U' R' U R' L2 U2 F R)\n"
- "(R' B2 L2 U' L' B R2 L' U2 F R)\n"
- "(L U2 L' B' R2 U2 F' L' F2 D R)\n"
- "(L U' F2 B R L' D2 R F' B2 R)\n"
- "(L U' B2 R' L U D2 R F2 B' R)\n"
- "(L F2 U2 L B R' B2 R F2 U' R)\n"
- "(L F2 D2 R L D' L' F L F2 R)\n"
- "(L F2 D2 R L F2 R F R' D' R)\n"
- "(L F2 R D R U2 D' R' L B R)\n"
- "(L F2 R D R D R L' F' B2 R)\n"
- "(L B' R' U R' U2 L D2 R2 B' R)\n"
- "(L B' R' U L' B2 R' F R2 U2 R)\n"
- "(L B' R' U L' B2 R' F L2 D2 R)\n"
- "(L2 U' R' D2 R D2 B2 D2 F2 B' R)\n"
- "(L2 U' R' D2 R F B L2 F B2 R)\n"
- "(L2 U' R' D2 R F2 U2 B U2 B2 R)\n"
- "(L2 U' R' D2 R F' L2 B' R2 F' R)\n"
- "(L2 U' R' D2 R B2 D2 B D2 F2 R)\n"
- "(L2 F L' F R2 L D2 L2 F' D' R)\n"
- "(L2 F2 U2 B R' D F2 R U' F2 R)\n"
- "(L2 F2 L D' R' F2 L' U' D2 B' R)\n"
- "(L' D2 B2 R' L' D2 R' B R' U' R)\n"
- "(L' D2 B' L' D2 R2 U' R2 U B R)\n"
- "(L' F2 U R U' D' B2 R L F' R)\n"
- "(L' F2 D' R2 F B2 L D R' F R)\n"
- "(L' F2 D' B2 L2 F L' U' R F' R)\n"
- "(L' F2 L' D2 R2 L2 F L' D' F2 R)\n"
- "(F2 D2 F2 R2 F' R B2 R2 L' U R)\n"
- "(F2 D2 F2 R2 F' L U2 D2 R D R)\n"
- "(F2 D2 F2 R' B2 R' F' R' L' U R)\n"
- "(F2 D2 B2 L2 F' R' B2 L' U2 D' R)\n"
- "(F2 D' B2 L2 D' F' R2 L' U2 D' R)\n"
- "(F2 R U2 D R U2 L' D2 R' F' R)\n"
- "(F2 R2 L B U2 B D F' U2 F R)\n"
- "(F2 R' F' D' F R' B2 L' D F' R)\n"
- "(F2 L U' B' R2 D L2 F2 L2 B' R)\n"
- "(F2 L U' B' R2 D F2 L2 F2 B' R)\n"
- "(F2 L' D' R2 D2 F2 U R2 F D' R)\n"
- "(F2 B R B' U2 L' B' D F2 B2 R)\n"
- "(F' U2 L' D2 L' D2 B L2 D' F2 R)\n"
- "(F' U2 L' D2 L' D2 B' R2 U B2 R)\n"
- "(B D L' D' B2 U' F2 L F' B2 R)\n"
- "(B R L2 U' L2 B' R2 B2 U2 F R)\n"
- "(B R B L2 D' F2 D L2 U2 F R)\n"
- "(B R' F2 L2 U F2 U' D2 F' B2 R)\n"
- "(B R' F2 L2 D F2 L' B2 U' F R)\n"
- "(B R' B2 R2 U2 F D' R2 L2 U R)\n"
- "(B L' B2 L2 U' F2 L B2 R2 F' R)\n"
- "(B2 R U L D2 R' U B2 R2 B R)\n"
- "(B2 R U2 F2 L2 F' R' D' R' U R)\n"
- "(B2 R L2 F L2 F D F' U2 F R)\n"
- "(B2 R' L U' R' U2 R' L' U2 F R)\n"
- "(B' U' F2 D' B' L' D B' L2 F' R)\n"
- "(B' D' R' U2 B2 D F2 B2 L F' R)\n"
- "(B' R' U F2 D' R' B2 L' D' F' R)\n"
- "(B' R' U F2 D' L' B2 R' D' F' R)\n"
- "(U D L' D' R2 U' F' B2 R2 D L)\n"
- "(U R' U2 B2 U2 R' F B2 D F2 L)\n"
- "(U L' B2 D2 B2 L' F2 B U B2 L)\n"
- "(U F' U L' U B' U' R' U' D2 L)\n"
- "(U2 R U B' R F' R U2 D2 F' L)\n"
- "(U2 L F2 L U2 B L' U R B2 L)\n"
- "(U2 F' L U2 L B' R' U F2 D2 L)\n"
- "(U' R2 U' F' R' F2 U' F D2 F L)\n"
- "(U' F B2 D R' D B' U L B2 L)\n"
- "(U' B' R U2 R F' U R' U D2 L)\n"
- "(D R D2 F2 L' D' B2 U' F U2 L)\n"
- "(D R2 U2 L U' L' U' D F B2 L)\n"
- "(D R2 F D B2 U F' U' R F2 L)\n"
- "(D L D2 R L2 D' B2 U' F U2 L)\n"
- "(D L2 D2 L D' L' U D' F2 B L)\n"
- "(D L2 B U F2 D B' D' R B2 L)\n"
- "(D2 R B2 R U2 F R' U R U2 L)\n"
- "(D2 R' L U' B' L D R' D' B' L)\n"
- "(D2 L2 F2 D2 L B2 L U' R' F' L)\n"
- "(D2 L' U' L2 U2 F2 U L' U' B L)\n"
- "(D2 B' U2 R2 F R' U2 R2 B2 U L)\n"
- "(D2 B' R U2 R F' L' U F2 U2 L)\n"
- "(R U' D2 F' D2 R F D L U L)\n"
- "(R U' F' B2 R' F L2 D2 B U L)\n"
- "(R U' F' B2 R' B D2 R2 F U L)\n"
- "(R D' F2 B2 D2 L' D' F' D2 B2 L)\n"
- "(R F2 D2 B2 L' F' R2 F2 B2 D L)\n"
- "(R F2 D2 B2 L' B' D2 F B' D L)\n"
- "(R2 U R U2 F2 D' F2 R U' F' L)\n"
- "(R2 U R L2 D R2 U' R' D' B' L)\n"
- "(R2 U F2 D L' D2 F2 U' F' B2 L)\n"
- "(R2 U2 D L' F' U' D' F' B2 D L)\n"
- "(R2 U' F2 D2 L' D F2 R U' F' L)\n"
- "(R2 D2 F U2 F2 R D' F' D' F' L)\n"
- "(R2 D' R D B2 U F' D' B2 D L)\n"
- "(R2 L' B L' B L U L2 U F' L)\n"
- "(R2 L' B2 U L' U' L' U2 L2 F' L)\n"
- "(R2 L' B2 L U2 F U' L U F2 L)\n"
- "(R2 L' B2 L U' L' U2 L2 U F' L)\n"
- "(R2 F U D' R' U' R F D' F L)\n"
- "(R2 F R B2 R2 B' R' F2 B' D L)\n"
- "(R2 F R B2 R' F D B2 D2 F L)\n"
- "(R2 F' D' F' D' F B2 D2 R' D2 L)\n"
- "(R2 B R' B U2 R F' U' L2 U' L)\n"
- "(R2 B2 U2 F U R U R F2 D2 L)\n"
- "(R2 B2 U2 F U R U L U2 F2 L)\n"
- "(R2 B2 U2 F U' D2 L U R F2 L)\n"
- "(R2 B2 U2 F R' B2 L' D' B2 D2 L)\n"
- "(R2 B2 U2 F L D2 L D2 R' U' L)\n"
- "(R2 B2 L' U2 F2 D' R' B2 D F L)\n"
- "(R' F U2 L F2 D2 F' R' U2 D' L)\n"
- "(R' F R F2 U2 L' B' R' U' D2 L)\n"
- "(R' F B2 R' D' L' U2 F' U2 B2 L)\n"
- "(R' F B2 R' D' L' F' B L2 B L)\n"
- "(R' F2 U2 D2 L' U2 L2 F L2 D L)\n"
- "(R' F' D2 F2 B2 R' D' L' F' B2 L)\n"
- "(R' B2 U R' F D2 R2 F2 B2 D L)\n"
- "(R' B2 U R' F R D' B2 D F2 L)\n"
- "(R' B2 D' L2 U R D2 F2 D2 B' L)\n"
- "(R' B2 R2 U2 R F' D R2 L' U' L)\n"
- "(R' B2 R' U2 F U' F2 D' B2 D L)\n"
- "(R' B2 R' U2 F R2 L U R U' L)\n"
- "(L U' F2 D' B L2 D' R F U2 L)\n"
- "(L D' F D2 F L' D' R2 U F' L)\n"
- "(L F2 D2 R L D' L' F R U2 L)\n"
- "(L B' L D2 B D2 L' U D2 F2 L)\n"
- "(L B' L D2 B L D2 L' U F2 L)\n"
- "(L2 U B R2 L' U2 F L' F B2 L)\n"
- "(L2 U' R' D2 R D2 F2 U2 F2 B' L)\n"
- "(L2 U' R' D2 R F2 U2 B D2 F2 L)\n"
- "(L2 U' R' D2 R B2 D2 B U2 B2 L)\n"
- "(L2 U' R' D2 R B' U2 B' D2 B' L)\n"
- "(L2 B2 R' D2 R B D' L' U D' L)\n"
- "(L' F2 U R U D F2 R L B' L)\n"
- "(L' B' D2 F L' D2 B' L F' U L)\n"
- "(F2 R L' D' L' D2 R' L' D2 F L)\n"
- "(F2 R2 L F R2 F U F' D2 F L)\n"
- "(F2 L D R U2 L' D B2 L2 B L)\n"
- "(F2 L D2 F2 R2 F' L' U' L' D L)\n"
- "(F' U2 B L' B' L' B' R' U' D2 L)\n"
- "(F' U' R' D' L2 U2 L U' D' F L)\n"
- "(F' U' B' D' L2 U' L' D' B U2 L)\n"
- "(B R U F2 L' D L' F U' B2 L)\n"
- "(B R U B2 R2 L U2 L' F' D L)\n"
- "(B R L2 U' L2 B' R2 F2 D2 F L)\n"
- "(B R' B2 R2 U2 F U' F2 B2 D L)\n"
- "(B2 U2 F2 L2 F' R U2 D2 L U L)\n"
- "(B2 U2 F2 L2 F' L B2 R' L2 D L)\n"
- "(B2 U2 F2 L' B2 L' F' R' L' D L)\n"
- "(B2 U2 B2 R2 F' L' B2 R' U' D2 L)\n"
- "(B2 U' B2 R2 U' F' R' L2 U' D2 L)\n"
- "(B2 R D' B' L2 U R2 F2 R2 B' L)\n"
- "(B2 R D' B' L2 U F2 R2 F2 B' L)\n"
- "(B2 R L2 B D2 B U F' D2 F L)\n"
- "(B2 R' U' L2 U2 F2 D L2 F U' L)\n"
- "(B2 L U D2 L D2 R' U2 L' F' L)\n"
- "(B2 L' F' U' F L' B2 R' U F' L)\n"
- "(B' D' B' L' D' L' U R F2 B' L)\n"
- "(B' R2 U2 F' D R2 U R U' D2 L)\n"
- "(B' R2 L U2 L2 U' F2 R' F B2 L)\n"
- "(B' R' D2 B2 D R L F2 D' B' L)\n"
- "(B' R' B2 R' U F2 D B2 D F L)\n"
- "(B' L B' D2 R' B' U R2 F2 B2 L)\n"
- "(B' L B' D2 R' B' U L2 F2 B2 L)\n"
-},
-[5] = {
- .scramble = "R F D' R2 F' L U L B' D' F2 R B2 U2 F2 L2 U2 R L2 F2 L2 B2 D2",
- .solutions =
- "U2 B2 R' U' L' F U R2 D F\n"
- "U' F' R' B2 U' D2 R B' L' F\n"
- "D2 L' F' U' R B2 U B' D' F\n"
- "U B' U' R2 L' F' D' F R B\n"
- "L F R' B2 R U F' R' U' B\n"
- "L2 B2 L' U R D2 F' B D B\n"
- "L2 B2 L' U R F B' L2 U B\n"
- "R' D' L' F' U F' U' B U' R\n"
- "R' B2 D L' F U L' D F' R\n"
- "L' D F2 D2 B U F2 R2 F R\n"
- "L' F' R2 D' F' B2 U' F2 B' R\n"
- "(L U' D B R' D' L F' L2 F)\n"
- "(L U' D B R' D' L B' U2 B)\n"
- "(R2 B L U' D R2 B' L F' R)\n"
- "(F2 U D' F D L' D R2 F R)\n"
- "(F2 U L' D F D2 B' D2 B R)\n"
- "(F2 U L' D B R2 B' R2 F R)\n"
- "(B2 D R' U' F R2 B' R2 U2 L)\n"
- "(B2 D R' U' F R2 B' L2 D2 L)\n"
- "U D2 B2 R' B' R F2 U R L' F\n"
- "U2 D2 R' U L B' L D' L D2 F\n"
- "U2 D2 R' F U L F' D B' L2 F\n"
- "U2 R D' B' U2 F' R2 U2 D' L' F\n"
- "U2 B2 R' U' L' F' B2 D L2 U F\n"
- "U' F U2 B2 L F2 U' R B' L' F\n"
- "U' F2 U L2 D L B U R D2 F\n"
- "U' F2 D F2 U L B U R D2 F\n"
- "U' F' R' U2 F2 B2 U' R B' L' F\n"
- "U' F' R' F2 B2 U' D2 R B' L' F\n"
- "U' F' R' B2 U' R2 D2 R B' L' F\n"
- "U' B2 U D2 R L' F D L2 U2 F\n"
- "U' B2 U D2 R' L B U R2 U2 F\n"
- "U' B2 U R' B D B2 L2 F L' F\n"
- "U' B2 U R' B' L2 F2 U' F' L' F\n"
- "U' B2 U' R L' F' B2 D L2 U2 F\n"
- "U' B2 U' R' L F2 B' U R2 U2 F\n"
- "U' B2 R' U2 D2 B' L' U R L' F\n"
- "D L D L2 U2 R' U B' L2 D F\n"
- "D L' F U' B U' B2 D' L' D' F\n"
- "D' R L' U' B' D' R2 U2 L' U F\n"
- "D' R2 U2 D R L' F U R2 D2 F\n"
- "D' R2 U2 D R' L B D L2 D2 F\n"
- "D' R2 D F2 R' L F' U2 B D F\n"
- "D' R2 D' R L' F' B2 U R2 D2 F\n"
- "D' R2 D' R' L F2 B' D L2 D2 F\n"
- "D' L2 D L2 D L B U R D2 F\n"
- "D' L' B U R' L' U' F U L F\n"
- "R2 U2 L' D' R F R2 F D' L2 F\n"
- "R2 U2 L' D' R B U2 B U' R2 F\n"
- "R2 L' D2 R' F' D' B R U R' F\n"
- "R' D2 R2 B' R B R' D' L U F\n"
- "L D' F B U' D2 B' L' F' U2 F\n"
- "L2 B2 L' U R D2 B D2 B' D F\n"
- "L2 B2 L' U R' L2 U2 F B' U F\n"
- "L2 B2 L' U R' L2 F' B L2 D F\n"
- "L' F' R2 U' L2 D' B' R' F2 D' F\n"
- "L' F' R2 D' B2 U' B' R' F2 D' F\n"
- "L' B U R' F' B' R2 D' B' L2 F\n"
- "L' B2 U' B' U' B U2 B' R D' F\n"
- "F U' F R' L' B R D' R' U F\n"
- "F U' F' B2 R' B' U' B2 L' D F\n"
- "F D2 F L' B L2 U R D L2 F\n"
- "F2 D' R2 D F2 R' L F' B D F\n"
- "F2 D' R2 D F2 R' L' F B' U' F\n"
- "F2 R2 D' R D L' B R2 U D' F\n"
- "F2 R2 L' D' R D B R2 U D' F\n"
- "F2 R2 L' D' R' U F L2 U D' F\n"
- "F' U R2 U' F D' B' L U R' F\n"
- "B2 R' L U' B' L F2 L' U' R2 F\n"
- "B2 L U' L' F2 B' L B U2 R F\n"
- "B2 L2 U' L U' R' B L2 U' D F\n"
- "B2 L' U R B D' L2 U2 B' D2 F\n"
- "B' R L' B R' U2 B2 U' R D F\n"
- "B' R' B D2 R' D' L U2 R2 U' F\n"
- "B' L' F B2 U' F D B' L' U2 F\n"
- "U2 D2 R' F U L F' D F' D2 B\n"
- "U2 R U2 F L' D2 R2 D' F' L' B\n"
- "U2 R D F' U D' F2 L2 D L' B\n"
- "U2 R' D F U L' B U' B U' B\n"
- "U2 R' B' U' L F2 U F B2 U' B\n"
- "U2 B2 R' U' L' F U' D2 L2 D B\n"
- "U' F' R' U D' R2 D L F' R' B\n"
- "U' F' R' U' L2 D' R2 L F' R' B\n"
- "U' B D' B U B D B R' L' B\n"
- "U' B D' B U B D B' R' L' B\n"
- "U' B2 U D2 R L' F D R2 D2 B\n"
- "U' B2 U D2 R' L B U L2 D2 B\n"
- "U' B2 U' R L' F' B2 D R2 D2 B\n"
- "U' B2 U' R' L F2 B' U L2 D2 B\n"
- "D2 L' F' U' R B2 U' D2 F' D' B\n"
- "D' R2 U2 D R L' F U L2 U2 B\n"
- "D' R2 U2 D R' L B D R2 U2 B\n"
- "D' R2 D F2 R' L F' D2 F D B\n"
- "D' R2 D' R L' F' B2 U L2 U2 B\n"
- "D' R2 D' R' L F2 B' D R2 U2 B\n"
- "R2 U2 L' D' R' D2 F' B D' R2 B\n"
- "R2 L' D F' D2 F R D B2 U' B\n"
- "R' L B' U' L' F D' F' R2 L' B\n"
- "R' L' F B R D R B' D L2 B\n"
- "R' L' F' B' U' R2 D' L' D' L' B\n"
- "L D' F B U' D2 B' L' B' R2 B\n"
- "L F R' B2 R U L2 F' R' U' B\n"
- "L F2 R' B2 R F' U F' R' U' B\n"
- "L2 B2 L' U R D2 B U2 F' D B\n"
- "L' D' R2 F' D' L2 F D R' D B\n"
- "L' B U R' F' B' R2 D' F' D2 B\n"
- "L' B' D' F' U' R D' L' D' L' B\n"
- "F2 R2 U2 L' D' R' U2 F D R2 B\n"
- "F2 R2 D' R D L' B L2 U' D B\n"
- "F2 R2 L' U D' R2 F D R' U' B\n"
- "F2 R2 L' D' R D B L2 U' D B\n"
- "F2 R2 L' D' R' U F R2 U' D B\n"
- "B2 U' L U' R' B' U B2 R2 U B\n"
- "B2 D F L2 U D L F' R' D' B\n"
- "B2 L2 U' L U' R' B R2 U D' B\n"
- "B2 L' U R B D' L2 U2 F' R2 B\n"
- "B' R' B D2 R' D' L D2 L2 U' B\n"
- "B' L F' R2 D' F B' R U D2 B\n"
- "D2 R2 L D R' U' R2 F U F B\n"
- "D2 R2 L D R' U' R2 F U' F B\n"
- "L2 U D2 F U' L F' R D F B\n"
- "L2 U D2 F U' L F' R D' F B\n"
- "L' D R2 F2 U2 L B' D L F B\n"
- "L' D R2 F2 U2 L B' D L' F B\n"
- "U' D B' U' L' F' R' L2 F D' R\n"
- "U' R' L' D' B D' R2 D' F D2 R\n"
- "U' L' B R' D' R' B2 R' D' F R\n"
- "D B' U' L U' R2 U' R F' D' R\n"
- "D2 L D' B' L2 B2 U2 R2 U' F' R\n"
- "D' F U L F U' L' B U F2 R\n"
- "D' B' L' D' L' U R' D F' B2 R\n"
- "R D' L' U2 F U2 B L2 U F2 R\n"
- "R D' L' U2 F U2 B' R2 D' B2 R\n"
- "R D' L' U2 B L2 F L2 U F2 R\n"
- "R D' L' U2 B L2 F' L2 U F2 R\n"
- "R2 F D' F L' D R D' B U2 R\n"
- "R' D L' B' U L2 F' U R U2 R\n"
- "R' D' B D2 L U F U D F2 R\n"
- "R' L F R D2 B R' U D F' R\n"
- "R' F' L U2 L2 F' B2 U D' B' R\n"
- "L U L F D R' F' L' U' B R\n"
- "L U2 L' D' B' U' R2 D' L' F R\n"
- "L U' D L2 F' U2 D' B' D' F' R\n"
- "L D L2 D2 R B U R2 U F' R\n"
- "L F2 R' U2 D' F' U' R2 L2 F' R\n"
- "L F2 L2 D' L2 B U F2 R2 F R\n"
- "L B' U2 D' L2 F' B2 R2 D F R\n"
- "L2 U F' D' L B U B2 L F' R\n"
- "L' U2 D R2 F' U2 D2 L2 U F' R\n"
- "L' D F U D2 F U' B U F2 R\n"
- "L' D F L2 B U F' U R2 U' R\n"
- "L' D F B' D2 B2 R2 L2 D B' R\n"
- "L' D F2 D2 B U L2 B2 L2 F' R\n"
- "L' D F2 D2 B U B2 L2 F' B2 R\n"
- "L' D B2 L2 B' U2 R2 F U' F' R\n"
- "L' D B2 L2 B' U2 L2 B D' B' R\n"
- "L' D2 R L2 B U2 D L2 U' B' R\n"
- "L' D2 R L2 B D2 L2 U D' B R\n"
- "L' D' F' R2 F' B' R2 U' F2 B R\n"
- "L' D' B' L2 F B2 U F2 R2 F R\n"
- "L' B2 U B' R D' F' U2 R U' R\n"
- "F2 L U' D' B' U2 B2 U R2 F' R\n"
- "F2 L' U' D B' L' D' B' U B' R\n"
- "B L' D' R2 F U L D' L F R\n"
- "D L2 D' B L U' R' F2 B' D' L\n"
- "D2 B' D L' B R' U2 L' F D' L\n"
- "D' L' B U R' U F L F' D' L\n"
- "D' L' B' R2 D' L B D2 B U2 L\n"
- "R B U B' R' L' D L2 B' D L\n"
- "R2 L' D F R F U2 F U B L\n"
- "R' D L' B' U L2 F' U L F2 L\n"
- "R' D' L' F' U' D2 B' U' F U' L\n"
- "R' D' B D2 L U F U' D' B2 L\n"
- "R' F' L D2 R2 F2 B' U D' F' L\n"
- "R' B R D F U L' F B U' L\n"
- "R' B2 D L' F U' D2 R' D B' L\n"
- "L U D R2 F B2 L2 D B D2 L\n"
- "L U D' B U F U D2 B' U L\n"
- "L D2 B U' F2 L2 F2 L2 D' B' L\n"
- "L' U2 D R2 F' R2 U2 F2 U' B' L\n"
- "L' D F U F U' B' U' L2 D L\n"
- "L' D F U' B' L B2 L' U' F L\n"
- "L' D F2 B U F U2 B L2 B L\n"
- "L' D B2 U2 B' R2 F2 U' F B2 L\n"
- "L' D' R' F R2 D B' D L D L\n"
- "L' D' F2 B' R2 U2 F2 D F2 B L\n"
- "L' D' B' L2 U2 D2 F2 R2 U B' L\n"
- "L' D' B' L2 B2 L2 D2 F2 U' B' L\n"
- "L' B D' R2 U2 R B2 U F D' L\n"
- "F B U F' B' R' D' L' B' D2 L\n"
- "B U2 R' F' L' U' R2 F B' U' L\n"
- "B2 U B' U2 R' L B' D' F2 D' L\n"
- "B2 R' B U2 D' R U' B' U' D2 L\n"
- "D' L' U2 R2 F U2 R B' D R L\n"
- "D' L' U2 R2 F U2 R B' D' R L\n"
- "(D F' B' R' U L2 U2 L' U2 D F)\n"
- "(R2 U' D R2 B D' R' F L' U' F)\n"
- "(L U' D B D R' D L F R2 F)\n"
- "(L U' D B R' D' L F B2 R2 F)\n"
- "(L D B R' U D' L U' L2 D F)\n"
- "(L D2 B R U L' F' D' B' U2 F)\n"
- "(F2 U L' D B R2 U' B' R' U F)\n"
- "(F' L F R' B' U' R D B' R' F)\n"
- "(B' U F R U L' F U' L' D' F)\n"
- "(U D' R2 F L F2 B U F2 R B)\n"
- "(U2 R2 F2 D F' B2 R D L' U B)\n"
- "(U2 R' F' L B2 R' D' F R U B)\n"
- "(U2 L2 F2 R U' L2 F' R' L' D B)\n"
- "(D2 R2 F2 U F B2 R' U' L D' B)\n"
- "(R D L' U' D L' F B R' U' B)\n"
- "(R2 L F U D' L F D' R' L' B)\n"
- "(R2 F2 D F B' R' U' D R2 L B)\n"
- "(R2 F' R U' L' D' B' R2 L2 D' B)\n"
- "(L U' D B D R' D L B U2 B)\n"
- "(L U' D B R' D' L F2 B D2 B)\n"
- "(L U' L' D2 R D' F' U B R B)\n"
- "(L D B' D F R' U F D L' B)\n"
- "(L D2 B R U L' F' D' F' L2 B)\n"
- "(F2 U L D' F R' U B2 U L' B)\n"
- "(F' R2 L F R D' F R U R' B)\n"
- "(B' D2 R F' D L' U' F L U2 B)\n"
- "(U2 D' F L2 F' L2 U B' L D R)\n"
- "(U2 R F L U F D F R2 B R)\n"
- "(U2 L' F2 D' B L U' F R' F2 R)\n"
- "(D B' U' D2 L2 B R2 U' L' U' R)\n"
- "(D' B U F2 L2 F R L U' D' R)\n"
- "(D' B U F2 L2 F R L' U' D' R)\n"
- "(D' B U F2 L2 F R' L U' D' R)\n"
- "(D' B U F2 L2 F R' L' U' D' R)\n"
- "(D' B U B2 R2 F R L U D R)\n"
- "(D' B U B2 R2 F R L' U D R)\n"
- "(D' B U B2 R2 F R' L U D R)\n"
- "(D' B U B2 R2 F R' L' U D R)\n"
- "(D' B' U' F L F' D2 L2 B' D' R)\n"
- "(R D L U L' F' D' L2 D B R)\n"
- "(R2 U2 F U R' F' D F' B' U R)\n"
- "(L2 F2 U' R' B U2 D L' F2 B' R)\n"
- "(L' D' F R2 L' F2 B' R D' F R)\n"
- "(F U F' U2 L B' U D B U R)\n"
- "(F2 U L' D R2 F R2 B R2 B' R)\n"
- "(B D B U B2 R2 F' B2 L D' R)\n"
- "(B2 D R' U' F R2 B' R L F2 R)\n"
- "(B2 D R' U' F R2 B' R' L' B2 R)\n"
- "(B2 D R' U' F' B2 L2 B' R2 U2 R)\n"
- "(B2 D R' U' F' B2 L2 B' L2 D2 R)\n"
- "(B2 D R' F U' R2 B D2 F2 U R)\n"
- "(B' R2 D' R U F' U2 B' L D2 R)\n"
- "(U2 L' F2 D' B L U' F L' U2 L)\n"
- "(U' D2 B2 D' B' R F2 D' F' D2 L)\n"
- "(D F2 B' L' F2 U R2 F R D' L)\n"
- "(D B U2 L2 F L2 U' F' R D L)\n"
- "(D B U2 F L U' F' R' D F2 L)\n"
- "(D B2 U2 F' U R' B2 L' U' B' L)\n"
- "(D2 L2 U D2 B D R2 F' R D' L)\n"
- "(D2 F' U2 L' D R' U R F' B' L)\n"
- "(D2 F' U2 L' D R' U R' F' B' L)\n"
- "(R U D L2 B R F U L2 F' L)\n"
- "(R2 L' U' F' R2 B' D' R B D' L)\n"
- "(R2 F' U' D' B U2 F D R' U L)\n"
- "(R2 F' U' D' B U2 F D' R' U L)\n"
- "(R2 B L F2 R2 U D F R B' L)\n"
- "(R2 B L F2 R2 U D' F R B' L)\n"
- "(R2 B L' U D' B2 L2 F' R B' L)\n"
- "(R2 B' R L F2 U D' B R F' L)\n"
- "(R2 B' R L F2 U' D' B R F' L)\n"
- "(L D R U R F2 B' R D2 F' L)\n"
- "(L' U' B2 R F' D2 F D' L2 F' L)\n"
- "(L' B' D L2 B' R D R2 U F L)\n"
- "(F U2 L D2 R2 U' B' D F U2 L)\n"
- "(F2 U L' D F D2 F2 B U2 B L)\n"
- "(B2 D R' U' F R2 B' U R2 U2 L)\n"
- "(B2 D R' U' F R2 B' U L2 D2 L)\n"
- "(B2 D R' U' F R2 B' U2 R2 U2 L)\n"
- "(B2 D R' U' F R2 B' U2 L2 D2 L)\n"
- "(B2 D R' U' F R2 B' U' R2 U2 L)\n"
- "(B2 D R' U' F R2 B' U' L2 D2 L)\n"
- "(B2 D R' U' F R2 B' D2 R2 U2 L)\n"
- "(B2 D R' U' F R2 B' D2 L2 D2 L)\n"
- "(B2 D R' F U' R2 B U2 B2 U L)\n"
- "(B2 D R' B' U' D2 B' U2 F' D2 L)\n"
- "(B2 L2 D R' U' F' R2 B' R2 U2 L)\n"
- "(B2 L2 D R' U' F' R2 B' L2 D2 L)\n"
- "(B' U F D' B' R' F' D R' F L)\n"
- "(B' R2 D' R U F' U2 B' R F2 L)\n"
- "(R2 U' R' F' D F B R D R L)\n"
- "(R2 U' R' F' D F B R D' R L)\n"
-},
-[6] = {
- .scramble = "U B2 U F L F' B' D L' B2 L2 B L2 U2 D2 B' U2 B L2 F U2",
- .solutions =
- "(D R L' F2 L2 U' B' R F)\n"
- "(D' L2 D2 L' F2 U' B' R F)\n"
- "(D2 R' L B L2 D' F' R B)\n"
- "R D2 L' D2 B2 R U' B L F\n"
- "R' L F' B' D' F L' B U2 F\n"
- "L F2 D' L' B2 D2 L' B R' F\n"
- "F' D R B' U2 F L' B2 U' F\n"
- "R' L F' B' D' F L' F R2 B\n"
- "L B' L' U F B' U' B2 R' B\n"
- "B2 D2 R2 U' R L' U F R' B\n"
- "F B' U' B' R2 U2 L' U2 B' R\n"
- "F B' U' B' R2 U' L' B' U2 R\n"
- "R B' U F' R' F2 B2 R' U L\n"
- "R B' U F' L' U2 D2 L' D L\n"
- "F2 D2 R2 U R' U F D' B' L\n"
- "(U L2 U' D' R L' U' B' R F)\n"
- "(U2 D' R2 B2 R' L U B' R F)\n"
- "(U2 R L' F' B2 L2 U' B' R F)\n"
- "(U2 L' B2 R F' L2 U' B' R F)\n"
- "(U' B2 U' D' R F2 D' B R' F)\n"
- "(D' R U2 F2 D2 L' D B R' F)\n"
- "(D' R U2 B2 U2 R' U B L' F)\n"
- "(D' R' L U' D' R2 D B' R F)\n"
- "(D' L U2 B2 U2 R U' B' R F)\n"
- "(D' L D2 F2 D2 R U' B' R F)\n"
- "(D' L F2 D2 F2 R U' B' R F)\n"
- "(D' L2 D2 R L' F2 U' B' R F)\n"
- "(D' L2 D2 R2 L' F2 U' B' R F)\n"
- "(D' L2 D2 R' L' F2 U' B' R F)\n"
- "(R' L' F' L2 U2 B U B' R F)\n"
- "(U2 D' R' L F2 L2 D' F' R B)\n"
- "(D' R2 L' D F' L B' L' D B)\n"
- "(D' R' U2 L F2 L2 D' F' R B)\n"
- "(D' R' L U2 B2 U' D2 F' L B)\n"
- "(D' R' F2 U2 F2 L' D' F' R B)\n"
- "(D' R' F2 U2 B2 R' U' F' L B)\n"
- "(D' R' B2 D2 F2 R' U' F' L B)\n"
- "(D' R' B2 D2 B2 L' D' F' R B)\n"
- "(D' L U F' U B2 L' U' L B)\n"
- "(D' L U2 B2 D2 L U' F' L B)\n"
- "(D' L D2 F2 U2 L U' F' L B)\n"
- "(D' L F2 U2 B2 L U' F' L B)\n"
- "(D' L2 U2 R' L F2 D' F' R B)\n"
- "(D' L2 D' R' L B D' F' R B)\n"
- "(D' B2 D2 F2 R' L U' F' L B)\n"
- "(L2 U' B' D L' U' L' F' R' B)\n"
- "(F2 D R2 D2 L' U' F D' R B)\n"
-},
-[7] = {
- .scramble = "D2 B' D2 F' L' U' F L2 U' B' U B2 R2 U' R2 B2 D' B2 U B2 U",
- .solutions =
- "(R2 B' U F' L2 U B' D2 R)\n"
- "(F' B' U2 D L2 D2 B D' R)\n"
- "U' B' R' F2 R' F' B2 D' L' B\n"
- "F' L2 D B' U' R U' F' U' B\n"
- "(L U D F D' B D' L' D2 F)\n"
- "(L B U' B2 D F' R2 F2 R' F)\n"
- "(L B2 D2 B U B2 D2 F L' F)\n"
- "(L' U' D' B D2 F R L2 U' F)\n"
- "(F2 L2 F L D2 R U2 R U F)\n"
- "(F' L D' B R' L2 D2 R D' F)\n"
- "(B R2 F' U' L' U' F2 U2 L' F)\n"
- "(B' U' R' L' F' R L D R2 F)\n"
- "(B' L' U L2 F B L F2 R2 F)\n"
- "(B' L' U L2 F B L B2 L2 F)\n"
- "(B' L' U L2 F B L' F2 R2 F)\n"
- "(B' L' U L2 F B L' B2 L2 F)\n"
- "(B' L' U F B L F2 D2 R2 F)\n"
- "(B' L' U F B L B2 U2 L2 F)\n"
- "(B' L' U F B L' F2 D2 R2 F)\n"
- "(B' L' U F B L' B2 U2 L2 F)\n"
- "(D2 B' D2 F' L' U' F L2 U' B)\n"
- "(R D2 R' B2 R2 F' B L D' B)\n"
- "(R2 F L U' R L2 U' R L2 B)\n"
- "(L F B2 L2 D F D' L' D2 B)\n"
- "(L B U L' D' B' L2 B2 L' B)\n"
- "(L' U D F D2 B R2 L U' B)\n"
- "(F2 L' D2 F' B U2 F2 R' U' B)\n"
- "(F' B' U2 D L2 D B2 R' U' B)\n"
- "(B D' F' B' L' U' F U' L2 B)\n"
- "(B' D' F' B' L' F B U L2 B)\n"
- "(B' L' U R2 F B L F2 L2 B)\n"
- "(B' L' U R2 F B L B2 R2 B)\n"
- "(B' L' U R2 F B L' F2 L2 B)\n"
- "(B' L' U R2 F B L' B2 R2 B)\n"
- "(B' L' U F B L F2 U2 L2 B)\n"
- "(B' L' U F B L B2 D2 R2 B)\n"
- "(B' L' U F B L' F2 U2 L2 B)\n"
- "(B' L' U F B L' B2 D2 R2 B)\n"
- "(R2 L2 F' B' U' R2 D2 F U' R)\n"
- "(R2 F' L U D2 R' D2 B' D' R)\n"
- "(L U' F2 U2 B R' F L' F' R)\n"
- "(L B U D R' D2 B' L D2 R)\n"
- "(L B U D2 R' B' D2 L D2 R)\n"
- "(F2 B2 L' F L D' B R U2 R)\n"
- "(B U' D2 R2 B' U' L2 F2 B' R)\n"
- "(B D2 F U R U' B U2 F R)\n"
- "(B' L' U R2 U2 B D2 F B R)\n"
- "(B' L' U R2 U2 B' D2 F B R)\n"
- "(B' L' U L2 D2 F U2 F B R)\n"
- "(B' L' U L2 D2 F' U2 F B R)\n"
- "(D2 B' R2 U F D F2 L2 U' L)\n"
- "(R2 B' U F' L2 U F2 B U2 L)\n"
- "(L U' D' B' L' D L2 U2 B L)\n"
- "(L B U D R' D2 B' R F2 L)\n"
- "(L B U D2 R' B' D2 R F2 L)\n"
- "(L B U2 D' B' L U' B U' L)\n"
- "(L B L' D' R2 B' L2 U B L)\n"
- "(L2 F U' B L2 F L F2 U L)\n"
- "(L2 B L U2 F L' U F' U2 L)\n"
- "(L' F' U L D' F' B D' F' L)\n"
- "(F U B L' F2 D F' L' D' L)\n"
- "(F2 L2 F2 B U B U2 F U2 L)\n"
- "(F2 L2 F' B U' R2 U2 B U' L)\n"
- "(F2 B2 L' F L D' B L F2 L)\n"
- "(B2 R2 L2 B' U B U2 F U2 L)\n"
- "(B' L' U R2 U2 B U2 F B L)\n"
- "(B' L' U R2 U2 B' U2 F B L)\n"
- "(B' L' U L2 D2 F D2 F B L)\n"
- "(B' L' U L2 D2 F' D2 F B L)\n"
-},
-[8] = {
- .scramble = "R' B' D2 L U' F2 B' L' D' F' B2 U R2 U2 F2 R2 U' F2 U' F2 L2 D'",
- .solutions =
- "R D' R' L D' L2 F2 B' D F\n"
- "B U2 F2 R' U' F' D' R' U F\n"
- "B D R2 B' R' B2 L' U R2 B\n"
- "B D2 R D' R B L' U R2 B\n"
- "D R2 L U B R' D F D R\n"
- "D R2 L U B' R' D F D R\n"
- "(R' B' D2 L U' F2 B' L' D' F)\n"
- "(R' B' U2 R U' F' B2 R' D' B)\n"
- "(B2 U R F' B2 D' R' F U' B)\n"
- "(D2 R2 U F' B U L' U2 D' R)\n"
- "U D L U F2 R B U' F2 D F\n"
- "U2 F B L2 U F' L' D' F2 R' F\n"
- "D R2 B' L D' L2 B' D2 R' U F\n"
- "D R' U L' U B2 R U2 B D F\n"
- "D F2 R' U B' R2 U D2 R D F\n"
- "D' L B2 L2 U R F2 R B' D F\n"
- "D' F2 L F B L2 D' F B L F\n"
- "R D F2 R L' B2 U' R2 B D F\n"
- "R D B2 R' L B2 D' L2 B U F\n"
- "R D' R L B2 L2 U R2 B' D F\n"
- "R D' R' L D' R2 L2 F2 B' D F\n"
- "R D' R' L D' L2 F2 U2 B' D F\n"
- "R D' R' L F D' B2 U B' U F\n"
- "R D' R' L F2 U R2 D' B U F\n"
- "R D' F2 R L B2 U' R2 B' D F\n"
- "R D' F2 R' L D L2 F2 B' D F\n"
- "R D' B2 R L B2 D' L2 B' U F\n"
- "R D' B2 R L' U R2 F2 B' U F\n"
- "L' F U B' D L F L2 U D2 F\n"
- "F D' L U F U L2 F2 U R F\n"
- "F2 R' F2 L U F' B U D' R F\n"
- "F' U B R2 L2 U' D' L U2 R' F\n"
- "B D R2 B' R2 L U2 R' D R2 F\n"
- "B D R2 B' R' B2 L' U' D2 L2 F\n"
- "B D2 R D' R B L' U' D2 L2 F\n"
- "B2 L' U B2 U' B' U' D' B2 L' F\n"
- "U2 B L2 U L' D' L F R U B\n"
- "U' D' F R2 U L B2 U F2 L' B\n"
- "D R F' L' B U D F B' R B\n"
- "D R' U L' U B2 R D2 F D B\n"
- "D R' U2 L' B2 R D F' B2 U B\n"
- "D F2 L' F D2 F2 D F B2 L' B\n"
- "D F' L' B U2 D F L2 B R B\n"
- "D B' R' B' R' L B D' L2 U' B\n"
- "D' R' U2 L' B2 R F' U F2 D' B\n"
- "D' F R U2 F2 L U F D2 R' B\n"
- "R U D2 L' U D R' L F' D B\n"
- "R U D2 L' U' D R' L F D B\n"
- "R D R L U F B D' L2 U' B\n"
- "R D R L U F' B' U' R2 D' B\n"
- "R D F2 U2 R' L D' R2 F U B\n"
- "R D B2 D2 R L' U' L2 F D B\n"
- "R D' R L U' F' B' U R2 D' B\n"
- "R D' R' L U2 D R2 F' B2 D B\n"
- "R D' R' L D' L2 F2 D2 F' D B\n"
- "R D' R' L F U' L2 D F' U B\n"
- "R D' R' L F U' L2 D' F' U B\n"
- "R D' R' L F D' B2 U' F' U B\n"
- "R D' R' L F2 U' L2 D' F U B\n"
- "R D' R' L F2 D B2 U' F U B\n"
- "R D' R' L F2 D' B2 U' F U B\n"
- "R D' L2 U2 R' L' D R2 F' U B\n"
- "R' D L B L D2 L U R' D' B\n"
- "F U B' D R' F2 L' U R' L2 B\n"
- "F D' B' U B R' F2 B2 U2 R' B\n"
- "F2 D' F D B R' D F2 B L' B\n"
- "B U' B2 L D' R2 F' U' L U' B\n"
- "B D R2 B' R L2 F2 L' D' L2 B\n"
- "B D R2 B' L' D2 R L2 D' L2 B\n"
- "B D F2 R B2 L2 B' L U' R2 B\n"
- "U' D' F R' U D' B R' U2 D' R\n"
- "D R2 L B2 U B R' D F D R\n"
- "D R2 L B2 U B' R' D F D R\n"
- "D R2 L' U B R' D F L2 D R\n"
- "D2 F U L F' U F' R B D' R\n"
- "R2 D L D' R B U' R F' U2 R\n"
- "R2 D' L D' R B U' R F' U2 R\n"
- "R2 F U F2 B R' F D L' U2 R\n"
- "R2 F2 R2 B' D L D2 F R U R\n"
- "L2 B2 L F' B' D F' R D2 F R\n"
- "F2 U2 L' B' D L' F R B' D R\n"
- "F2 D2 F D' B2 L' B' R' L2 D' R\n"
- "F' R2 L2 B U R' D F U' F2 R\n"
- "B L D' L B2 L' B' U2 F B2 R\n"
- "B' L D2 B2 D F' R' L2 B' U2 R\n"
- "B' L F2 R F' U D L' F D' R\n"
- "U2 R' F' B2 D B' U' R' D F2 L\n"
- "U2 F D R L U B L2 U F2 L\n"
- "U2 F D R L U B' L2 U F2 L\n"
- "U2 F2 R F' U' B' L U' L2 U' L\n"
- "U2 F2 R F' U' B' L' U' L2 U' L\n"
- "U' F D R' B U D' R B' D2 L\n"
- "D R2 L U F2 B L' U F U L\n"
- "D R2 L U F2 B' L' U F U L\n"
- "D2 R' U2 R' B2 R2 F D' B U L\n"
- "D2 R' L' U2 R' F B2 D' B U L\n"
- "R2 F U F2 B R' F D R' F2 L\n"
- "R' B R U' F L D' R' F2 D' L\n"
- "F2 U2 R' U2 B' D' F' L U' D2 L\n"
- "F2 U' B L2 D F R F2 B U L\n"
- "B R' U' R2 L' F L2 D R' F' L\n"
- "B' U2 D2 F D L' U F D' F2 L\n"
- "(U D2 R B L' U2 F D' R' L F)\n"
- "(U2 F' U L2 B L' U' R' L' D F)\n"
- "(U' F' R2 B' D R L' U B2 R F)\n"
- "(D2 F L2 D F' B2 L' U2 D R' F)\n"
- "(R D L2 F2 R' B2 D' L' B' L' F)\n"
- "(R D L2 B2 L' B2 U' R' B' R' F)\n"
- "(R' F2 B U2 R D' F2 B' R' U' F)\n"
- "(F2 D F' L' B2 L U' L' D R2 F)\n"
- "(B2 U R F' B2 D' R' U2 B U' F)\n"
- "(B2 U R' L2 F2 B' U' R' B D' F)\n"
- "(B2 L' D' B2 L' B U' R D R' F)\n"
- "(U2 R' B' U F R' F2 B2 R D' B)\n"
- "(U2 F' U R2 F L' D' R' L' U B)\n"
- "(U' L' F' D' R2 D R D' L' U' B)\n"
- "(D2 L' D F2 B' D' F' B U2 R B)\n"
- "(D' B' D R' B' R' U F U' L' B)\n"
- "(D' B' D' R' B' R' U F U' L' B)\n"
- "(R' F2 B D2 L D' F' B2 L' U' B)\n"
- "(R' B R' U2 R' F' D' R F2 U2 B)\n"
- "(R' B R' U2 R' F' D' R B2 D2 B)\n"
- "(L F' R D B' U' F B' L D2 B)\n"
- "(L2 D' F2 D' R U' F' D' R' D2 B)\n"
- "(L2 F' R' F2 U' B' U R2 U L B)\n"
- "(F' B R' D' B D2 F2 L' D' R2 B)\n"
- "(B2 U R F' B2 D' R' D2 F U' B)\n"
- "(B2 U R B2 D2 F' D' R' F U' B)\n"
- "(U2 L2 D R' F2 U' D' F' B U' R)\n"
- "(U' D2 B' L2 D2 B L' D F U' R)\n"
- "(D R L' U' F R' D' B U B2 R)\n"
- "(D2 R2 U R2 F' B U' L' U2 D' R)\n"
- "(D2 R2 U' L2 F B D' L' U' D2 R)\n"
- "(D2 R2 U' F' B L' U L' U2 D' R)\n"
- "(D' L F' B2 L F D B U' F' R)\n"
- "(D' L F' B2 L F' D B U' F' R)\n"
- "(R D2 R2 B R' U2 F' U' D' B' R)\n"
- "(R L2 F2 U' F D2 R F' D' B' R)\n"
- "(R2 L U R2 B L' U' F' L D' R)\n"
- "(R' D' B' D B2 U R' F' D' B' R)\n"
- "(L F' B R B2 U L D' F2 B R)\n"
- "(L2 B2 L D' F' B' U' D F' U' R)\n"
- "(B L' F D L U' F' D L' D2 R)\n"
- "(B2 D' R2 L B' D2 F' U' D' F' R)\n"
- "(U2 D F2 R' B2 D F U' B' D L)\n"
- "(U' F2 L' F B2 U R D' B D L)\n"
- "(D2 R2 U' D2 F B' U R' U2 D' L)\n"
- "(R L2 B2 D' F U2 L F' U' B' L)\n"
- "(R' D' B' D F2 D L' F' U' B' L)\n"
- "(B L' F D L U' F' D R' B2 L)\n"
-},
-[9] = {
- .scramble = "D F' L' D' B' R' U F' L' F' R2 U' B2 D2 L2 D' B2 U' L2 U",
- .solutions =
- "L' D2 F2 B U' L F2 U F\n"
- "L F2 B2 R2 U2 D L B' L2 F\n"
- "L' D' L2 D' R2 B U' F2 L F\n"
- "B2 U2 B D L D R' B L F\n"
- "L F2 B2 R2 U2 D L F' D2 B\n"
- "R L' F L F U' L D2 F R\n"
- "L2 U' L2 F' D2 R L F D' R\n"
- "L2 B L' D F2 R2 B2 U' B' L\n"
- "(D F' L' D' B' R' U F' L' F)\n"
-},
-{
- .scramble = "", /* End-of-list signal */
-}
-};
diff --git a/tools/404_solvetest_opt1_DR_UD/solvetest.c b/tools/404_solvetest_opt1_DR_UD/solvetest.c
@@ -1,8 +0,0 @@
-#define NISSFLAG NISSY_NISSFLAG_LINEAR
-#define MINMOVES 0
-#define MAXMOVES 20
-#define MAXSOLUTIONS 500
-#define OPTIMAL 1
-
-#include "scrambles.h"
-#include "../solvetest.h"
diff --git a/tools/405_solvetest_opt0_DR_RL/scrambles.h b/tools/405_solvetest_opt0_DR_RL/scrambles.h
@@ -0,0 +1,212 @@
+struct {
+ char *scramble;
+ char *solutions;
+} s[] = {
+[0] = {
+ .scramble = "F' R B2 U2 L' D R L F2 U' F D2 R2 U2 B' D2 F R2 F R2 U2 L2",
+ .solutions =
+ "D' B' D U' R' U2 F2 D' U F\n"
+ "D' B' D U' R' D2 B2 D U' F\n"
+ "D' F' R L' U' R2 B2 R L' B\n"
+ "D' F' R L' U' L2 F2 R' L B\n"
+ "R2 F U R' U' F' D' R2 L2 B\n"
+},
+[1] = {
+ .scramble = "B2 R D B' D L' F B' R' L2 F2 L2 D' F2 U' R2 F2 D' R2 D F2",
+ .solutions =
+ "(R' L' B R2 L' F' L' D)\n"
+},
+[2] = {
+ .scramble = "F R B2 R2 B' L' F2 B' U' R' L2 F2 L2 F L2 F R2 F' R2 B' D2 B2",
+ .solutions =
+ "U2 F' U2 B R F L D F\n"
+ "F2 L' F D' U2 L2 B R F\n"
+ "F' U L U' L D' B' R F\n"
+ "F2 L' F D' U2 R2 F R B\n"
+ "B D' L' B2 R2 U' F L U\n"
+ "(R F' U B R' F L2 B' D)\n"
+},
+[3] = {
+ .scramble = "F R L' F2 L U' F' D' L' U' L2 B2 U2 R2 F2 U2 R2 U R2 U B2 D",
+ .solutions =
+ "U' R2 B' D B' U2 L' U R F\n"
+ "U' R' L2 D R B' U' B L F\n"
+ "D L F R2 D' R' B2 L' D2 F\n"
+ "F2 D F R2 D' B2 L U' R B\n"
+ "R U' R D U' R F2 R F' U\n"
+ "R D U L U R F D R2 U\n"
+ "R D' U' R U L B D L2 U\n"
+ "R2 D R' D2 U L U' L2 B' U\n"
+ "R2 D' L' D2 U R U' R2 F' U\n"
+ "R D U L U R F U F2 D\n"
+ "R D' U' R U L B U B2 D\n"
+ "R L' F U' R L2 F L' F' D\n"
+ "R2 D R D' F2 L D2 R' B D\n"
+ "R2 D' L D' B2 R D2 L' F D\n"
+ "(F D2 R' F2 B2 D2 U R2 B' D)\n"
+},
+[4] = {
+ .scramble = "F D R L B' U' D2 R B' D B2 R2 L2 D2 B2 L2 B2 L2 B' R2",
+ .solutions =
+ "U2 R' U2 B D' R' U R2 B\n"
+},
+[5] = {
+ .scramble = "U D L' D' R' B L' U B U F2 U2 B2 R2 U2 B2 U B2 D' F2 B2",
+ .solutions =
+ "U' F2 U2 L' U F R' B2 U\n"
+ "D U2 R' D B2 D' F' B2 U\n"
+ "R F U F' D R' U2 F' U\n"
+ "F2 R2 D' L' B' R2 D2 R' U\n"
+ "L2 B2 U L B D R' L2 D\n"
+ "B2 D2 U' R F D R2 L' D\n"
+},
+[6] = {
+ .scramble = "L' U D R' D2 F U' L' D2 B L2 D' R2 D2 R2 F2 D' R2 D F2 B2 U'",
+ .solutions =
+ "D U2 R2 B' U' L' D L2 D B\n"
+ "F2 L' F D' U R F R2 L B\n"
+ "(B' R2 D F2 R' L2 U2 B D' F)\n"
+},
+[7] = {
+ .scramble = "D2 L2 B U2 F U2 R' U2 L' F2 D' F2 U' F2 R2 U' F2 U2 B2 U' B2",
+ .solutions =
+ "R2 F D U R2 U R F B\n"
+ "R2 F D U R2 U R' F B\n"
+ "(F L' F2 D R U2 F2 L' F)\n"
+ "(D2 L2 F R2 B' D2 U2 L' U)\n"
+ "(D2 R2 B D2 B' L2 B L D)\n"
+ "(F' D2 B R2 U2 F D2 L D)\n"
+ "(B' L2 B D2 R2 B D2 L D)\n"
+},
+[8] = {
+ .scramble = "U' F' D B2 L U' L F L B' L2 U D2 B2 D F2 L2 U B2 D L2",
+ .solutions =
+ "L' F D B U R' D F' R F\n"
+ "L' F D B U' R' D F' R F\n"
+ "B U F' D2 F2 D L B U2 F\n"
+ "U L U' B U F D R2 L' B\n"
+ "L B L' U L F D R2 L' B\n"
+ "L' F D B U R' D' B' L B\n"
+ "L' F D B U' R' D' B' L B\n"
+ "B U F' D2 F2 D L F R2 B\n"
+ "U2 B D' L F U' R B R' D\n"
+ "U2 B R F D' U L' U2 B' D\n"
+ "B' R2 L U' B R' U F' R D\n"
+ "(R F U2 F R' D2 U B' D' F)\n"
+ "(R B L2 B L' D U2 B' U' F)\n"
+ "(U2 L' F R L D U2 F U' B)\n"
+ "(D2 R B L2 B L' D' F' U' B)\n"
+},
+[9] = {
+ .scramble = "U' B2 R2 L2 F' R U2 L' U F L2 U L2 F2 R2 B2 U R2 D B2 R2",
+ .solutions =
+ "U' F L D B2 R' F2 B' D\n"
+},
+[10] = {
+ .scramble = "U F2 R' D2 R F R L2 B' U R2 D R2 B2 D2 R2 F2 U' R2 F2 B2 U B2",
+ .solutions =
+ "(U F L' F D2 R L2 B)\n"
+},
+[11] = {
+ .scramble = "U' R L' F2 B' L D' L D2 L' U R2 U2 F2 D2 F2 D R2 B2 D F2",
+ .solutions =
+ "D' L' D' F D2 U R U' F\n"
+ "D2 L' D B' R2 F' B' L' U\n"
+ "L F2 U' R F R2 U' L' U\n"
+ "D2 L' D F B2 D2 B2 R' D\n"
+ "D2 L' D F' B2 L U2 F2 D\n"
+ "D2 L' D F' B2 L D2 B2 D\n"
+ "(B D2 F' U' L U R' F' U)\n"
+},
+[12] = {
+ .scramble = "R' B2 U L' B D' F R2 L' F D2 R2 L2 U' R2 D' R2 L2 B2 D L2 D",
+ .solutions =
+ "D U B R F2 B U' R L B\n"
+ "D F2 L B L2 B' U' R U2 B\n"
+ "R' L2 D' B' R2 D' R D' L' B\n"
+ "L' D R2 L' B' D' F2 R2 L' B\n"
+ "D R' F D2 B L' F R' B' U\n"
+ "R2 B' L2 D' R L' B' U B2 U\n"
+ "L2 D R B' L B U R' F' U\n"
+ "L2 D R B' L' B U R' F' U\n"
+ "R2 B' L2 D' R L' B' D L2 D\n"
+ "F' R' L' B R U' F' L F2 D\n"
+ "(L' F' L D B D U B' R U)\n"
+ "(B2 L F' D' B U B D2 R U)\n"
+},
+[13] = {
+ .scramble = "U L' F U R' F2 D B' U L U R2 F2 B2 U' L2 U2 R2 D R2 D2",
+ .solutions =
+ "L F2 R U' F' B L' D F\n"
+},
+[14] = {
+ .scramble = "L F' D B L F D' R F' R2 U' L2 U' B2 D' F2 R2 D2 F2",
+ .solutions =
+ "(L2 B2 U R U2 R U' B)\n"
+ "(D U' F2 L' U' B L' D)\n"
+},
+[15] = {
+ .scramble = "R B' D F U' F L2 B U' R D F2 L2 B2 L2 U2 D R2 L2 B2 U2",
+ .solutions =
+ "L2 D2 U2 R' F U B D U\n"
+ "L2 D2 U2 R' F U B' D U\n"
+},
+[16] = {
+ .scramble = "B' L U2 F L' B U F2 U' F2 D2 B R2 B U2 D2 R2 U2 B2 L2 F2",
+ .solutions =
+ "U2 L B' U2 L' D B R D F\n"
+ "R' F' U B2 R D2 B U' R2 F\n"
+ "L2 B L2 U' F2 U R L U2 F\n"
+ "L2 B L2 D' L2 D R L U2 F\n"
+ "B L B R F U L' D2 U F\n"
+ "R D' L2 D B' R2 L' F2 U2 B\n"
+ "R D' L2 D B' R2 L' B2 D2 B\n"
+ "L2 B L2 U' F2 U R' L' D2 B\n"
+ "L2 B L2 D' L2 D R' L' D2 B\n"
+ "B R' U' F2 U' F' B2 D2 R B\n"
+ "F2 L D F L D' R' F2 B D\n"
+ "(F' R' F D F2 B2 R2 L' U' F)\n"
+},
+[17] = {
+ .scramble = "U' D2 L' U2 F L B U R' B' U' L2 D R2 U' F2 D R2 D R2 F2 D'",
+ .solutions =
+ "F' D2 R' D' R' L' F B' D' F\n"
+ "U L' D B' U2 R2 B2 R U B\n"
+ "L B2 L' D' R' L F' R' U' B\n"
+ "F2 B' U' B2 R2 F' L' U' R' B\n"
+ "F' L D B D' U B2 R F' U\n"
+ "L2 B2 L U' F2 R' F B' R' D\n"
+ "F' R2 U F D U' R L' B' D\n"
+ "(D' F2 B2 R L2 D2 F B2 U B)\n"
+ "(D2 L F B D U2 R2 L' B U)\n"
+ "(L D' L2 B2 R U' F B' R' U)\n"
+ "(L D' R2 F2 R D F' B R D)\n"
+},
+[18] = {
+ .scramble = "U B2 L B2 R B R' D L2 B U' R2 U' L2 B2 D L2 D' R2 F2 D' B2 D",
+ .solutions =
+ "L F' R F' D R U R D2 B\n"
+ "(B2 U' L F R2 F D' U L2 F)\n"
+ "(B2 U' L B U2 B D' U' R2 F)\n"
+ "(B2 L' D' R' L2 F L2 U R' F)\n"
+ "(B' U L' D' B2 R' B' U R2 F)\n"
+ "(B' U L' B D R' U' F' D2 F)\n"
+ "(B' U B' L' B2 D' R' U R2 F)\n"
+ "(B2 U' L F R2 F D U' R2 B)\n"
+ "(B2 U' L B U2 B D U L2 B)\n"
+ "(B' U L' B D R' U' B' L2 B)\n"
+ "(R' B D' B' L' U2 B U' R D)\n"
+ "(L' D F' D' R' U2 B U' R D)\n"
+ "(F' L F' L D' R U' F' L D)\n"
+},
+[19] = {
+ .scramble = "R B2 D' B U' B' L2 F2 B D F2 U' B2 D' F2 U2 F2 R2 D' B2 U B2",
+ .solutions =
+ "R2 D' B D' L2 F' R2 D' F\n"
+ "R B2 D' B2 R U' F2 B' U\n"
+ "U2 R' F2 U' F2 R' U' B D\n"
+},
+{
+ .scramble = "", /* End-of-list signal */
+}
+};
diff --git a/tools/405_solvetest_opt0_DR_RL/solvetest.c b/tools/405_solvetest_opt0_DR_RL/solvetest.c
@@ -0,0 +1,8 @@
+#define NISSFLAG NISSY_NISSFLAG_LINEAR
+#define MINMOVES 0
+#define MAXMOVES 20
+#define MAXSOLUTIONS 500
+#define OPTIMAL 0
+
+#include "scrambles.h"
+#include "../solvetest.h"
diff --git a/tools/406_solvetest_opt0_DR_FB/scrambles.h b/tools/406_solvetest_opt0_DR_FB/scrambles.h
@@ -0,0 +1,243 @@
+struct {
+ char *scramble;
+ char *solutions;
+} s[] = {
+[0] = {
+ .scramble = "L D' F R' F' B L F U2 R2 D2 R2 F2 R2 L U2 F2 R U2",
+ .solutions =
+ "(L D F' D2 L U2 F' R)\n"
+ "(L D F' U2 R U2 B' L)\n"
+},
+[1] = {
+ .scramble = "L F R B2 L2 D B R2 L F L2 D2 B R2 F2 U2 D2 F U2 F2 R2",
+ .solutions =
+ "(L F R B2 L2 D B L)\n"
+},
+[2] = {
+ .scramble = "F U' F2 R2 L' F' U' D2 L' D2 B2 R2 D2 B2 L2 U2 B2 D' F2 B2 R2",
+ .solutions =
+ "(U2 R L U R F B' D)\n"
+},
+[3] = {
+ .scramble = "D R L2 F' B R D2 B' U' R D2 R B2 D2 L' F2 U2 R2 L",
+ .solutions =
+ "R' L B L' D L2 D' B2 R\n"
+ "D' U2 R' U' R U' B' D' L\n"
+ "B' U' L F2 U2 R' B' R2 U\n"
+ "(L2 D' F' U2 F2 D' R2 F2 R)\n"
+ "(L2 D' F' U2 F2 D' L2 B2 R)\n"
+},
+[4] = {
+ .scramble = "D' B L' F2 L' F' B U' R' F2 B' U2 F2 U L2 B2 D' F2 D2 L2 U L2",
+ .solutions =
+ "(B D R2 D2 U' R F2 B' D)\n"
+},
+[5] = {
+ .scramble = "U' B R U2 F' D2 L U B2 L D2 L2 U2 R2 F2 U R2 D' F2 U' B2",
+ .solutions =
+ "L' B' D' F B' L D2 U' R\n"
+ "D' F R' B' U F' U B' L\n"
+ "(F D U R' B2 R2 F R' D)\n"
+},
+[6] = {
+ .scramble = "U' D' F' R B' L2 F2 U B' R' L F2 U2 D2 R' B2 U2 R U2 L",
+ .solutions =
+ "R2 L' D' B' U L D' L F2 R\n"
+ "B R2 B' D2 L' D B' U F' R\n"
+ "U' R' U F2 B D R D2 U' L\n"
+ "R2 L' D' B' U L D' R U2 L\n"
+ "R2 F2 R B' D U' B' L B' L\n"
+ "R2 B2 L B D2 L B2 D' L' U\n"
+ "D U2 B' L2 F' U L' D' B' D\n"
+ "D2 L2 B' R2 U R' B R2 F' D\n"
+ "D' F R2 B' L2 U' F' R' F' D\n"
+ "R' F' R F' R B' L2 U' R' D\n"
+ "(F2 B' U2 R B D' U F' D2 R)\n"
+ "(U F' D' F B2 L' F' U B U)\n"
+ "(U F' R2 D2 F2 R2 B' D2 L U)\n"
+ "(U' R D' B L' F2 B2 D2 R U)\n"
+ "(U' F2 R D F' B2 U R2 F' U)\n"
+ "(U' F2 R F U2 B' U2 B' L2 U)\n"
+ "(D R2 D' R2 F L2 F D R U)\n"
+ "(D2 U B2 L U' B' L2 D B U)\n"
+ "(F R' F2 L2 B2 R D R F U)\n"
+ "(F B2 U' B2 R' F L2 F R2 U)\n"
+ "(F2 B R2 D F R2 B' R F2 U)\n"
+ "(B' U2 L2 U F' L2 F2 B R U)\n"
+ "(U R' L2 D2 B L2 B U2 R D)\n"
+ "(U' F2 R B L2 B' L2 F' R2 D)\n"
+ "(U' F' D' F' D2 R' F' D B D)\n"
+ "(U' B D2 U2 B2 U2 B U2 L D)\n"
+ "(D2 R2 F U' F D2 F2 B R D)\n"
+ "(R F D2 R' B' U L' B' L' D)\n"
+ "(R2 F R F' L2 B2 U' R F' D)\n"
+ "(F R2 F' R' F L2 U' R F' D)\n"
+ "(B' L2 U B D2 F B2 L F2 D)\n"
+},
+[7] = {
+ .scramble = "F U B' R2 D' L' F2 U R' L' D B2 D F2 U2 F2 L2 D B2 U' B2 D",
+ .solutions =
+ "(D' L D2 F U R F D)\n"
+},
+[8] = {
+ .scramble = "F' B R2 L' F' U2 B' L' U R B2 U2 R2 U D2 L2 U L2 F2 L2",
+ .solutions =
+ "R B2 U2 F' R L2 F2 U' L\n"
+ "U R' D L2 U B' R L U\n"
+ "F R' D' F2 U2 B2 R' B' D\n"
+ "(F' U2 L' U B U' F' U R)\n"
+ "(B L B' D2 R' F' L D R)\n"
+ "(R2 B2 D2 B' R2 B' R' U L)\n"
+ "(F' U F2 R2 D2 F' R D L)\n"
+ "(B R' B' R D2 B2 R U L)\n"
+ "(D R D B' D2 B' U R L)\n"
+ "(D R D B' D2 B' U' R L)\n"
+},
+[9] = {
+ .scramble = "D B U2 B2 R' L' D' R' U F B2 R2 D2 L2 F R2 F2 B L2 F R2",
+ .solutions =
+ "(D F2 B' U2 R' L D R' U)\n"
+ "(D B U2 B2 R' L' D' R' U)\n"
+ "(D B' R' L D2 F2 D R' U)\n"
+ "(R F2 D U2 B L2 U2 R' D)\n"
+},
+[10] = {
+ .scramble = "R' L2 D' F' L B L F' U2 L' D2 B2 D2 F2 R2 D' R2 D B2 D F2",
+ .solutions =
+ "(U2 R' F' B L' U' B2 D' R)\n"
+},
+[11] = {
+ .scramble = "F' U' R2 F U' B U' R D' B U2 D2 F2 R2 F U2 F' L2 B' L2 D2",
+ .solutions =
+ "D2 F' L2 D R' U F B D\n"
+ "D2 F' L2 D R' U' F B D\n"
+ "(U' B' D' F2 D' L' D' F U)\n"
+ "(F' U' R2 F U' B U' R D)\n"
+ "(B L2 D F' U' L2 D R D)\n"
+},
+[12] = {
+ .scramble = "U2 R' U2 D2 B' L D B2 R B L2 B2 U2 B2 U D2 B2 D B2 D'",
+ .solutions =
+ "(D2 U L2 D R F L' U2 R)\n"
+ "(U2 F2 U B R B' D B L)\n"
+ "(D2 U L2 D R F R' F2 L)\n"
+ "(L2 D R' B2 U2 F' B2 L' U)\n"
+},
+[13] = {
+ .scramble = "L' U2 F2 B' U' R D B' U' F2 U2 F' R2 U2 F L2 F U2 B2 L2 U2 D2",
+ .solutions =
+ "(B2 L' F R F2 D F' U' R)\n"
+ "(L' U2 F2 B' U' R D B' U)\n"
+},
+[14] = {
+ .scramble = "B2 U' B D R U2 F R' D2 F R B2 U2 L U2 R' B2 U2 R F2 R U2",
+ .solutions =
+ "R2 D' B R L2 B' L' U' F L\n"
+ "F D2 U' F R' B L D L2 U\n"
+ "F D2 L2 F R B L' D' F' U\n"
+ "F D2 U' F R' B L U B2 D\n"
+ "(U L' F' L2 D' F' B2 L U' R)\n"
+ "(F B' L2 F D B' U' L' B' R)\n"
+ "(F2 D R B R2 U' R' D2 F2 R)\n"
+ "(F2 D R B R2 U' L' B2 D2 R)\n"
+ "(F2 L2 B U' B' D' F L' F' R)\n"
+ "(F2 B2 U2 B D B' U L' B' R)\n"
+ "(F2 B' D B' U' L' B2 L2 B R)\n"
+ "(U F R2 U F' D U R B L)\n"
+ "(R2 D U2 F' U' L F R B' L)\n"
+ "(R2 D U2 F' U' L F' R B' L)\n"
+ "(R2 D' U2 F' U B' R' F B' L)\n"
+ "(L' D2 B2 L' D U R F' D L)\n"
+ "(F2 D R B U B2 U' R2 U L)\n"
+ "(F2 D R B R2 U' R' U2 B2 L)\n"
+ "(F2 D R B R2 U' L' F2 U2 L)\n"
+ "(D R B' U L' B' D2 B' L2 U)\n"
+ "(D B2 L B' R L' U L B U)\n"
+ "(B' D R L F U B U2 R U)\n"
+ "(D R B U B2 L' F' D' F' D)\n"
+ "(F L' B' R F B' U R L' D)\n"
+ "(F2 R B D U' F2 R F' B2 D)\n"
+ "(B2 U R' L' D' B2 U2 B L D)\n"
+},
+[15] = {
+ .scramble = "U2 F U2 L F2 U2 R2 D L F2 D2 F R2 U2 L2 U2 B U2 B U2 L2",
+ .solutions =
+ "R' F' L U' L D2 R\n"
+ "R' F' L U' R F2 L\n"
+},
+[16] = {
+ .scramble = "L' F U' R2 F U2 B U2 L' U' F2 U2 L2 D2 R U2 B2 D2 L2 D2",
+ .solutions =
+ "U R' U' F L' F' D' R' F2 R\n"
+ "R' F D U L F' B2 L2 D' R\n"
+ "R' F2 R2 L' F D U2 R2 U' R\n"
+ "R' F2 R2 L' F D' L2 D2 U R\n"
+ "L' U2 F R' D2 L2 D' B2 U R\n"
+ "U R' U' F L' F' D' L' U2 L\n"
+ "R' L' F' D R2 F R' U R' U\n"
+ "L B R U' F' D2 F2 L B' U\n"
+ "R' B2 L' F U L D B2 L' D\n"
+ "L' F R F' U R2 U' F' R D\n"
+ "(D2 F L B D' L' F R' D' L)\n"
+ "(F L B L' D L2 U' R U' L)\n"
+ "(D U' L F R' U' B D' L U)\n"
+ "(F2 L D F B' R' L' F L' U)\n"
+ "(L B L' F' D' F2 L D R' D)\n"
+ "(L B L' F' D' F2 L' D R' D)\n"
+},
+[17] = {
+ .scramble = "D F' B D' B' U' L2 B' U' R' L2 B2 U' B2 D F2 U' L2 F2 U2 B2 D'",
+ .solutions =
+ "D' F' R B' R2 U R' D B2 U\n"
+ "R F L2 B' L2 D R2 B2 R' U\n"
+ "R F2 U2 F' D' L' D L2 B U\n"
+ "R B2 D' R' D2 R2 F D' B' U\n"
+ "L2 U' B2 D L' F' B' D F2 U\n"
+ "L2 F' D' R B' D2 R' F2 R2 U\n"
+ "D' R2 D2 F U' F L' F' B D\n"
+ "D' F' R B' R2 U R' U R2 D\n"
+ "R F L2 B' L2 D L2 F2 R' D\n"
+ "R B2 D' R' F D2 B U' F' D\n"
+ "R B2 D' R' B R2 F U' F' D\n"
+ "R B' D' F2 U F' D F2 R' D\n"
+ "R2 U B2 R' U' F U B' R2 D\n"
+ "L2 U' B2 D L' F' B' U L2 D\n"
+ "L2 F' D' R B' D2 R' B2 L2 D\n"
+ "B D U2 F' L U2 B' L2 B D\n"
+ "(L' F2 D' U2 B R2 U R' B' R)\n"
+ "(U R2 F' D' L' D' L' D2 U' L)\n"
+ "(U R' D2 U R F' L F R2 U)\n"
+ "(U' R2 F' U' L' D2 B R2 B2 U)\n"
+ "(D F' L B2 D2 R B D' F' U)\n"
+ "(D' R2 B D F2 B' D F L' U)\n"
+ "(D' F2 R2 D L2 B' L' F' B U)\n"
+ "(R2 B2 D' F D' F2 U2 R' F U)\n"
+ "(F U' F' U' L' D2 B D R2 U)\n"
+ "(U F2 R2 U' R2 F L' F B' D)\n"
+ "(U' R2 F' U' L' D2 B L2 F2 D)\n"
+ "(D L F U2 L' D' B U' F D)\n"
+ "(D L F U2 L' D' B' U' F D)\n"
+ "(D L2 U2 L2 F L' F' U' B' D)\n"
+ "(D F' L F2 U2 L B U' F' D)\n"
+ "(D' R2 D2 F L' F' R2 U' B' D)\n"
+ "(F U' F' U' L' D2 B U F2 D)\n"
+},
+[18] = {
+ .scramble = "D' R D2 F' R2 B2 R B U' R2 L2 F U2 D2 F L2 U2 B' D2",
+ .solutions =
+ "(D' R B D2 F' R2 U F R)\n"
+ "(D R' F D' B' L2 D' B L)\n"
+ "(D' R D2 F' R2 B2 R B U)\n"
+ "(D' R F' D2 R2 B2 R B U)\n"
+ "(D' R B D2 F' B' R' B U)\n"
+},
+[19] = {
+ .scramble = "R2 B U F D R' F2 B D B U2 R2 B2 R2 U' R2 F2 U D2 B2 U'",
+ .solutions =
+ "L' U F' U L F L' D\n"
+ "F D' F' L' B' R2 B D\n"
+},
+{
+ .scramble = "", /* End-of-list signal */
+}
+};
diff --git a/tools/406_solvetest_opt0_DR_FB/solvetest.c b/tools/406_solvetest_opt0_DR_FB/solvetest.c
@@ -0,0 +1,8 @@
+#define NISSFLAG NISSY_NISSFLAG_LINEAR
+#define MINMOVES 0
+#define MAXMOVES 20
+#define MAXSOLUTIONS 500
+#define OPTIMAL 0
+
+#include "scrambles.h"
+#include "../solvetest.h"