正则(9)十九 - 二十阶魔方

目录

一,JS部分

二,自动复原

三,十九阶魔方

1,网页版

2,自动复原

四,二十阶魔方

1,网页版

2,自动复原


一,JS部分

参考三阶魔方

二,自动复原

参考自动复原(终极版本)

三,十九阶魔方

1,网页版

JS部分参考上文

HTML部分:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>十九阶魔方</title>
  <style>
    :root {
      --bg1: #161b26;
      --bg2: #1f2635;
      --txt: #e8edf5;
      --dim: #8fa0bf;
      --panel: #1b2231;
    }
    * { box-sizing: border-box; }
    html, body { height: 100%; }
    body {
      margin: 0;
      font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
      background: radial-gradient(1200px 700px at 50% -10%, var(--bg2), var(--bg1));
      color: var(--txt);
      padding: 6px 8px 8px;
      overflow: hidden;
      height: 100vh;
      display: flex;
      flex-direction: column;
    }

    h1 {
      margin: 0 0 2px;
      font-size: 20px;
      letter-spacing: 2px;
      text-align: center;
      flex-shrink: 0;
    }

    #status {
      min-height: 18px;
      margin: 0 0 4px;
      font-size: 12px;
      color: var(--dim);
      transition: color .3s;
      text-align: center;
      flex-shrink: 0;
    }
    #status.solved { color: #7ee08a; font-weight: bold; animation: pop .55s ease; }
    #status.error { color: #ff7a7a; font-weight: bold; }
    @keyframes pop {
      0% { transform: scale(.6); opacity: 0; }
      70% { transform: scale(1.18); }
      100% { transform: scale(1); opacity: 1; }
    }

    #main {
      display: flex;
      gap: 6px;
      flex: 1;
      min-height: 0;
      width: 100%;
      max-width: 100%;
      margin: 0 auto;
    }

    #leftCol {
      flex: 0 0 58%;
      min-width: 0;
      height: 100%;
      display: flex;
      flex-direction: column;
    }

    #stage {
      width: 100%;
      height: 100%;
      min-height: 0;
      background: transparent;
      border-radius: 8px;
      overflow: hidden;
    }

    #rightCol {
      flex: 1;
      min-width: 0;
      height: 100%;
      display: flex;
      flex-direction: column;
      gap: 4px;
      overflow: hidden;
    }

    #controls {
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      gap: 4px;
      align-items: center;
      padding: 4px 6px 6px;
      background: var(--panel);
      border-radius: 8px;
      border: 1px solid #2a3344;
    }

    .move-row {
      display: flex;
      gap: 4px;
      flex-wrap: wrap;
      justify-content: center;
      width: 100%;
    }

    button {
      border: none;
      border-radius: 6px;
      padding: 6px 10px;
      font-size: 13px;
      font-weight: 600;
      cursor: pointer;
      background: #37425c;
      color: #fff;
      box-shadow: 0 2px 0 #1a2130;
      transition: transform .06s, background .15s, box-shadow .06s;
      min-width: 38px;
      letter-spacing: .3px;
      flex-shrink: 0;
    }
    button:hover { background: #46557a; }
    button:active { transform: translateY(2px); box-shadow: 0 0 0 #1a2130; }
    button.tool { background: #2f7a55; }
    button.tool:hover { background: #3b9768; }
    button.tool.warn { background: #8a3d3d; }
    button.tool.warn:hover { background: #a84c4c; }
    button.copy { background: #2a6e8f; }
    button.copy:hover { background: #3588ad; }
    #autoRunBtn { background: #7a3f8a; }
    #autoRunBtn:hover { background: #9550a8; }

    #seqInput {
      flex: 1;
      min-width: 60px;
      padding: 5px 8px;
      border-radius: 6px;
      border: 1px solid #4a5a7a;
      background: #161b26;
      color: #e8edf5;
      font-size: 12px;
      font-family: "Cascadia Code", "Consolas", monospace;
      width: 100%;
    }
    #seqInput:focus { outline: none; border-color: #6d88c8; }

    #seqRow {
      flex-wrap: nowrap;
      width: 100%;
    }

    #recordBox {
      flex: 1;
      min-height: 0;
      display: flex;
      flex-direction: column;
      gap: 2px;
      overflow: hidden;
    }

    #recordTitle {
      font-size: 13px;
      font-weight: 700;
      color: #cfd9ea;
      letter-spacing: 0.5px;
      text-align: center;
      flex-shrink: 0;
      margin: 0;
    }

    #recordPanel {
      background: var(--panel);
      border: 1px solid #2a3344;
      border-radius: 8px;
      padding: 6px 10px;
      font-family: "Cascadia Code", "Consolas", "Courier New", monospace;
      font-size: 11px;
      line-height: 1.5;
      color: #cfd9ea;
      white-space: pre-wrap;
      word-break: break-all;
      flex: 1;
      min-height: 0;
      overflow: auto;
      margin: 0;
    }

    #copyBtn { width: 100%; flex-shrink: 0; padding: 5px 0; font-size: 12px; }

    @media (max-width: 860px) {
      body { padding: 4px 6px 6px; }
      #main { flex-direction: column; gap: 6px; }
      #leftCol { flex: 0 0 55vh; width: 100%; }
      #rightCol { flex: 1; min-height: 260px; }
      #controls { padding: 4px; }
      button { padding: 5px 8px; font-size: 12px; min-width: 34px; }
      #stage { height: 100%; }
      #recordPanel { font-size: 10px; padding: 4px 8px; }
      h1 { font-size: 18px; }
    }

    @media (max-width: 480px) {
      #leftCol { flex: 0 0 45vh; }
      #seqRow { flex-wrap: wrap; }
      #seqInput { flex: 1 1 100%; }
    }
  </style>
</head>
<body>
  <h1>十九阶魔方</h1>
  <div id="status">加载中…</div>

  <div id="main">
    <div id="leftCol">
      <div id="stage"></div>
    </div>

    <div id="rightCol">
      <div id="controls">
        <div class="move-row">
          <button class="tool" id="scrambleBtn">打乱</button>
          <button class="tool warn" id="resetBtn">复原</button>
          <button class="tool" id="autoRunBtn">自动运行</button>
        </div>
        <div class="move-row" id="seqRow">
          <input id="seqInput" type="text" placeholder="操作序列,如 U2' F3 R18'" />
          <button class="tool" id="seqBtn">执行</button>
        </div>
      </div>

      <div id="recordBox">
        <div id="recordTitle">📋 棋谱</div>
        <button class="tool copy" id="copyBtn">📋 一键复制棋谱</button>
        <pre id="recordPanel"></pre>
      </div>
    </div>
  </div>

<script type="importmap">
{
  "imports": {
    "three": "https://cdn.jsdelivr.net/npm/three@0.160.0/build/three.module.js"
  }
}
</script>

<script type="module">
import * as THREE from 'three';

// ---------- 场景 ----------
const stage = document.getElementById('stage');
const statusEl = document.getElementById('status');
const recordPanel = document.getElementById('recordPanel');
const copyBtn = document.getElementById('copyBtn');

const renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true });
renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));

function resizeRenderer() {
  const w = stage.clientWidth;
  const h = stage.clientHeight;
  if (w > 0 && h > 0) {
    renderer.setSize(w, h, false);
    camera.aspect = w / h;
    camera.updateProjectionMatrix();
  }
}

stage.appendChild(renderer.domElement);

const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(30, stage.clientWidth / stage.clientHeight, 0.1, 100);
camera.position.set(36, 27.5, 45.5);
camera.lookAt(0, 0, 0);

scene.add(new THREE.AmbientLight(0xffffff, 0.9));
const light1 = new THREE.DirectionalLight(0xffffff, 1.3);
light1.position.set(5, 9, 6);
scene.add(light1);
const light2 = new THREE.DirectionalLight(0xffffff, 0.45);
light2.position.set(-4, -3, -2);
scene.add(light2);

// ---------- 颜色 ----------
const COL_HEX = {
  U: '#f5f5f5',
  D: '#ffd500',
  R: '#3b82f6',
  L: '#3aab4e',
  F: '#e33c3c',
  B: '#ff8c1a'
};
const COL_CHAR = { U: 'W', D: 'Y', R: 'B', L: 'G', F: 'R', B: 'O' };

// ---------- 十九阶坐标 ----------
const N = 19;
const OUT = 9.0;
const POSITIONS = [];
for (let i = 0; i < N; i++) {
  POSITIONS.push(-9.0 + i);
}
const SIZE = 0.82;

const AXIS_MAP = {
  U: { axis: 'y', side: 1, vec: new THREE.Vector3(0, 1, 0) },
  D: { axis: 'y', side: -1, vec: new THREE.Vector3(0, -1, 0) },
  R: { axis: 'x', side: 1, vec: new THREE.Vector3(1, 0, 0) },
  L: { axis: 'x', side: -1, vec: new THREE.Vector3(-1, 0, 0) },
  F: { axis: 'z', side: 1, vec: new THREE.Vector3(0, 0, 1) },
  B: { axis: 'z', side: -1, vec: new THREE.Vector3(0, 0, -1) }
};

const FACE_SIGN = {
  'R': -1, 'L': 1, 'U': -1, 'D': 1, 'F': -1, 'B': 1
};

function buildLayerDefs() {
  const defs = {};
  const faces = ['U','D','R','L','F','B'];
  for (const f of faces) {
    const base = AXIS_MAP[f];
    for (let layer = 1; layer <= N-1; layer++) {
      const key = layer === 1 ? f : f + layer;
      let targets;
      if (base.side === 1) {
        targets = POSITIONS.slice(N - layer);
      } else {
        targets = POSITIONS.slice(0, layer);
      }
      defs[key] = {
        axis: base.axis,
        targets: targets,
        face: f,
        sign: FACE_SIGN[f]
      };
    }
  }
  return defs;
}

const LAYER_DEFS = buildLayerDefs();

const ROT_DEF = {
  x: { axis: 'x' },
  y: { axis: 'z' },
  z: { axis: 'y' }
};

const FACE_ORDER = ['U','D','L','R','F','B'];

// ---------- 贴纸纹理 ----------
function roundedRect(ctx, x, y, w, h, r) {
  ctx.beginPath();
  ctx.moveTo(x + r, y);
  ctx.arcTo(x + w, y,     x + w, y + h, r);
  ctx.arcTo(x + w, y + h, x,     y + h, r);
  ctx.arcTo(x,     y + h, x,     y,     r);
  ctx.arcTo(x,     y,     x + w, y,     r);
  ctx.closePath();
}

function makeStickerTexture(hex) {
  const size = 128;
  const canvas = document.createElement('canvas');
  canvas.width = canvas.height = size;
  const ctx = canvas.getContext('2d');
  ctx.fillStyle = '#0b0b0d';
  roundedRect(ctx, 0, 0, size, size, 14);
  ctx.fill();
  const m = 17;
  ctx.fillStyle = hex;
  roundedRect(ctx, m, m, size - 2 * m, size - 2 * m, 9);
  ctx.fill();
  const tex = new THREE.CanvasTexture(canvas);
  tex.colorSpace = THREE.SRGBColorSpace;
  tex.anisotropy = 4;
  return tex;
}

const TEX = {};
for (const f in COL_HEX) TEX[f] = makeStickerTexture(COL_HEX[f]);

const blackPlastic = new THREE.MeshStandardMaterial({ color: 0x0a0a0c, roughness: 0.62, metalness: 0.08 });
function stickerMaterial(face) {
  return new THREE.MeshStandardMaterial({ map: TEX[face], roughness: 0.3, metalness: 0.05 });
}

// ---------- 表面块(含逻辑状态) ----------
let cubies = [];

function createCubie(x, y, z) {
  const mats = [
    x ===  OUT ? stickerMaterial('R') : blackPlastic,
    x === -OUT ? stickerMaterial('L') : blackPlastic,
    y ===  OUT ? stickerMaterial('U') : blackPlastic,
    y === -OUT ? stickerMaterial('D') : blackPlastic,
    z ===  OUT ? stickerMaterial('F') : blackPlastic,
    z === -OUT ? stickerMaterial('B') : blackPlastic
  ];
  const geo = new THREE.BoxGeometry(SIZE, SIZE, SIZE);
  const mesh = new THREE.Mesh(geo, mats);
  mesh.position.set(x, y, z);
  scene.add(mesh);

  const colors = {
    px: x ===  OUT ? COL_CHAR.R : null,
    nx: x === -OUT ? COL_CHAR.L : null,
    py: y ===  OUT ? COL_CHAR.U : null,
    ny: y === -OUT ? COL_CHAR.D : null,
    pz: z ===  OUT ? COL_CHAR.F : null,
    nz: z === -OUT ? COL_CHAR.B : null
  };

  return {
    mesh,
    home: new THREE.Vector3(x, y, z),
    colors,
    pos: new THREE.Vector3(x, y, z),
    quat: new THREE.Quaternion()
  };
}

function buildCube() {
  cubies.forEach(c => scene.remove(c.mesh));
  cubies = [];
  for (const x of POSITIONS)
    for (const y of POSITIONS)
      for (const z of POSITIONS) {
        if (Math.abs(x) === OUT || Math.abs(y) === OUT || Math.abs(z) === OUT) {
          cubies.push(createCubie(x, y, z));
        }
      }
}

// ---------- 无动画即时旋转 ----------
const AXIS_VEC = {
  x: new THREE.Vector3(1, 0, 0),
  y: new THREE.Vector3(0, 1, 0),
  z: new THREE.Vector3(0, 0, 1)
};

function snap(v) { return Math.round(v * 2) / 2; }

function rotateCubie(c, axis, angle) {
  const q = new THREE.Quaternion().setFromAxisAngle(AXIS_VEC[axis], angle);
  c.pos.applyQuaternion(q);
  c.pos.x = snap(c.pos.x);
  c.pos.y = snap(c.pos.y);
  c.pos.z = snap(c.pos.z);
  c.quat.premultiply(q);
}

function selectCubiesForLayer(faceKey) {
  const def = LAYER_DEFS[faceKey];
  if (!def) return [];
  return cubies.filter(c => {
    const val = c.pos[def.axis];
    return def.targets.some(t => Math.abs(val - t) < 0.01);
  });
}

function applyInstantMove(faceKey, dir) {
  if (ROT_DEF[faceKey]) {
    const axis = ROT_DEF[faceKey].axis;
    const angle = -dir * Math.PI / 2;
    cubies.forEach(c => rotateCubie(c, axis, angle));
    return;
  }
  const def = LAYER_DEFS[faceKey];
  if (!def) return;
  const selected = selectCubiesForLayer(faceKey);
  const angle = dir * def.sign * Math.PI / 2;
  selected.forEach(c => rotateCubie(c, def.axis, angle));
}

function syncMeshes() {
  for (const c of cubies) {
    c.mesh.position.copy(c.pos);
    c.mesh.quaternion.copy(c.quat);
  }
}

// ---------- 工具函数 ----------
function axisToKey(v) {
  const ax = Math.abs(v.x), ay = Math.abs(v.y), az = Math.abs(v.z);
  if (ax >= ay && ax >= az) return v.x >= 0 ? 'px' : 'nx';
  if (ay >= ax && ay >= az) return v.y >= 0 ? 'py' : 'ny';
  return v.z >= 0 ? 'pz' : 'nz';
}

function isSolved() {
  const st = getState();
  for (const f of FACE_ORDER) {
    const s = st[f];
    if (!s || s.length !== N*N) return false;
    for (let i = 1; i < N*N; i++) {
      if (s[i] !== s[0]) return false;
    }
  }
  return true;
}

// ---------- 局面读取(基于逻辑状态) ----------
function getFaceSlots(face) {
  const s = [];
  for (let r = 0; r < N; r++)
    for (let c = 0; c < N; c++) {
      const x = c - (N-1)/2;
      const yTop = (N-1)/2 - r;
      const z = r - (N-1)/2;
      let p;
      if (face === 'U')      p = [x,  OUT, z];
      else if (face === 'D') p = [x, -OUT, z];
      else if (face === 'F') p = [x, yTop,  OUT];
      else if (face === 'B') p = [-x, yTop, -OUT];
      else if (face === 'R') p = [OUT, yTop, -x];
      else                   p = [-OUT, yTop, x];
      s.push(new THREE.Vector3(p[0], p[1], p[2]));
    }
  return s;
}

function faceColorString(face) {
  const slots = getFaceSlots(face);
  const n = AXIS_MAP[face].vec;
  let out = '';
  for (const p of slots) {
    const cubie = cubies.find(c => c.pos.distanceTo(p) < 0.01);
    if (!cubie) { out += '?'; continue; }
    const n0 = n.clone().applyQuaternion(cubie.quat.clone().invert());
    out += cubie.colors[axisToKey(n0)] || '?';
  }
  return out;
}

function getState() {
  const state = {};
  for (const f of FACE_ORDER) state[f] = faceColorString(f);
  return state;
}

function stateToText(state) {
  return FACE_ORDER.map(f => f + ': ' + state[f]).join('\n');
}

function moveNotation(m) {
  return m.face + (m.dir === -1 ? "'" : '');
}

// 每 1000 个操作换行一次,单个操作(如 R18')不被换行符打断
function seqToText(seq) {
  if (!seq.length) return '(无)';
  const lines = [];
  let cur = [];
  for (const m of seq) {
    cur.push(moveNotation(m));
    if (cur.length === 1000) {
      lines.push(cur.join(' '));
      cur = [];
    }
  }
  if (cur.length) lines.push(cur.join(' '));
  return lines.join('\n');
}

// ---------- 棋谱 ----------
let moveCount = 0;
let scrambleSeq = [];
let userSeq = [];
let initialState = null;

function buildRecordText() {
  const lines = [];
  lines.push('十九阶魔方棋谱 · 层操作');
  lines.push('');
  lines.push('【打乱序列】');
  lines.push(seqToText(scrambleSeq));
  lines.push('');
  lines.push('【初始局面(打乱后)】');
  lines.push(initialState ? stateToText(initialState) : '(打乱中…)');
  lines.push('');
  lines.push('【当前局面】');
  lines.push(stateToText(getState()));
  lines.push('');
  lines.push('【完整操作序列】');
  lines.push(seqToText([...scrambleSeq, ...userSeq]));
  return lines.join('\n');
}

function updateRecordPanel() {
  recordPanel.textContent = buildRecordText();
}

function refreshVisual() {
  syncMeshes();
  updateRecordPanel();
}

async function copyRecord() {
  const text = buildRecordText();
  let ok = false;
  try {
    await navigator.clipboard.writeText(text);
    ok = true;
  } catch (e) {
    const ta = document.createElement('textarea');
    ta.value = text;
    ta.style.position = 'fixed';
    ta.style.opacity = '0';
    document.body.appendChild(ta);
    ta.select();
    try { ok = document.execCommand('copy'); } catch (_) {}
    ta.remove();
  }
  const old = copyBtn.textContent;
  copyBtn.textContent = ok ? '✅ 已复制' : '❌ 复制失败';
  setTimeout(() => { copyBtn.textContent = old; }, 1500);
}

// ---------- 序列解析与执行 ----------
function parseSequence(text) {
  const normalized = text.replace(/[’′]/g, "'");
  const tokens = normalized.trim().split(/[\s,,]+/).filter(Boolean);
  const moves = [];
  const errors = [];
  for (const raw of tokens) {
    let m = raw.match(/^([URFDLB])(1[0-8]|[2-9])?([''])?$/);
    if (m) {
      const letter = m[1];
      const layerNum = m[2] || '';
      const dir = m[3] === "'" ? -1 : 1;
      let faceKey = layerNum === '' ? letter : letter + layerNum;
      if (!LAYER_DEFS[faceKey]) {
        errors.push('未知操作: ' + raw);
        continue;
      }
      moves.push({ face: faceKey, dir });
      continue;
    }
    const rotMatch = raw.match(/^([xyz])([''])?$/);
    if (rotMatch) {
      moves.push({ face: rotMatch[1], dir: rotMatch[2] === "'" ? -1 : 1 });
      continue;
    }
    errors.push('无法解析: ' + raw);
  }
  return { moves, errors };
}

async function executeSequence(text) {
  const { moves, errors } = parseSequence(text);
  if (errors.length > 0) {
    statusEl.textContent = '❌ 非法输入: ' + errors.join('; ');
    statusEl.classList.add('error');
    statusEl.classList.remove('solved');
    return;
  }
  if (moves.length === 0) {
    statusEl.textContent = '⚠️ 未检测到有效操作';
    statusEl.classList.remove('solved', 'error');
    return;
  }

  statusEl.classList.remove('error');

  for (let i = 0; i < moves.length; i++) {
    const mv = moves[i];
    const isRot = !!ROT_DEF[mv.face];

    applyInstantMove(mv.face, mv.dir);
    userSeq.push({ face: mv.face, dir: mv.dir });
    if (!isRot) moveCount++;

    const isChunkEnd = (i + 1) % 100 === 0;
    const isLast = i === moves.length - 1;
    if (isChunkEnd || isLast) {
      refreshVisual();
      await new Promise(r => setTimeout(r, 0));
    }
  }

  if (isSolved()) {
    statusEl.textContent = '🎉 已复原!共用了 ' + moveCount + ' 步';
    statusEl.classList.add('solved');
    statusEl.classList.remove('error');
  } else {
    statusEl.textContent = '序列执行完成(' + moves.length + ' 步操作)';
    statusEl.classList.remove('solved', 'error');
  }
}

// ---------- 自动运行 ----------
const SERVER = 'http://localhost:3000';

async function autoRun() {
  const stateText = stateToText(getState());
  try {
    const res = await fetch(SERVER + '/write-input', {
      method: 'POST',
      headers: { 'Content-Type': 'text/plain; charset=utf-8' },
      body: stateText
    });
    if (!res.ok) throw new Error('write failed');
  } catch (e) {
    statusEl.textContent = '❌ 无法连接本地服务,请先运行 server.js 并从 http://localhost:3000 打开页面';
    statusEl.classList.add('error');
    statusEl.classList.remove('solved');
    return;
  }
  statusEl.textContent = '已写入 D:/cubeInput.txt,等待 D:/cubeOutput.txt…';
  statusEl.classList.remove('solved', 'error');

  let content = '';
  const maxWait = 120000;
  const start = performance.now();
  while (true) {
    if (performance.now() - start > maxWait) {
      statusEl.textContent = '等待 D:/cubeOutput.txt 超时';
      statusEl.classList.add('error');
      statusEl.classList.remove('solved');
      return;
    }
    try {
      const res = await fetch(SERVER + '/read-output');
      const data = await res.json();
      content = (data.content || '').trim();
    } catch (e) {}
    if (content) break;
    await new Promise(r => setTimeout(r, 500));
  }

  await executeSequence(content);
}

// ---------- 打乱 / 复原 ----------
function resetCubeInternal() {
  cubies.forEach(c => {
    c.pos.copy(c.home);
    c.quat.identity();
  });
  syncMeshes();
}

function generateScramble(n = 100) {
  const faces = Object.keys(LAYER_DEFS);
  const seq = [];
  let last = null;
  for (let i = 0; i < n; i++) {
    let f, d;
    do {
      f = faces[Math.floor(Math.random() * faces.length)];
      d = Math.random() < 0.5 ? 1 : -1;
    } while (last && last === f);
    seq.push({ face: f, dir: d });
    last = f;
  }
  return seq;
}

async function scramble() {
  resetCubeInternal();
  userSeq = [];
  initialState = null;
  moveCount = 0;
  statusEl.textContent = '打乱中…';
  statusEl.classList.remove('solved', 'error');

  scrambleSeq = generateScramble(100);
  if (scrambleSeq.length === 0) {
    statusEl.textContent = '打乱序列为空';
    return;
  }

  for (let i = 0; i < scrambleSeq.length; i++) {
    applyInstantMove(scrambleSeq[i].face, scrambleSeq[i].dir);
    const isChunkEnd = (i + 1) % 100 === 0;
    const isLast = i === scrambleSeq.length - 1;
    if (isChunkEnd || isLast) {
      refreshVisual();
      await new Promise(r => setTimeout(r, 0));
    }
  }

  initialState = getState();
  moveCount = 0;
  statusEl.textContent = '已打乱,开始复原吧';
  statusEl.classList.remove('error');
}

function resetCube() {
  resetCubeInternal();
  moveCount = 0;
  scrambleSeq = [];
  userSeq = [];
  initialState = null;
  statusEl.textContent = '已还原到初始状态';
  statusEl.classList.remove('solved', 'error');
  refreshVisual();
}

// ---------- 按钮 & 键盘 ----------
function buildButtons() {
  document.getElementById('scrambleBtn').addEventListener('click', scramble);
  document.getElementById('resetBtn').addEventListener('click', resetCube);
  copyBtn.addEventListener('click', copyRecord);

  const seqInput = document.getElementById('seqInput');
  const seqBtn = document.getElementById('seqBtn');
  seqBtn.addEventListener('click', () => executeSequence(seqInput.value));
  seqInput.addEventListener('keydown', e => {
    if (e.key === 'Enter') {
      e.preventDefault();
      executeSequence(seqInput.value);
    }
  });

  document.getElementById('autoRunBtn').addEventListener('click', autoRun);

  window.addEventListener('keydown', e => {
    const key = e.key.toUpperCase();
    if (/^[URFDLB]$/.test(key)) {
      const dir = e.shiftKey ? -1 : 1;
      applyInstantMove(key, dir);
      userSeq.push({ face: key, dir });
      moveCount++;
      refreshVisual();
      if (isSolved()) {
        statusEl.textContent = '🎉 已复原!共用了 ' + moveCount + ' 步';
        statusEl.classList.add('solved');
        statusEl.classList.remove('error');
      } else {
        statusEl.textContent = '步数:' + moveCount;
        statusEl.classList.remove('solved', 'error');
      }
      return;
    }
    if (/^[XYZ]$/.test(key)) {
      const face = key.toLowerCase();
      const dir = e.shiftKey ? -1 : 1;
      applyInstantMove(face, dir);
      userSeq.push({ face, dir });
      refreshVisual();
      return;
    }
  });
}

// ---------- 渲染循环 ----------
function animate() {
  requestAnimationFrame(animate);
  renderer.render(scene, camera);
}

// ---------- 窗口自适应 ----------
function onResize() {
  resizeRenderer();
}

window.addEventListener('resize', onResize);

const ro = new ResizeObserver(() => { resizeRenderer(); });
ro.observe(stage);

// ---------- 启动 ----------
buildCube();
buildButtons();
statusEl.textContent = '已就绪';
updateRecordPanel();
setTimeout(() => {
  scramble();
}, 100);
animate();

setTimeout(resizeRenderer, 50);
</script>
</body>
</html>

2,自动复原

【完整操作序列】
L6 U5 L15' B8 F12 L7' U7 U D3' F8 F4' F13' D12 R18 U10 D17 L11' R' U9' D10 F10' L12' D17' F10 D18' R18' U7 B11 R6 B9' D6' U4 L17' D14' B' R17' B D16' L5' F' F11 D16 L7 D15' R6' D4 R15' R12 L3 L6' R18' R3' L17' U15' F15 L15' R D9' D11 U4' B8' R2' D13 F17 D6 B7' L17 F' R D4 B9' L3' R2' F6 D9' B2' F8 U15' L3 R7' L3 U4 D6' R6 F3 B15 L16' F6' F10' R5 R9' L L15 D17' L5' U16' F6' U3' L9' D11 z z x z F' R10 R9' U R9 R8' U' R10' R9 U R9' F z F R10 R9' U R9 R8' U' R10' R9 U R9' F' z F F U' R10 R9' U R9 R8' U' R10' R9 U R9' F F z x x z F U R10 R9' U R9 R8' U' R10' R9 U R9' F F R10 R9' U R9 R8' U' R10' R9 U R9' F z F F U' R10 R9' U R9 R8' U' R10' R9 U R9' F F z x z x' F R10 R9' U R9 R8' U' R10' R9 U R9' R10 R9' U R9 R8' U' R10' R9 U R9' F F R10 R9' U R9 R8' U' R10' R9 U R9' F z z U U R10 R9' U R9 R8' U' R10' R9 U R9' x x F F R10 R9' U R9 R8' U' R10' R9 U R9' F F x' F F R10 R9' U R9 R8' U' R10' R9 U R9' F U R10 R9' U R9 R8' U' R10' R9 U R9' F x F R10 R9' U R9 R8' U' R10' R9 U R9' R10 R9' U R9 R8' U' R10' R9 U R9' F U R10 R9' U R9 R8' U' R10' R9 U R9' F F z x F U' L9' U' L9 U' L9' U U L9 F' z z F' U L9' U' L9 U' L9' U U L9 F z z x x F U L9' U' L9 U' L9' U U L9 F' U L9' U' L9 U' L9' U U L9 z z F U U L9' U' L9 U' L9' U U L9 F' z F' U U L9' U' L9 U' L9' U U L9 F x z F' U L9' U' L9 U' L9' U U L9 F x' F U L9' U' L9 U' L9' U U L9 F F U L9' U' L9 U' L9' U U L9 F z z F U U L9' U' L9 U' L9' U U L9 F' U' L9' U' L9 U' L9' U U L9 x x F' U L9' U' L9 U' L9' U U L9 F x' F U L9' U' L9 U' L9' U U L9 F F U L9' U' L9 U' L9' U U L9 F x F F U L9' U' L9 U' L9' U U L9 F F L9' U' L9 U' L9' U U L9 z x x F R9 R8' U R8 R7' U' R9' R8 U R8' F' x' F U R10 R9' U R8 R7' U' R10' R9 U R8' F F R9 R8' U R8 R7' U' R9' R8 U R8' F z F F R11 R10' U R8 R7' U' R11' R10 U R8' R9 R8' U R8 R7' U' R9' R8 U R8' F R11 R10' U R8 R7' U' R11' R10 U R8' U' R10 R9' U R8 R7' U' R10' R9 U R8' F R9 R8' U R8 R7' U' R9' R8 U R8' z z F U' R11 R10' U R8 R7' U' R11' R10 U R8' F U U R9 R8' U R8 R7' U' R9' R8 U R8' F F z x x z F F R10 R9' U R8 R7' U' R10' R9 U R8' R9 R8' U R8 R7' U' R9' R8 U R8' F R11 R10' U R8 R7' U' R11' R10 U R8' F R11 R10' U R8 R7' U' R11' R10 U R8' z F' R11 R10' U R8 R7' U' R11' R10 U R8' R10 R9' U R8 R7' U' R10' R9 U R8' U R9 R8' U R8 R7' U' R9' R8 U R8' F z F U U R11 R10' U R8 R7' U' R11' R10 U R8' U R9 R8' U R8 R7' U' R9' R8 U R8' F' R10 R9' U R8 R7' U' R10' R9 U R8' x z F U R9 R8' U R8 R7' U' R9' R8 U R8' F U R11 R10' U R8 R7' U' R11' R10 U R8' F F R10 R9' U R8 R7' U' R10' R9 U R8' x' F R11 R10' U R8 R7' U' R11' R10 U R8' R9 R8' U R8 R7' U' R9' R8 U R8' R9 R8' U R8 R7' U' R9' R8 U R8' F R11 R10' U R8 R7' U' R11' R10 U R8' F R10 R9' U R8 R7' U' R10' R9 U R8' U U R9 R8' U R8 R7' U' R9' R8 U R8' F z z F F R10 R9' U R8 R7' U' R10' R9 U R8' F U U R11 R10' U R8 R7' U' R11' R10 U R8' F U' R10 R9' U R8 R7' U' R10' R9 U R8' x x F R11 R10' U R8 R7' U' R11' R10 U R8' R11 R10' U R8 R7' U' R11' R10 U R8' F R10 R9' U R8 R7' U' R10' R9 U R8' R9 R8' U R8 R7' U' R9' R8 U R8' F F x' F R11 R10' U R8 R7' U' R11' R10 U R8' R11 R10' U R8 R7' U' R11' R10 U R8' R10 R9' U R8 R7' U' R10' R9 U R8' F U' R11 R10' U R8 R7' U' R11' R10 U R8' U R10 R9' U R8 R7' U' R10'
R9 U R8' U R9 R8' U R8 R7' U' R9' R8 U R8' F U R9 R8' U R8 R7' U' R9' R8 U R8' F x F U U R10 R9' U R8 R7' U' R10' R9 U R8' U R9 R8' U R8 R7' U' R9' R8 U R8' F U R11 R10' U R8 R7' U' R11' R10 U R8' U U R9 R8' U R8 R7' U' R9' R8 U R8' F U U R11 R10' U R8 R7' U' R11' R10 U R8' U U R10 R9' U R8 R7' U' R10' R9 U R8' U U R9 R8' U R8 R7' U' R9' R8 U R8' F z x x F' U L8' U' L8 U' L8' U U L8 F U L8' U' L8 U' L8' U U L8 x' F' U U L8' U' L8 U' L8' U U L8 F U L8' U' L8 U' L8' U U L8 z z F F U' L8' U' L8 U' L8' U U L8 F F z z x x z F F U L8' U' L8 U' L8' U U L8 F F z F U' L8' U' L8 U' L8' U U L8 F' U' L8' U' L8 U' L8' U U L8 z x z x' U L8' U' L8 U' L8' U U L8 z z F U L8' U' L8 U' L8' U U L8 F' U' L8' U' L8 U' L8' U U L8 x x F U L8' U' L8 U' L8' U U L8 F' x' F U' L8' U' L8 U' L8' U U L8 F F U' L8' U' L8 U' L8' U U L8 F x F U L8' U' L8 U' L8' U U L8 F U L8' U' L8 U' L8' U U L8 F F U L8' U' L8 U' L8' U U L8 z x x F U R11 R10' U R7 R6' U' R11' R10 U R7' F R10 R9' U R7 R6' U' R10' R9 U R7' F R8 R7' U R7 R6' U' R8' R7 U R7' F R10 R9' U R7 R6' U' R10' R9 U R7' x' F R10 R9' U R7 R6' U' R10' R9 U R7' F R11 R10' U R7 R6' U' R11' R10 U R7' R8 R7' U R7 R6' U' R8' R7 U R7' F R11 R10' U R7 R6' U' R11' R10 U R7' U R10 R9' U R7 R6' U' R10' R9 U R7' F R11 R10' U R7 R6' U' R11' R10 U R7' z F R9 R8' U R7 R6' U' R9' R8 U R7' R9 R8' U R7 R6' U' R9' R8 U R7' U U R8 R7' U R7 R6' U' R8' R7 U R7' F F U R12 R11' U R7 R6' U' R12' R11 U R7' U U R8 R7' U R7 R6' U' R8' R7 U R7' F R10 R9' U R7 R6' U' R10' R9 U R7' z F F R12 R11' U R7 R6' U' R12' R11 U R7' F U R9 R8' U R7 R6' U' R9' R8 U R7' F z F U' R12 R11' U R7 R6' U' R12' R11 U R7' U' R9 R8' U R7 R6' U' R9' R8 U R7' F' R11 R10' U R7 R6' U' R11' R10 U R7' z x x F R8 R7' U R7 R6' U' R8' R7 U R7' F R11 R10' U R7 R6' U' R11' R10 U R7' F U R12 R11' U R7 R6' U' R12' R11 U R7' F R11 R10' U R7 R6' U' R11' R10 U R7' R9 R8' U R7 R6' U' R9' R8 U R7' z F R11 R10' U R7 R6' U' R11' R10 U R7' U U R10 R9' U R7 R6' U' R10' R9 U R7' R8 R7' U R7 R6' U' R8' R7 U R7' F F R12 R11' U R7 R6' U' R12' R11 U R7' U R9 R8' U R7 R6' U' R9' R8 U R7' F z F F U U R11 R10' U R7 R6' U' R11' R10 U R7' F R10 R9' U R7 R6' U' R10' R9 U R7' F z F U U R9 R8' U R7 R6' U' R9' R8 U R7' F R9 R8' U R7 R6' U' R9' R8 U R7' R8 R7' U R7 R6' U' R8' R7 U R7' F F R8 R7' U R7 R6' U' R8' R7 U R7' x z F R10 R9' U R7 R6' U' R10' R9 U R7' R8 R7' U R7 R6' U' R8' R7 U R7' F R10 R9' U R7 R6' U' R10' R9 U R7' F F x' F R12 R11' U R7 R6' U' R12' R11 U R7' U R11 R10' U R7 R6' U' R11' R10 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' F U U R12 R11' U R7 R6' U' R12' R11 U R7' R8 R7' U R7 R6' U' R8' R7 U R7' F R11 R10' U R7 R6' U' R11' R10 U R7' U R10 R9' U R7 R6' U' R10' R9 U R7' F U R9 R8' U R7 R6' U' R9' R8 U R7' z z F F U R10 R9' U R7 R6' U' R10' R9 U R7' R9 R8' U R7 R6' U' R9' R8 U R7' U' R8 R7' U R7 R6' U' R8' R7 U R7' F U R12 R11' U R7 R6' U' R12' R11 U R7' F x x F F R11 R10' U R7 R6' U' R11' R10 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' F R12 R11' U R7 R6' U' R12' R11 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' F U R11 R10' U R7 R6' U' R11' R10 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' R8 R7' U R7 R6' U' R8'
R7 U R7' x' F U R12 R11' U R7 R6' U' R12' R11 U R7' R12 R11' U R7 R6' U' R12' R11 U R7' R11 R10' U R7 R6' U' R11' R10 U R7' U R11 R10' U R7 R6' U' R11' R10 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' R9 R8' U R7 R6' U' R9' R8 U R7' R9 R8' U R7 R6' U' R9' R8 U R7' F U R12 R11' U R7 R6' U' R12' R11 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' U R9 R8' U R7 R6' U' R9' R8 U R7' U R8 R7' U R7 R6' U' R8' R7 U R7' F R10 R9' U R7 R6' U' R10' R9 U R7' U R9 R8' U R7 R6' U' R9' R8 U R7' U U R8 R7' U R7 R6' U' R8' R7 U R7' F x F R10 R9' U R7 R6' U' R10' R9 U R7' F R10 R9' U R7 R6' U' R10' R9 U R7' F U R10 R9' U R7 R6' U' R10' R9 U R7' R9 R8' U R7 R6' U' R9' R8 U R7' U R8 R7' U R7 R6' U' R8' R7 U R7' F U' R12 R11' U R7 R6' U' R12' R11 U R7' U R8 R7' U R7 R6' U' R8' R7 U R7' z x x F' U L7' U' L7 U' L7' U U L7 F x' F' U U L7' U' L7 U' L7' U U L7 F z F U U L7' U' L7 U' L7' U U L7 F' z z U' L7' U' L7 U' L7' U U L7 z x x z U L7' U' L7 U' L7' U U L7 z U U L7' U' L7 U' L7' U U L7 z F' L7' U' L7 U' L7' U U L7 F x z F F U L7' U' L7 U' L7' U U L7 F F x' F' U L7' U' L7 U' L7' U U L7 F z z U U L7' U' L7 U' L7' U U L7 x x F' U U L7' U' L7 U' L7' U U L7 F x' F U' L7' U' L7 U' L7' U U L7 F F U' L7' U' L7 U' L7' U U L7 F x F U U L7' U' L7 U' L7' U U L7 F F U L7' U' L7 U' L7' U U L7 F z x x F F R11 R10' U R6 R5' U' R11' R10 U R6' F F R8 R7' U R6 R5' U' R8' R7 U R6' x' F R13 R12' U R6 R5' U' R13' R12 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' F R13 R12' U R6 R5' U' R13' R12 U R6' R11 R10' U R6 R5' U' R11' R10 U R6' U R10 R9' U R6 R5' U' R10' R9 U R6' F R8 R7' U R6 R5' U' R8' R7 U R6' F z F U R12 R11' U R6 R5' U' R12' R11 U R6' U R8 R7' U R6 R5' U' R8' R7 U R6' R8 R7' U R6 R5' U' R8' R7 U R6' F U R10 R9' U R6 R5' U' R10' R9 U R6' U U R9 R8' U R6 R5' U' R9' R8 U R6' F R12 R11' U R6 R5' U' R12' R11 U R6' U R11 R10' U R6 R5' U' R11' R10 U R6' F U R7 R6' U R6 R5' U' R7' R6 U R6' z F U U R9 R8' U R6 R5' U' R9' R8 U R6' F R12 R11' U R6 R5' U' R12' R11 U R6' F R7 R6' U R6 R5' U' R7' R6 U R6' F z F R11 R10' U R6 R5' U' R11' R10 U R6' R10 R9' U R6 R5' U' R10' R9 U R6' F R13 R12' U R6 R5' U' R13' R12 U R6' R11 R10' U R6 R5' U' R11' R10 U R6' F U' R8 R7' U R6 R5' U' R8' R7 U R6' F U' R13 R12' U R6 R5' U' R13' R12 U R6' z x x F F R13 R12' U R6 R5' U' R13' R12 U R6' F R8 R7' U R6 R5' U' R8' R7 U R6' F R12 R11' U R6 R5' U' R12' R11 U R6' z F R8 R7' U R6 R5' U' R8' R7 U R6' F R11 R10' U R6 R5' U' R11' R10 U R6' F U R12 R11' U R6 R5' U' R12' R11 U R6' R11 R10' U R6 R5' U' R11' R10 U R6' U U R8 R7' U R6 R5' U' R8' R7 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' F U R11 R10' U R6 R5' U' R11' R10 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' U U R7 R6' U R6 R5' U' R7' R6 U R6' z U' R13 R12' U R6 R5' U' R13' R12 U R6' U R10 R9' U R6 R5' U' R10' R9 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' z F U U R11 R10' U R6 R5' U' R11' R10 U R6' F F U' R10 R9' U R6 R5' U' R10' R9 U R6' U R9 R8' U R6 R5' U' R9' R8 U R6' F U U R12 R11' U R6 R5' U' R12' R11 U R6' x z F R8 R7' U R6 R5' U' R8' R7 U R6' F R13 R12' U R6 R5' U' R13' R12 U R6' R12 R11' U R6 R5' U' R12' R11 U R6' R9 R8' U R6
R5' U' R9' R8 U R6' U R8 R7' U R6 R5' U' R8' R7 U R6' F F R9 R8' U R6 R5' U' R9' R8 U R6' x' F R13 R12' U R6 R5' U' R13' R12 U R6' U R8 R7' U R6 R5' U' R8' R7 U R6' F U U R13 R12' U R6 R5' U' R13' R12 U R6' R12 R11' U R6 R5' U' R12' R11 U R6' U R10 R9' U R6 R5' U' R10' R9 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' U R8 R7' U R6 R5' U' R8' R7 U R6' F R12 R11' U R6 R5' U' R12' R11 U R6' R10 R9' U R6 R5' U' R10' R9 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' F U R11 R10' U R6 R5' U' R11' R10 U R6' U R9 R8' U R6 R5' U' R9' R8 U R6' z z F U R12 R11' U R6 R5' U' R12' R11 U R6' U' R11 R10' U R6 R5' U' R11' R10 U R6' F U R12 R11' U R6 R5' U' R12' R11 U R6' U U R7 R6' U R6 R5' U' R7' R6 U R6' F U' R8 R7' U R6 R5' U' R8' R7 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' F R13 R12' U R6 R5' U' R13' R12 U R6' U R9 R8' U R6 R5' U' R9' R8 U R6' x x F R10 R9' U R6 R5' U' R10' R9 U R6' R10 R9' U R6 R5' U' R10' R9 U R6' R8 R7' U R6 R5' U' R8' R7 U R6' R8 R7' U R6 R5' U' R8' R7 U R6' F R11 R10' U R6 R5' U' R11' R10 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' F R13 R12' U R6 R5' U' R13' R12 U R6' U R9 R8' U R6 R5' U' R9' R8 U R6' F R13 R12' U R6 R5' U' R13' R12 U R6' R12 R11' U R6 R5' U' R12' R11 U R6' x' F U R11 R10' U R6 R5' U' R11' R10 U R6' U R10 R9' U R6 R5' U' R10' R9 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' U U R7 R6' U R6 R5' U' R7' R6 U R6' F R13 R12' U R6 R5' U' R13' R12 U R6' U R12 R11' U R6 R5' U' R12' R11 U R6' R10 R9' U R6 R5' U' R10' R9 U R6' U R8 R7' U R6 R5' U' R8' R7 U R6' U U R7 R6' U R6 R5' U' R7' R6 U R6' F R13 R12' U R6 R5' U' R13' R12 U R6' U U R12 R11' U R6 R5' U' R12' R11 U R6' U' R10 R9' U R6 R5' U' R10' R9 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' R8 R7' U R6 R5' U' R8' R7 U R6' F U' R13 R12' U R6 R5' U' R13' R12 U R6' R8 R7' U R6 R5' U' R8' R7 U R6' x F R9 R8' U R6 R5' U' R9' R8 U R6' U R9 R8' U R6 R5' U' R9' R8 U R6' U R8 R7' U R6 R5' U' R8' R7 U R6' F R13 R12' U R6 R5' U' R13' R12 U R6' R12 R11' U R6 R5' U' R12' R11 U R6' U R11 R10' U R6 R5' U' R11' R10 U R6' U R10 R9' U R6 R5' U' R10' R9 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' F U R8 R7' U R6 R5' U' R8' R7 U R6' F U R13 R12' U R6 R5' U' R13' R12 U R6' U U R12 R11' U R6 R5' U' R12' R11 U R6' U U R11 R10' U R6 R5' U' R11' R10 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' z x x U L6' U' L6 U' L6' U U L6 x' F' U L6' U' L6 U' L6' U U L6 F z F' U' L6' U' L6 U' L6' U U L6 F z F U U L6' U' L6 U' L6' U U L6 F' z z x x z F U L6' U' L6 U' L6' U U L6 F' z z F' U U L6' U' L6 U' L6' U U L6 F U' L6' U' L6 U' L6' U U L6 x z F' U L6' U' L6 U' L6' U U L6 F x' F' U L6' U' L6 U' L6' U U L6 F z z F U L6' U' L6 U' L6' U U L6 F U' L6' U' L6 U' L6' U U L6 F F x x F F U L6' U' L6 U' L6' U U L6 F U L6' U' L6 U' L6' U U L6 F x' F F U U L6' U' L6 U' L6' U U L6 F U L6' U' L6 U' L6' U U L6 F U L6' U' L6 U' L6' U U L6 x U L6' U' L6 U' L6' U U L6 z x x F F R9 R8' U R5 R4' U' R9' R8 U R5' U R7 R6' U R5 R4' U' R7' R6 U R5' F R14 R13' U R5 R4' U' R14' R13 U R5' R10 R9' U R5 R4' U' R10' R9 U R5' R9 R8' U R5 R4' U' R9' R8 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' F R8 R7' U R5 R4' U' R8' R7 U R5' x' F R11 R10' U
R5 R4' U' R11' R10 U R5' R9 R8' U R5 R4' U' R9' R8 U R5' R9 R8' U R5 R4' U' R9' R8 U R5' R7 R6' U R5 R4' U' R7' R6 U R5' R6 R5' U R5 R4' U' R6' R5 U R5' F R14 R13' U R5 R4' U' R14' R13 U R5' R10 R9' U R5 R4' U' R10' R9 U R5' R9 R8' U R5 R4' U' R9' R8 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' U R7 R6' U R5 R4' U' R7' R6 U R5' F R14 R13' U R5 R4' U' R14' R13 U R5' U U R8 R7' U R5 R4' U' R8' R7 U R5' F R13 R12' U R5 R4' U' R13' R12 U R5' R10 R9' U R5 R4' U' R10' R9 U R5' z F R6 R5' U R5 R4' U' R6' R5 U R5' F F U R14 R13' U R5 R4' U' R14' R13 U R5' R13 R12' U R5 R4' U' R13' R12 U R5' U R8 R7' U R5 R4' U' R8' R7 U R5' F U R12 R11' U R5 R4' U' R12' R11 U R5' U R10 R9' U R5 R4' U' R10' R9 U R5' z F F U' R9 R8' U R5 R4' U' R9' R8 U R5' F R11 R10' U R5 R4' U' R11' R10 U R5' U' R10 R9' U R5 R4' U' R10' R9 U R5' F U U R7 R6' U R5 R4' U' R7' R6 U R5' R6 R5' U R5 R4' U' R6' R5 U R5' z F R12 R11' U R5 R4' U' R12' R11 U R5' U U R12 R11' U R5 R4' U' R12' R11 U R5' R11 R10' U R5 R4' U' R11' R10 U R5' U' R6 R5' U R5 R4' U' R6' R5 U R5' F U U R14 R13' U R5 R4' U' R14' R13 U R5' F F U' R13 R12' U R5 R4' U' R13' R12 U R5' z x x F U U R9 R8' U R5 R4' U' R9' R8 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' F U R8 R7' U R5 R4' U' R8' R7 U R5' F F R12 R11' U R5 R4' U' R12' R11 U R5' z F R11 R10' U R5 R4' U' R11' R10 U R5' F U R10 R9' U R5 R4' U' R10' R9 U R5' R7 R6' U R5 R4' U' R7' R6 U R5' F R13 R12' U R5 R4' U' R13' R12 U R5' U U R10 R9' U R5 R4' U' R10' R9 U R5' R7 R6' U R5 R4' U' R7' R6 U R5' F R14 R13' U R5 R4' U' R14' R13 U R5' U R13 R12' U R5 R4' U' R13' R12 U R5' U R7 R6' U R5 R4' U' R7' R6 U R5' z F U R14 R13' U R5 R4' U' R14' R13 U R5' R11 R10' U R5 R4' U' R11' R10 U R5' R11 R10' U R5 R4' U' R11' R10 U R5' F R6 R5' U R5 R4' U' R6' R5 U R5' F U U R14 R13' U R5 R4' U' R14' R13 U R5' F z F R6 R5' U R5 R4' U' R6' R5 U R5' F R13 R12' U R5 R4' U' R13' R12 U R5' R7 R6' U R5 R4' U' R7' R6 U R5' U U R6 R5' U R5 R4' U' R6' R5 U R5' F R9 R8' U R5 R4' U' R9' R8 U R5' F U U R12 R11' U R5 R4' U' R12' R11 U R5' U R11 R10' U R5 R4' U' R11' R10 U R5' R10 R9' U R5 R4' U' R10' R9 U R5' x z F R13 R12' U R5 R4' U' R13' R12 U R5' R7 R6' U R5 R4' U' R7' R6 U R5' R6 R5' U R5 R4' U' R6' R5 U R5' R6 R5' U R5 R4' U' R6' R5 U R5' F R7 R6' U R5 R4' U' R7' R6 U R5' F R14 R13' U R5 R4' U' R14' R13 U R5' R11 R10' U R5 R4' U' R11' R10 U R5' F R11 R10' U R5 R4' U' R11' R10 U R5' x' F R14 R13' U R5 R4' U' R14' R13 U R5' R14 R13' U R5 R4' U' R14' R13 U R5' U R13 R12' U R5 R4' U' R13' R12 U R5' U R13 R12' U R5 R4' U' R13' R12 U R5' R12 R11' U R5 R4' U' R12' R11 U R5' R12 R11' U R5 R4' U' R12' R11 U R5' R10 R9' U R5 R4' U' R10' R9 U R5' R10 R9' U R5 R4' U' R10' R9 U R5' R9 R8' U R5 R4' U' R9' R8 U R5' U R7 R6' U R5 R4' U' R7' R6 U R5' R7 R6' U R5 R4' U' R7' R6 U R5' F R11 R10' U R5 R4' U' R11' R10 U R5' R6 R5' U R5 R4' U' R6' R5 U R5' F U R11 R10' U R5 R4' U' R11' R10 U R5' U R9 R8' U R5 R4' U' R9' R8 U R5' U R6 R5' U R5 R4' U' R6' R5 U R5' F z z F U' R11 R10' U R5 R4' U' R11' R10 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' R7 R6' U R5 R4' U' R7' R6 U R5' U' R6 R5' U R5 R4' U' R6' R5 U R5' F R10 R9' U R5 R4' U' R10' R9 U R5' F U U R10 R9' U R5 R4' U' R10' R9 U R5' U R9 R8' U R5 R4' U' R9' R8 U R5' F U U
R14 R13' U R5 R4' U' R14' R13 U R5' U R12 R11' U R5 R4' U' R12' R11 U R5' U' R9 R8' U R5 R4' U' R9' R8 U R5' x x F R9 R8' U R5 R4' U' R9' R8 U R5' R7 R6' U R5 R4' U' R7' R6 U R5' F U R14 R13' U R5 R4' U' R14' R13 U R5' R11 R10' U R5 R4' U' R11' R10 U R5' R9 R8' U R5 R4' U' R9' R8 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' R7 R6' U R5 R4' U' R7' R6 U R5' F R13 R12' U R5 R4' U' R13' R12 U R5' U R12 R11' U R5 R4' U' R12' R11 U R5' U U R11 R10' U R5 R4' U' R11' R10 U R5' F U U R12 R11' U R5 R4' U' R12' R11 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' R6 R5' U R5 R4' U' R6' R5 U R5' x' F R13 R12' U R5 R4' U' R13' R12 U R5' R12 R11' U R5 R4' U' R12' R11 U R5' R12 R11' U R5 R4' U' R12' R11 U R5' R11 R10' U R5 R4' U' R11' R10 U R5' R11 R10' U R5 R4' U' R11' R10 U R5' R9 R8' U R5 R4' U' R9' R8 U R5' F R13 R12' U R5 R4' U' R13' R12 U R5' R12 R11' U R5 R4' U' R12' R11 U R5' U U R11 R10' U R5 R4' U' R11' R10 U R5' R10 R9' U R5 R4' U' R10' R9 U R5' R9 R8' U R5 R4' U' R9' R8 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' U R7 R6' U R5 R4' U' R7' R6 U R5' R6 R5' U R5 R4' U' R6' R5 U R5' F R14 R13' U R5 R4' U' R14' R13 U R5' U U R12 R11' U R5 R4' U' R12' R11 U R5' U R9 R8' U R5 R4' U' R9' R8 U R5' U' R8 R7' U R5 R4' U' R8' R7 U R5' U R7 R6' U R5 R4' U' R7' R6 U R5' R6 R5' U R5 R4' U' R6' R5 U R5' F U U R14 R13' U R5 R4' U' R14' R13 U R5' R10 R9' U R5 R4' U' R10' R9 U R5' U' R7 R6' U R5 R4' U' R7' R6 U R5' x F U R14 R13' U R5 R4' U' R14' R13 U R5' R13 R12' U R5 R4' U' R13' R12 U R5' U R10 R9' U R5 R4' U' R10' R9 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' U R8 R7' U R5 R4' U' R8' R7 U R5' R7 R6' U R5 R4' U' R7' R6 U R5' U R7 R6' U R5 R4' U' R7' R6 U R5' R6 R5' U R5 R4' U' R6' R5 U R5' U R6 R5' U R5 R4' U' R6' R5 U R5' F R14 R13' U R5 R4' U' R14' R13 U R5' R13 R12' U R5 R4' U' R13' R12 U R5' U R12 R11' U R5 R4' U' R12' R11 U R5' R11 R10' U R5 R4' U' R11' R10 U R5' F R14 R13' U R5 R4' U' R14' R13 U R5' U R10 R9' U R5 R4' U' R10' R9 U R5' U U R8 R7' U R5 R4' U' R8' R7 U R5' U R6 R5' U R5 R4' U' R6' R5 U R5' F R12 R11' U R5 R4' U' R12' R11 U R5' U R9 R8' U R5 R4' U' R9' R8 U R5' z x z F U L5' U' L5 U' L5' U U L5 F' U L5' U' L5 U' L5' U U L5 z F U' L5' U' L5 U' L5' U U L5 F' z U U L5' U' L5 U' L5' U U L5 z x x z F F U U L5' U' L5 U' L5' U U L5 F F U L5' U' L5 U' L5' U U L5 z z F' U' L5' U' L5 U' L5' U U L5 F x z x' z z F' U U L5' U' L5 U' L5' U U L5 F x x F U U L5' U' L5 U' L5' U U L5 F U L5' U' L5 U' L5' U U L5 F U L5' U' L5 U' L5' U U L5 F x' F U L5' U' L5 U' L5' U U L5 F U L5' U' L5 U' L5' U U L5 F U L5' U' L5 U' L5' U U L5 F L5' U' L5 U' L5' U U L5 x F' U U L5' U' L5 U' L5' U U L5 F U' L5' U' L5 U' L5' U U L5 z x x F R10 R9' U R4 R3' U' R10' R9 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' F U R13 R12' U R4 R3' U' R13' R12 U R4' U R10 R9' U R4 R3' U' R10' R9 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' F U R15 R14' U R4 R3' U' R15' R14 U R4' U R9 R8' U R4 R3' U' R9' R8 U R4' U R7 R6' U R4 R3' U' R7' R6 U R4' U R6 R5' U R4 R3' U' R6' R5 U R4' F R8 R7' U R4 R3' U' R8' R7 U R4' x' F R10 R9' U R4 R3' U' R10' R9 U R4' R10 R9' U R4 R3' U' R10' R9 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' R8 R7' U R4 R3' U' R8' R7 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' R5 R4' U R4 R3' U' R5' R4 U R4'
F R14 R13' U R4 R3' U' R14' R13 U R4' R13 R12' U R4 R3' U' R13' R12 U R4' R12 R11' U R4 R3' U' R12' R11 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' R8 R7' U R4 R3' U' R8' R7 U R4' U R7 R6' U R4 R3' U' R7' R6 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' F R15 R14' U R4 R3' U' R15' R14 U R4' R14 R13' U R4 R3' U' R14' R13 U R4' R13 R12' U R4 R3' U' R13' R12 U R4' R8 R7' U R4 R3' U' R8' R7 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' F R15 R14' U R4 R3' U' R15' R14 U R4' U R7 R6' U R4 R3' U' R7' R6 U R4' z F R11 R10' U R4 R3' U' R11' R10 U R4' U U R10 R9' U R4 R3' U' R10' R9 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' F R11 R10' U R4 R3' U' R11' R10 U R4' F U U R10 R9' U R4 R3' U' R10' R9 U R4' F z F R14 R13' U R4 R3' U' R14' R13 U R4' R12 R11' U R4 R3' U' R12' R11 U R4' F U R15 R14' U R4 R3' U' R15' R14 U R4' R13 R12' U R4 R3' U' R13' R12 U R4' U R12 R11' U R4 R3' U' R12' R11 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' F R15 R14' U R4 R3' U' R15' R14 U R4' U' R11 R10' U R4 R3' U' R11' R10 U R4' U R9 R8' U R4 R3' U' R9' R8 U R4' U U R6 R5' U R4 R3' U' R6' R5 U R4' F U' R13 R12' U R4 R3' U' R13' R12 U R4' U R8 R7' U R4 R3' U' R8' R7 U R4' z F F U U R14 R13' U R4 R3' U' R14' R13 U R4' U R5 R4' U R4 R3' U' R5' R4 U R4' F U U R12 R11' U R4 R3' U' R12' R11 U R4' F U R6 R5' U R4 R3' U' R6' R5 U R4' z x x F R15 R14' U R4 R3' U' R15' R14 U R4' R15 R14' U R4 R3' U' R15' R14 U R4' R14 R13' U R4 R3' U' R14' R13 U R4' R12 R11' U R4 R3' U' R12' R11 U R4' F U U R15 R14' U R4 R3' U' R15' R14 U R4' R14 R13' U R4 R3' U' R14' R13 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' F R12 R11' U R4 R3' U' R12' R11 U R4' F R11 R10' U R4 R3' U' R11' R10 U R4' U R7 R6' U R4 R3' U' R7' R6 U R4' z F R13 R12' U R4 R3' U' R13' R12 U R4' R11 R10' U R4 R3' U' R11' R10 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' F U R10 R9' U R4 R3' U' R10' R9 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' F R14 R13' U R4 R3' U' R14' R13 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' F R8 R7' U R4 R3' U' R8' R7 U R4' z F R13 R12' U R4 R3' U' R13' R12 U R4' R8 R7' U R4 R3' U' R8' R7 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' F R12 R11' U R4 R3' U' R12' R11 U R4' F R11 R10' U R4 R3' U' R11' R10 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' U U R8 R7' U R4 R3' U' R8' R7 U R4' F U R9 R8' U R4 R3' U' R9' R8 U R4' U R7 R6' U R4 R3' U' R7' R6 U R4' z F U U R6 R5' U R4 R3' U' R6' R5 U R4' F U U R9 R8' U R4 R3' U' R9' R8 U R4' U R7 R6' U R4 R3' U' R7' R6 U R4' F U U R14 R13' U R4 R3' U' R14' R13 U R4' R12 R11' U R4 R3' U' R12' R11 U R4' U R11 R10' U R4 R3' U' R11' R10 U R4' U U R10 R9' U R4 R3' U' R10' R9 U R4' F U' R15 R14' U R4 R3' U' R15' R14 U R4' U' R13 R12' U R4 R3' U' R13' R12 U R4' R10 R9' U R4 R3' U' R10' R9 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' x z F R13 R12' U R4 R3' U' R13' R12 U R4' U R11 R10' U R4 R3' U' R11' R10 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' F R15 R14' U R4 R3' U' R15' R14 U R4' U R9 R8' U R4 R3' U' R9' R8 U R4' F R13 R12' U R4 R3' U' R13' R12 U R4' R10 R9' U R4 R3' U' R10' R9 U R4' U R8 R7' U R4 R3' U' R8' R7 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' F R14 R13' U R4 R3' U' R14' R13 U R4' x' F R15 R14' U R4 R3' U' R15' R14 U R4' R11 R10' U R4 R3' U' R11' R10 U R4' R11 R10' U R4 R3' U' R11' R10 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' R8 R7' U R4 R3' U' R8' R7 U R4' R8 R7' U R4 R3' U' R8' R7 U
R4' R7 R6' U R4 R3' U' R7' R6 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' F R13 R12' U R4 R3' U' R13' R12 U R4' R12 R11' U R4 R3' U' R12' R11 U R4' R11 R10' U R4 R3' U' R11' R10 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' F U U R15 R14' U R4 R3' U' R15' R14 U R4' R14 R13' U R4 R3' U' R14' R13 U R4' R13 R12' U R4 R3' U' R13' R12 U R4' R10 R9' U R4 R3' U' R10' R9 U R4' U R8 R7' U R4 R3' U' R8' R7 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' F U R14 R13' U R4 R3' U' R14' R13 U R4' U R6 R5' U R4 R3' U' R6' R5 U R4' z z F R15 R14' U R4 R3' U' R15' R14 U R4' R12 R11' U R4 R3' U' R12' R11 U R4' U U R11 R10' U R4 R3' U' R11' R10 U R4' U U R7 R6' U R4 R3' U' R7' R6 U R4' F U U R12 R11' U R4 R3' U' R12' R11 U R4' R10 R9' U R4 R3' U' R10' R9 U R4' U R8 R7' U R4 R3' U' R8' R7 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' F U R13 R12' U R4 R3' U' R13' R12 U R4' R10 R9' U R4 R3' U' R10' R9 U R4' F U R9 R8' U R4 R3' U' R9' R8 U R4' x x F R13 R12' U R4 R3' U' R13' R12 U R4' R13 R12' U R4 R3' U' R13' R12 U R4' R10 R9' U R4 R3' U' R10' R9 U R4' R10 R9' U R4 R3' U' R10' R9 U R4' R8 R7' U R4 R3' U' R8' R7 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' U R6 R5' U R4 R3' U' R6' R5 U R4' F U R11 R10' U R4 R3' U' R11' R10 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' F R15 R14' U R4 R3' U' R15' R14 U R4' R12 R11' U R4 R3' U' R12' R11 U R4' U R11 R10' U R4 R3' U' R11' R10 U R4' U U R8 R7' U R4 R3' U' R8' R7 U R4' U U R5 R4' U R4 R3' U' R5' R4 U R4' F U R15 R14' U R4 R3' U' R15' R14 U R4' U R9 R8' U R4 R3' U' R9' R8 U R4' x' F R15 R14' U R4 R3' U' R15' R14 U R4' R15 R14' U R4 R3' U' R15' R14 U R4' R12 R11' U R4 R3' U' R12' R11 U R4' R11 R10' U R4 R3' U' R11' R10 U R4' R11 R10' U R4 R3' U' R11' R10 U R4' R10 R9' U R4 R3' U' R10' R9 U R4' U R10 R9' U R4 R3' U' R10' R9 U R4' U R6 R5' U R4 R3' U' R6' R5 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' U R5 R4' U R4 R3' U' R5' R4 U R4' F U U R15 R14' U R4 R3' U' R15' R14 U R4' U U R14 R13' U R4 R3' U' R14' R13 U R4' R13 R12' U R4 R3' U' R13' R12 U R4' U R12 R11' U R4 R3' U' R12' R11 U R4' R11 R10' U R4 R3' U' R11' R10 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' R8 R7' U R4 R3' U' R8' R7 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' F U U R13 R12' U R4 R3' U' R13' R12 U R4' U U R12 R11' U R4 R3' U' R12' R11 U R4' U R11 R10' U R4 R3' U' R11' R10 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' R8 R7' U R4 R3' U' R8' R7 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' U U R6 R5' U R4 R3' U' R6' R5 U R4' U U R5 R4' U R4 R3' U' R5' R4 U R4' F R14 R13' U R4 R3' U' R14' R13 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' U R8 R7' U R4 R3' U' R8' R7 U R4' U U R7 R6' U R4 R3' U' R7' R6 U R4' x F R14 R13' U R4 R3' U' R14' R13 U R4' U R14 R13' U R4 R3' U' R14' R13 U R4' R13 R12' U R4 R3' U' R13' R12 U R4' U R13 R12' U R4 R3' U' R13' R12 U R4' U U R11 R10' U R4 R3' U' R11' R10 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' U U R5 R4' U R4 R3' U' R5' R4 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' F U U R14 R13' U R4 R3' U' R14' R13 U R4' U U R13 R12' U R4 R3' U' R13' R12 U R4' U R12 R11' U R4 R3' U' R12' R11 U R4' R10 R9' U R4 R3' U' R10' R9 U R4' U U R8 R7' U R4 R3' U' R8' R7 U R4' R7 R6' U R4 R3' U' R7' R6 U R4'
U' R6 R5' U R4 R3' U' R6' R5 U R4' F R12 R11' U R4 R3' U' R12' R11 U R4' U U R11 R10' U R4 R3' U' R11' R10 U R4' U R9 R8' U R4 R3' U' R9' R8 U R4' U U R7 R6' U R4 R3' U' R7' R6 U R4' F R15 R14' U R4 R3' U' R15' R14 U R4' U' R10 R9' U R4 R3' U' R10' R9 U R4' z x U' L4' U' L4 U' L4' U U L4 x x z F' U L4' U' L4 U' L4' U U L4 F z F F U U L4' U' L4 U' L4' U U L4 F U L4' U' L4 U' L4' U U L4 F z F' L4' U' L4 U' L4' U U L4 F x z F U L4' U' L4 U' L4' U U L4 F' x' F F U L4' U' L4 U' L4' U U L4 F U' L4' U' L4 U' L4' U U L4 F z z U L4' U' L4 U' L4' U U L4 x x F' U L4' U' L4 U' L4' U U L4 F U L4' U' L4 U' L4' U U L4 x' F U U L4' U' L4 U' L4' U U L4 F F U L4' U' L4 U' L4' U U L4 F U L4' U' L4 U' L4' U U L4 x F F U L4' U' L4 U' L4' U U L4 F U' L4' U' L4 U' L4' U U L4 F z x x F R14 R13' U R3 R2' U' R14' R13 U R3' U R13 R12' U R3 R2' U' R13' R12 U R3' U R13 R12' U R3 R2' U' R13' R12 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' R6 R5' U R3 R2' U' R6' R5 U R3' F R15 R14' U R3 R2' U' R15' R14 U R3' U R14 R13' U R3 R2' U' R14' R13 U R3' R9 R8' U R3 R2' U' R9' R8 U R3' F R10 R9' U R3 R2' U' R10' R9 U R3' U R8 R7' U R3 R2' U' R8' R7 U R3' R7 R6' U R3 R2' U' R7' R6 U R3' R4 R3' U R3 R2' U' R4' R3 U R3' F R9 R8' U R3 R2' U' R9' R8 U R3' R7 R6' U R3 R2' U' R7' R6 U R3' x' F R15 R14' U R3 R2' U' R15' R14 U R3' R13 R12' U R3 R2' U' R13' R12 U R3' R13 R12' U R3 R2' U' R13' R12 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' R4 R3' U R3 R2' U' R4' R3 U R3' F U R14 R13' U R3 R2' U' R14' R13 U R3' R13 R12' U R3 R2' U' R13' R12 U R3' R9 R8' U R3 R2' U' R9' R8 U R3' R8 R7' U R3 R2' U' R8' R7 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' F R14 R13' U R3 R2' U' R14' R13 U R3' R13 R12' U R3 R2' U' R13' R12 U R3' R11 R10' U R3 R2' U' R11' R10 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' R9 R8' U R3 R2' U' R9' R8 U R3' R8 R7' U R3 R2' U' R8' R7 U R3' U R7 R6' U R3 R2' U' R7' R6 U R3' F U U R9 R8' U R3 R2' U' R9' R8 U R3' U U R7 R6' U R3 R2' U' R7' R6 U R3' U U R6 R5' U R3 R2' U' R6' R5 U R3' z F R16 R15' U R3 R2' U' R16' R15 U R3' F R15 R14' U R3 R2' U' R15' R14 U R3' R8 R7' U R3 R2' U' R8' R7 U R3' F F z F U R11 R10' U R3 R2' U' R11' R10 U R3' U R10 R9' U R3 R2' U' R10' R9 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' F R16 R15' U R3 R2' U' R16' R15 U R3' R15 R14' U R3 R2' U' R15' R14 U R3' U R12 R11' U R3 R2' U' R12' R11 U R3' U U R6 R5' U R3 R2' U' R6' R5 U R3' F R15 R14' U R3 R2' U' R15' R14 U R3' F z F U U R10 R9' U R3 R2' U' R10' R9 U R3' F U R16 R15' U R3 R2' U' R16' R15 U R3' R14 R13' U R3 R2' U' R14' R13 U R3' U U R11 R10' U R3 R2' U' R11' R10 U R3' F U U R12 R11' U R3 R2' U' R12' R11 U R3' U' R8 R7' U R3 R2' U' R8' R7 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' F U' R12 R11' U R3 R2' U' R12' R11 U R3' U' R4 R3' U R3 R2' U' R4' R3 U R3' z x x F R14 R13' U R3 R2' U' R14' R13 U R3' R6 R5' U R3 R2' U' R6' R5 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' F R7 R6' U R3 R2' U' R7' R6 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' F R11 R10' U R3 R2' U' R11' R10 U R3' U R9 R8' U R3 R2' U' R9' R8 U R3' F U R13 R12' U R3 R2' U' R13' R12 U R3' z F R4 R3' U R3 R2' U' R4' R3 U R3' R4 R3' U R3 R2' U' R4' R3 U R3' F R12 R11' U R3 R2' U' R12' R11 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' U R9 R8' U R3 R2' U' R9' R8 U
R3' F R15 R14' U R3 R2' U' R15' R14 U R3' R14 R13' U R3 R2' U' R14' R13 U R3' R12 R11' U R3 R2' U' R12' R11 U R3' R8 R7' U R3 R2' U' R8' R7 U R3' F R14 R13' U R3 R2' U' R14' R13 U R3' R13 R12' U R3 R2' U' R13' R12 U R3' U R12 R11' U R3 R2' U' R12' R11 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' U R5 R4' U R3 R2' U' R5' R4 U R3' z F U R12 R11' U R3 R2' U' R12' R11 U R3' U U R4 R3' U R3 R2' U' R4' R3 U R3' F U R16 R15' U R3 R2' U' R16' R15 U R3' U U R11 R10' U R3 R2' U' R11' R10 U R3' U R10 R9' U R3 R2' U' R10' R9 U R3' U R6 R5' U R3 R2' U' R6' R5 U R3' F U R16 R15' U R3 R2' U' R16' R15 U R3' U R7 R6' U R3 R2' U' R7' R6 U R3' F z F U R16 R15' U R3 R2' U' R16' R15 U R3' U R13 R12' U R3 R2' U' R13' R12 U R3' U U R8 R7' U R3 R2' U' R8' R7 U R3' R8 R7' U R3 R2' U' R8' R7 U R3' R6 R5' U R3 R2' U' R6' R5 U R3' F U' R15 R14' U R3 R2' U' R15' R14 U R3' U U R11 R10' U R3 R2' U' R11' R10 U R3' U R9 R8' U R3 R2' U' R9' R8 U R3' U R6 R5' U R3 R2' U' R6' R5 U R3' U U R4 R3' U R3 R2' U' R4' R3 U R3' F R14 R13' U R3 R2' U' R14' R13 U R3' F R7 R6' U R3 R2' U' R7' R6 U R3' x z F R12 R11' U R3 R2' U' R12' R11 U R3' R8 R7' U R3 R2' U' R8' R7 U R3' R7 R6' U R3 R2' U' R7' R6 U R3' R4 R3' U R3 R2' U' R4' R3 U R3' F U R15 R14' U R3 R2' U' R15' R14 U R3' R12 R11' U R3 R2' U' R12' R11 U R3' R11 R10' U R3 R2' U' R11' R10 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' R9 R8' U R3 R2' U' R9' R8 U R3' U R6 R5' U R3 R2' U' R6' R5 U R3' R4 R3' U R3 R2' U' R4' R3 U R3' F R12 R11' U R3 R2' U' R12' R11 U R3' F U R13 R12' U R3 R2' U' R13' R12 U R3' U R5 R4' U R3 R2' U' R5' R4 U R3' x' F U R13 R12' U R3 R2' U' R13' R12 U R3' R13 R12' U R3 R2' U' R13' R12 U R3' R12 R11' U R3 R2' U' R12' R11 U R3' R12 R11' U R3 R2' U' R12' R11 U R3' R11 R10' U R3 R2' U' R11' R10 U R3' R9 R8' U R3 R2' U' R9' R8 U R3' R6 R5' U R3 R2' U' R6' R5 U R3' U R6 R5' U R3 R2' U' R6' R5 U R3' R4 R3' U R3 R2' U' R4' R3 U R3' F R16 R15' U R3 R2' U' R16' R15 U R3' R15 R14' U R3 R2' U' R15' R14 U R3' U U R13 R12' U R3 R2' U' R13' R12 U R3' U R12 R11' U R3 R2' U' R12' R11 U R3' R11 R10' U R3 R2' U' R11' R10 U R3' U R10 R9' U R3 R2' U' R10' R9 U R3' U R6 R5' U R3 R2' U' R6' R5 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' R4 R3' U R3 R2' U' R4' R3 U R3' F R16 R15' U R3 R2' U' R16' R15 U R3' R15 R14' U R3 R2' U' R15' R14 U R3' U R14 R13' U R3 R2' U' R14' R13 U R3' U R12 R11' U R3 R2' U' R12' R11 U R3' U U R10 R9' U R3 R2' U' R10' R9 U R3' U U R9 R8' U R3 R2' U' R9' R8 U R3' U R8 R7' U R3 R2' U' R8' R7 U R3' U R5 R4' U R3 R2' U' R5' R4 U R3' F R7 R6' U R3 R2' U' R7' R6 U R3' z z F R16 R15' U R3 R2' U' R16' R15 U R3' U U R11 R10' U R3 R2' U' R11' R10 U R3' R7 R6' U R3 R2' U' R7' R6 U R3' F R14 R13' U R3 R2' U' R14' R13 U R3' U' R9 R8' U R3 R2' U' R9' R8 U R3' U U R8 R7' U R3 R2' U' R8' R7 U R3' U R7 R6' U R3 R2' U' R7' R6 U R3' U U R5 R4' U R3 R2' U' R5' R4 U R3' F R16 R15' U R3 R2' U' R16' R15 U R3' U' R14 R13' U R3 R2' U' R14' R13 U R3' U R11 R10' U R3 R2' U' R11' R10 U R3' U U R7 R6' U R3 R2' U' R7' R6 U R3' U R4 R3' U R3 R2' U' R4' R3 U R3' F U' R15 R14' U R3 R2' U' R15' R14 U R3' U R4 R3' U R3 R2' U' R4' R3 U R3' x x F R12 R11' U R3 R2' U' R12' R11 U R3' R8 R7' U R3 R2' U' R8' R7 U R3' R7 R6' U R3 R2' U' R7' R6 U R3' F R16 R15' U R3 R2' U' R16' R15 U R3' R6 R5' U R3 R2' U' R6' R5 U R3' R4 R3' U R3 R2' U' R4' R3 U
R3' F R15 R14' U R3 R2' U' R15' R14 U R3' R14 R13' U R3 R2' U' R14' R13 U R3' U R11 R10' U R3 R2' U' R11' R10 U R3' U R9 R8' U R3 R2' U' R9' R8 U R3' U R6 R5' U R3 R2' U' R6' R5 U R3' F R10 R9' U R3 R2' U' R10' R9 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' x' F R16 R15' U R3 R2' U' R16' R15 U R3' U R16 R15' U R3 R2' U' R16' R15 U R3' U R15 R14' U R3 R2' U' R15' R14 U R3' U' R13 R12' U R3 R2' U' R13' R12 U R3' U R11 R10' U R3 R2' U' R11' R10 U R3' R11 R10' U R3 R2' U' R11' R10 U R3' R8 R7' U R3 R2' U' R8' R7 U R3' R8 R7' U R3 R2' U' R8' R7 U R3' R6 R5' U R3 R2' U' R6' R5 U R3' U U R6 R5' U R3 R2' U' R6' R5 U R3' U R4 R3' U R3 R2' U' R4' R3 U R3' F U R15 R14' U R3 R2' U' R15' R14 U R3' U U R12 R11' U R3 R2' U' R12' R11 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' R9 R8' U R3 R2' U' R9' R8 U R3' U U R7 R6' U R3 R2' U' R7' R6 U R3' F U R16 R15' U R3 R2' U' R16' R15 U R3' R14 R13' U R3 R2' U' R14' R13 U R3' R9 R8' U R3 R2' U' R9' R8 U R3' R8 R7' U R3 R2' U' R8' R7 U R3' U' R7 R6' U R3 R2' U' R7' R6 U R3' U R5 R4' U R3 R2' U' R5' R4 U R3' U' R4 R3' U R3 R2' U' R4' R3 U R3' F U R14 R13' U R3 R2' U' R14' R13 U R3' U U R12 R11' U R3 R2' U' R12' R11 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' R9 R8' U R3 R2' U' R9' R8 U R3' U U R5 R4' U R3 R2' U' R5' R4 U R3' x F R16 R15' U R3 R2' U' R16' R15 U R3' U U R15 R14' U R3 R2' U' R15' R14 U R3' U R14 R13' U R3 R2' U' R14' R13 U R3' R12 R11' U R3 R2' U' R12' R11 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' U R10 R9' U R3 R2' U' R10' R9 U R3' U R9 R8' U R3 R2' U' R9' R8 U R3' U R9 R8' U R3 R2' U' R9' R8 U R3' U R7 R6' U R3 R2' U' R7' R6 U R3' R4 R3' U R3 R2' U' R4' R3 U R3' F U R14 R13' U R3 R2' U' R14' R13 U R3' U U R8 R7' U R3 R2' U' R8' R7 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' R4 R3' U R3 R2' U' R4' R3 U R3' F U' R16 R15' U R3 R2' U' R16' R15 U R3' R13 R12' U R3 R2' U' R13' R12 U R3' U' R12 R11' U R3 R2' U' R12' R11 U R3' U U R11 R10' U R3 R2' U' R11' R10 U R3' U U R8 R7' U R3 R2' U' R8' R7 U R3' U U R7 R6' U R3 R2' U' R7' R6 U R3' U' R6 R5' U R3 R2' U' R6' R5 U R3' U' R5 R4' U R3 R2' U' R5' R4 U R3' U' R4 R3' U R3 R2' U' R4' R3 U R3' F U' R13 R12' U R3 R2' U' R13' R12 U R3' z x x F' U L3' U' L3 U' L3' U U L3 F U L3' U' L3 U' L3' U U L3 x' F' U L3' U' L3 U' L3' U U L3 F U' L3' U' L3 U' L3' U U L3 x x z F' U L3' U' L3 U' L3' U U L3 F z F F U U L3' U' L3 U' L3' U U L3 F F z F F U U L3' U' L3 U' L3' U U L3 F F U L3' U' L3 U' L3' U U L3 x z U L3' U' L3 U' L3' U U L3 x' F U L3' U' L3 U' L3' U U L3 F F U L3' U' L3 U' L3' U U L3 F z z F U U L3' U' L3 U' L3' U U L3 F F U' L3' U' L3 U' L3' U U L3 F x x F' U L3' U' L3 U' L3' U U L3 F x' F U L3' U' L3 U' L3' U U L3 F U L3' U' L3 U' L3' U U L3 F U L3' U' L3 U' L3' U U L3 F x F U L3' U' L3 U' L3' U U L3 F' z x x F F R11 R10' U R2 R' U' R11' R10 U R2' R6 R5' U R2 R' U' R6' R5 U R2' F R15 R14' U R2 R' U' R15' R14 U R2' R7 R6' U R2 R' U' R7' R6 U R2' R5 R4' U R2 R' U' R5' R4 U R2' F R17 R16' U R2 R' U' R17' R16 U R2' R6 R5' U R2 R' U' R6' R5 U R2' R4 R3' U R2 R' U' R4' R3 U R2' x' F R17 R16' U R2 R' U' R17' R16 U R2' R11 R10' U R2 R' U' R11' R10 U R2' R11 R10' U R2 R' U' R11' R10 U R2' R6 R5' U R2 R' U' R6' R5 U R2' R3 R2' U R2 R' U' R3' R2 U
R2' F R15 R14' U R2 R' U' R15' R14 U R2' R14 R13' U R2 R' U' R14' R13 U R2' U R9 R8' U R2 R' U' R9' R8 U R2' R7 R6' U R2 R' U' R7' R6 U R2' R6 R5' U R2 R' U' R6' R5 U R2' R4 R3' U R2 R' U' R4' R3 U R2' U R3 R2' U R2 R' U' R3' R2 U R2' F R13 R12' U R2 R' U' R13' R12 U R2' R11 R10' U R2 R' U' R11' R10 U R2' R10 R9' U R2 R' U' R10' R9 U R2' U R7 R6' U R2 R' U' R7' R6 U R2' U R4 R3' U R2 R' U' R4' R3 U R2' F R16 R15' U R2 R' U' R16' R15 U R2' R5 R4' U R2 R' U' R5' R4 U R2' z F R16 R15' U R2 R' U' R16' R15 U R2' F U R16 R15' U R2 R' U' R16' R15 U R2' R13 R12' U R2 R' U' R13' R12 U R2' U R10 R9' U R2 R' U' R10' R9 U R2' F U R17 R16' U R2 R' U' R17' R16 U R2' R12 R11' U R2 R' U' R12' R11 U R2' R9 R8' U R2 R' U' R9' R8 U R2' U R5 R4' U R2 R' U' R5' R4 U R2' U R4 R3' U R2 R' U' R4' R3 U R2' F U' R17 R16' U R2 R' U' R17' R16 U R2' U R14 R13' U R2 R' U' R14' R13 U R2' U R12 R11' U R2 R' U' R12' R11 U R2' R8 R7' U R2 R' U' R8' R7 U R2' U R6 R5' U R2 R' U' R6' R5 U R2' z F U U R14 R13' U R2 R' U' R14' R13 U R2' U' R11 R10' U R2 R' U' R11' R10 U R2' R8 R7' U R2 R' U' R8' R7 U R2' U U R7 R6' U R2 R' U' R7' R6 U R2' F U R12 R11' U R2 R' U' R12' R11 U R2' R8 R7' U R2 R' U' R8' R7 U R2' U U R3 R2' U R2 R' U' R3' R2 U R2' F U R13 R12' U R2 R' U' R13' R12 U R2' R5 R4' U R2 R' U' R5' R4 U R2' R4 R3' U R2 R' U' R4' R3 U R2' F U U R6 R5' U R2 R' U' R6' R5 U R2' U U R5 R4' U R2 R' U' R5' R4 U R2' z F U R12 R11' U R2 R' U' R12' R11 U R2' U U R10 R9' U R2 R' U' R10' R9 U R2' F R15 R14' U R2 R' U' R15' R14 U R2' U R13 R12' U R2 R' U' R13' R12 U R2' U R3 R2' U R2 R' U' R3' R2 U R2' F F U R14 R13' U R2 R' U' R14' R13 U R2' U U R8 R7' U R2 R' U' R8' R7 U R2' z x x F R12 R11' U R2 R' U' R12' R11 U R2' R7 R6' U R2 R' U' R7' R6 U R2' F U R4 R3' U R2 R' U' R4' R3 U R2' F U R12 R11' U R2 R' U' R12' R11 U R2' R5 R4' U R2 R' U' R5' R4 U R2' F U R16 R15' U R2 R' U' R16' R15 U R2' U R15 R14' U R2 R' U' R15' R14 U R2' R13 R12' U R2 R' U' R13' R12 U R2' R3 R2' U R2 R' U' R3' R2 U R2' z F R16 R15' U R2 R' U' R16' R15 U R2' R11 R10' U R2 R' U' R11' R10 U R2' R6 R5' U R2 R' U' R6' R5 U R2' F U R12 R11' U R2 R' U' R12' R11 U R2' U R9 R8' U R2 R' U' R9' R8 U R2' U R6 R5' U R2 R' U' R6' R5 U R2' F R14 R13' U R2 R' U' R14' R13 U R2' U' R12 R11' U R2 R' U' R12' R11 U R2' R11 R10' U R2 R' U' R11' R10 U R2' R8 R7' U R2 R' U' R8' R7 U R2' R7 R6' U R2 R' U' R7' R6 U R2' U R4 R3' U R2 R' U' R4' R3 U R2' F U R17 R16' U R2 R' U' R17' R16 U R2' R8 R7' U R2 R' U' R8' R7 U R2' U R4 R3' U R2 R' U' R4' R3 U R2' z F U U R14 R13' U R2 R' U' R14' R13 U R2' F U' R16 R15' U R2 R' U' R16' R15 U R2' U' R13 R12' U R2 R' U' R13' R12 U R2' U U R7 R6' U R2 R' U' R7' R6 U R2' U U R5 R4' U R2 R' U' R5' R4 U R2' F U R11 R10' U R2 R' U' R11' R10 U R2' R9 R8' U R2 R' U' R9' R8 U R2' F R17 R16' U R2 R' U' R17' R16 U R2' U U R11 R10' U R2 R' U' R11' R10 U R2' z F R15 R14' U R2 R' U' R15' R14 U R2' U R14 R13' U R2 R' U' R14' R13 U R2' U R10 R9' U R2 R' U' R10' R9 U R2' U R8 R7' U R2 R' U' R8' R7 U R2' F R15 R14' U R2 R' U' R15' R14 U R2' U R10 R9' U R2 R' U' R10' R9 U R2' R3 R2' U R2 R' U' R3' R2 U R2' F F U R17 R16' U R2 R' U' R17' R16 U R2' R9 R8' U R2 R' U' R9' R8 U R2' x z F R15 R14' U R2 R'
U' R15' R14 U R2' R13 R12' U R2 R' U' R13' R12 U R2' U R13 R12' U R2 R' U' R13' R12 U R2' R12 R11' U R2 R' U' R12' R11 U R2' U R10 R9' U R2 R' U' R10' R9 U R2' U R9 R8' U R2 R' U' R9' R8 U R2' R8 R7' U R2 R' U' R8' R7 U R2' F U R17 R16' U R2 R' U' R17' R16 U R2' R11 R10' U R2 R' U' R11' R10 U R2' F R17 R16' U R2 R' U' R17' R16 U R2' U R10 R9' U R2 R' U' R10' R9 U R2' U R5 R4' U R2 R' U' R5' R4 U R2' F R16 R15' U R2 R' U' R16' R15 U R2' R6 R5' U R2 R' U' R6' R5 U R2' R4 R3' U R2 R' U' R4' R3 U R2' x' F R17 R16' U R2 R' U' R17' R16 U R2' R17 R16' U R2 R' U' R17' R16 U R2' U R16 R15' U R2 R' U' R16' R15 U R2' R16 R15' U R2 R' U' R16' R15 U R2' R13 R12' U R2 R' U' R13' R12 U R2' R13 R12' U R2 R' U' R13' R12 U R2' R10 R9' U R2 R' U' R10' R9 U R2' R10 R9' U R2 R' U' R10' R9 U R2' F U R17 R16' U R2 R' U' R17' R16 U R2' R13 R12' U R2 R' U' R13' R12 U R2' R12 R11' U R2 R' U' R12' R11 U R2' U R11 R10' U R2 R' U' R11' R10 U R2' U U R10 R9' U R2 R' U' R10' R9 U R2' U U R9 R8' U R2 R' U' R9' R8 U R2' R6 R5' U R2 R' U' R6' R5 U R2' R5 R4' U R2 R' U' R5' R4 U R2' U R3 R2' U R2 R' U' R3' R2 U R2' F R15 R14' U R2 R' U' R15' R14 U R2' R14 R13' U R2 R' U' R14' R13 U R2' R12 R11' U R2 R' U' R12' R11 U R2' R11 R10' U R2 R' U' R11' R10 U R2' U R10 R9' U R2 R' U' R10' R9 U R2' U U R9 R8' U R2 R' U' R9' R8 U R2' R7 R6' U R2 R' U' R7' R6 U R2' R6 R5' U R2 R' U' R6' R5 U R2' R5 R4' U R2 R' U' R5' R4 U R2' R4 R3' U R2 R' U' R4' R3 U R2' F R8 R7' U R2 R' U' R8' R7 U R2' U R6 R5' U R2 R' U' R6' R5 U R2' U U R5 R4' U R2 R' U' R5' R4 U R2' U U R4 R3' U R2 R' U' R4' R3 U R2' U U R3 R2' U R2 R' U' R3' R2 U R2' z z F R15 R14' U R2 R' U' R15' R14 U R2' U U R14 R13' U R2 R' U' R14' R13 U R2' U R8 R7' U R2 R' U' R8' R7 U R2' U R8 R7' U R2 R' U' R8' R7 U R2' F U' R15 R14' U R2 R' U' R15' R14 U R2' R14 R13' U R2 R' U' R14' R13 U R2' U' R7 R6' U R2 R' U' R7' R6 U R2' U R3 R2' U R2 R' U' R3' R2 U R2' F R17 R16' U R2 R' U' R17' R16 U R2' U R12 R11' U R2 R' U' R12' R11 U R2' U R4 R3' U R2 R' U' R4' R3 U R2' F U R16 R15' U R2 R' U' R16' R15 U R2' U U R13 R12' U R2 R' U' R13' R12 U R2' U R12 R11' U R2 R' U' R12' R11 U R2' R11 R10' U R2 R' U' R11' R10 U R2' U U R6 R5' U R2 R' U' R6' R5 U R2' x x F R13 R12' U R2 R' U' R13' R12 U R2' R9 R8' U R2 R' U' R9' R8 U R2' R8 R7' U R2 R' U' R8' R7 U R2' U R7 R6' U R2 R' U' R7' R6 U R2' F R16 R15' U R2 R' U' R16' R15 U R2' R14 R13' U R2 R' U' R14' R13 U R2' R13 R12' U R2 R' U' R13' R12 U R2' R9 R8' U R2 R' U' R9' R8 U R2' R8 R7' U R2 R' U' R8' R7 U R2' U' R7 R6' U R2 R' U' R7' R6 U R2' R5 R4' U R2 R' U' R5' R4 U R2' R3 R2' U R2 R' U' R3' R2 U R2' F R16 R15' U R2 R' U' R16' R15 U R2' U U R5 R4' U R2 R' U' R5' R4 U R2' F U U R16 R15' U R2 R' U' R16' R15 U R2' U R15 R14' U R2 R' U' R15' R14 U R2' R6 R5' U R2 R' U' R6' R5 U R2' x' F U R17 R16' U R2 R' U' R17' R16 U R2' U R17 R16' U R2 R' U' R17' R16 U R2' R15 R14' U R2 R' U' R15' R14 U R2' R13 R12' U R2 R' U' R13' R12 U R2' U R13 R12' U R2 R' U' R13' R12 U R2' R12 R11' U R2 R' U' R12' R11 U R2' R12 R11' U R2 R' U' R12' R11 U R2' R11 R10' U R2 R' U' R11' R10 U R2' R10 R9' U R2 R' U' R10' R9 U R2' U R8 R7' U R2 R' U' R8' R7 U R2' R8 R7' U R2 R' U' R8' R7 U R2' R7 R6' U R2 R' U' R7' R6 U R2' R7 R6' U R2 R' U' R7' R6 U R2' U R6 R5'
U R2 R' U' R6' R5 U R2' U R5 R4' U R2 R' U' R5' R4 U R2' R5 R4' U R2 R' U' R5' R4 U R2' U R3 R2' U R2 R' U' R3' R2 U R2' F R16 R15' U R2 R' U' R16' R15 U R2' U R15 R14' U R2 R' U' R15' R14 U R2' R14 R13' U R2 R' U' R14' R13 U R2' R13 R12' U R2 R' U' R13' R12 U R2' U U R11 R10' U R2 R' U' R11' R10 U R2' R10 R9' U R2 R' U' R10' R9 U R2' U R9 R8' U R2 R' U' R9' R8 U R2' U U R7 R6' U R2 R' U' R7' R6 U R2' R4 R3' U R2 R' U' R4' R3 U R2' F R16 R15' U R2 R' U' R16' R15 U R2' U R10 R9' U R2 R' U' R10' R9 U R2' U R9 R8' U R2 R' U' R9' R8 U R2' U' R8 R7' U R2 R' U' R8' R7 U R2' U U R7 R6' U R2 R' U' R7' R6 U R2' R6 R5' U R2 R' U' R6' R5 U R2' U U R5 R4' U R2 R' U' R5' R4 U R2' R4 R3' U R2 R' U' R4' R3 U R2' U R3 R2' U R2 R' U' R3' R2 U R2' F R16 R15' U R2 R' U' R16' R15 U R2' U' R14 R13' U R2 R' U' R14' R13 U R2' U R9 R8' U R2 R' U' R9' R8 U R2' U' R4 R3' U R2 R' U' R4' R3 U R2' x F R17 R16' U R2 R' U' R17' R16 U R2' R17 R16' U R2 R' U' R17' R16 U R2' U R15 R14' U R2 R' U' R15' R14 U R2' R13 R12' U R2 R' U' R13' R12 U R2' R12 R11' U R2 R' U' R12' R11 U R2' U U R5 R4' U R2 R' U' R5' R4 U R2' R3 R2' U R2 R' U' R3' R2 U R2' F R16 R15' U R2 R' U' R16' R15 U R2' U R15 R14' U R2 R' U' R15' R14 U R2' R14 R13' U R2 R' U' R14' R13 U R2' R4 R3' U R2 R' U' R4' R3 U R2' F R17 R16' U R2 R' U' R17' R16 U R2' R16 R15' U R2 R' U' R16' R15 U R2' R15 R14' U R2 R' U' R15' R14 U R2' R14 R13' U R2 R' U' R14' R13 U R2' R13 R12' U R2 R' U' R13' R12 U R2' U U R12 R11' U R2 R' U' R12' R11 U R2' R11 R10' U R2 R' U' R11' R10 U R2' R10 R9' U R2 R' U' R10' R9 U R2' U' R6 R5' U R2 R' U' R6' R5 U R2' R4 R3' U R2 R' U' R4' R3 U R2' U R3 R2' U R2 R' U' R3' R2 U R2' F U' R16 R15' U R2 R' U' R16' R15 U R2' U' R14 R13' U R2 R' U' R14' R13 U R2' R11 R10' U R2 R' U' R11' R10 U R2' U U R9 R8' U R2 R' U' R9' R8 U R2' R8 R7' U R2 R' U' R8' R7 U R2' U U R7 R6' U R2 R' U' R7' R6 U R2' U' R4 R3' U R2 R' U' R4' R3 U R2' z x x F' U L2' U' L2 U' L2' U U L2 F U' L2' U' L2 U' L2' U U L2 x' F U L2' U' L2 U' L2' U U L2 F U L2' U' L2 U' L2' U U L2 F U L2' U' L2 U' L2' U U L2 F z' F' U L2' U' L2 U' L2' U U L2 F z x x z U L2' U' L2 U' L2' U U L2 z U U L2' U' L2 U' L2' U U L2 z F F U U L2' U' L2 U' L2' U U L2 F F U L2' U' L2 U' L2' U U L2 x z F U L2' U' L2 U' L2' U U L2 F' x' F U L2' U' L2 U' L2' U U L2 F F U L2' U' L2 U' L2' U U L2 F z z F U U L2' U' L2 U' L2' U U L2 F' x x F U L2' U' L2 U' L2' U U L2 F F U L2' U' L2 U' L2' U U L2 F x' F U L2' U' L2 U' L2' U U L2 F F U L2' U' L2 U' L2' U U L2 F L2' U' L2 U' L2' U U L2 x F U L2' U' L2 U' L2' U U L2 F' U L2' U' L2 U' L2' U U L2 R6 R5' U U R6 R5' U U R6' R5 x' L6' L5 U U L6 L5' x' U U R6 R5' U U R6' R5 R7 R6' U U R7 R6' U U R7' R6 x' L7' L6 U U L7 L6' x' U U R7 R6' U U R7' R6 R8 R7' U U R8 R7' U U R8' R7 x' L8' L7 U U L8 L7' x' U U R8 R7' U U R8' R7 U U B L U' F U L U U B L L R R B U' R B B z z x' F10' F R U' R' U F10 F' U U B L U' F U L U U B L L R R B U' R B B z z x' F10' F R U' R' U F10 F' U U B L U' F U L U' B U B U B U D B B U' L R R B U' R B B z z
x' F10' F R U' R' U F10 F' U U B L U' F U L U' B U B U B U D B B U B L L R R B U' R B B z z x' F10' F R U' R' U F10 F' U U B L U' F U L R R B U' R B B z z x' F10' F R U' R' U F10 F' U U B L U' F U L U' B U B U B U D B B U L R R B U' R B B z z x' F10' F R U' R' U F10 F' U U B L U' F U L U' B U B U B U D B B U' B L L R R B U' R B B z z x' F10' F R U' R' U F10 F' U U B L U' F U L U U L R R B U' R B B z z x' F10' F R U' R' U F10 F' U U B L U' F U L U' B U B U B U D B B U L U U B L U' L' R R B U' R B B z z x' F10' F R U' R' U F10 U L U' B U B U B U D B B U' D B D B U B U U L U U B L U' L' R R B U' R B B z z x' F10' F R U' R' U F10 F' U' B L U' F U U B L L U U R R B U' R B B z z x' F10' F R U' R' U F10 U L U' B U B U B U D B B U' D B D B U B U' L U U B L U' L' R R B U' R B B z z x' F10' F R U' R' U F10 U L U' B U B U B U D B B U U B L L R R B U' R B B z z x' F10' F R U' R' U F10 F' U B L U' F U L U' B U B U B U D B' L L U R R B U' R B B z z x' F10' F R U' R' U F10 U L U' B U B U B U D B B U' B L L U U B L U' L' R R B U' R B B z z x' F10' F R U' R' U F10 F' U' x x U' B L U' F U L U' B U B U B U D B B U L U' B U B U B U D B' L U' L' R R B U' R B B z z x' F10' F R U' R' U F10 U L U' B U B U B U D B' L L U' B U B U B U D B B U' R R B U' R B B z z x' F10' F R U' R' U F10 F' U U B L U' F U L U L R R B U' R B B z z x' F11' F R U' R' U F11 F' U U B L U' F U L U' B U B U B U D B B U B L L R R B U' R B B z z x' F11' F R U' R' U F11 F' U U B L U' F U L U B L L R R B U' R B B z z x' F11' F R U' R' U F11 U L U' B U B U B U D B B U' D B D B U B B L L R R B U' R B B z z x' F11' F R U' R' U F11 F' U U B L U' F U L L U U B L U' L' R R B U' R B B z z x' F11' F R U' R' U F11 U L U' B U B U B U D B B U' B L L U R R B U' R B B z z x' F11' F R U' R' U F11 F' U U B L U' F U L U' B U B U B U D B B U' B L L U U B L U' L' R R B U' R B B z z x' F11' F R U' R' U F11 U L U U L R R B U' R B B z z x' F11' F R U' R' U F11 F' U U B L U' F U L U' B U B U B U D B B U B L L U U B L U' L' R R B U' R B B z z x' F11' F R U' R' U F11 U L L R R B U' R B B z z x' F11' F R U' R' U F11 U L U' B U B U B U D B' L L R R B U' R B B z z x' F11' F R U' R' U F11 F' U U B L U' F U L U' B U B U B U D B' L L U U B L U' L' R R B U' R B B z z x' F11' F R U' R' U F11 U L U' B U B U B U D B B U B L L U U B L U' L' R R B U' R B B z z x' F11' F R U' R' U F11 U L U'
B L L U R R B U' R B B z z x' F11' F R U' R' U F11 U L U' B U B U B U D B B U L U R R B U' R B B z z x' F11' F R U' R' U F11 U U B L L U' R R B U' R B B z z x' F11' F R U' R' U F11 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U' L U U B L U' L' R R B U' R B B z z x' F11' F R U' R' U F11 U L U' B U B U B U D B B U B L L U U B L U' L' R R B U' R B B z z x' F11' F R U' R' U F11 F' U' x x F U L U U B L L U U R R B U' R B B z z x' F11' F R U' R' U F11 U L U' B U B U B U D B' L L U' B U B U B U D B B U' D B D B U B B L U' L' R R B U' R B B z z x' F11' F R U' R' U F11 F' U U B L U' F U L U' B U B U B U D B B U B L L R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U' B L L R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U' F U L U U L R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U' B L L R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U' F U L U' B U B U B U D B B U U L R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U' F U L U B L L U U B L U' L' R R B U' R B B z z x' F12' F R U' R' U F12 U L U' B L L U U B L U' L' R R B U' R B B z z x' F12' F R U' R' U F12 U L U' B U B U B U D B B U' D B D B U B B L L R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U' F U L U' B L L R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U' F U L U' B U B U B U D B B L R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U' F U L U' B U B U B U D B B U U B L L U U R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U' F U L U' L U R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U' F U L L U' R R B U' R B B z z x' F12' F R U' R' U F12 U L U' B U B U B U D B' L L B L U' L' R R B U' R B B z z x' F12' F R U' R' U F12 F' U' B L U' F U L U' B U B U B U D B' L L U U B L U' L' R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U' F U L U U L R R B U' R B B z z x' F13' F R U' R' U F13 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B B L L R R B U' R B B z z x' F13' F R U' R' U F13 F' U U B L U' F U L L R R B U' R B B z z x' F13' F R U' R' U F13 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U U L U U B L U' L' R R B U' R B B z z x' F13' F R U' R' U F13 U L U' B U B U B U D B' L L U U B L U' L' R R B U' R B B z z x' F13' F R U' R' U F13 U L U' B U B U B U D B B U
L R R B U' R B B z z x' F13' F R U' R' U F13 F' U U B L U' F U L U' B U B U B U D B' L L R R B U' R B B z z x' F13' F R U' R' U F13 U L U' B U B U B U D B B U' D B D B U B U' B L L R R B U' R B B z z x' F13' F R U' R' U F13 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U' L R R B U' R B B z z x' F13' F R U' R' U F13 F' U U B L U' F U L U' B U B U B U D B B U' L R R B U' R B B z z x' F13' F R U' R' U F13 U L U' B U B U B U D B' L L R R B U' R B B z z x' F13' F R U' R' U F13 U L U' B L L U U B L U' L' R R B U' R B B z z x' F13' F R U' R' U F13 U L U' B U B U B U D B B U' B L L R R B U' R B B z z x' F13' F R U' R' U F13 U L U' L U U B L U' L' R R B U' R B B z z x' F13' F R U' R' U F13 U L U' B U B U B U D B B U U L R R B U' R B B z z x' F13' F R U' R' U F13 U L U' B U B U B U D B B U' D B D B U B B L L U U B L U' L' R R B U' R B B z z x' F13' F R U' R' U F13 U U B L L U' B L U' L' R R B U' R B B z z x' F13' F R U' R' U F13 U L U' B U B U B U D B' L L U U B L U' L' R R B U' R B B z z x' F13' F R U' R' U F13 U L U' B U B U B U D B B U U B L L R R B U' R B B z z x' F13' F R U' R' U F13 F' U B L U' F U L U' B U B U B U D B' L L U B L U' L' R R B U' R B B z z x' F13' F R U' R' U F13 F' U U B L U' F U L U B L L R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L U B L L U U B L U' L' R R B U' R B B z z x' F14' F R U' R' U F14 U L U' L U U B L U' L' R R B U' R B B z z x' F14' F R U' R' U F14 U U B L L R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L U B L L R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B B L L R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U U L R R B U' R B B z z x' F14' F R U' R' U F14 U L U' B U B U B U D B B U' D B D B U B U' B L L U' B L U' L' R R B U' R B B z z x' F14' F R U' R' U F14 U L U' B U B U B U D B B L R R B U' R B B z z x' F14' F R U' R' U F14 U L U' B U B U B U D B' L L R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L U B L L R R B U' R B B z z x' F14' F R U' R' U F14 U L U' B U B U B U D B B U' D B D B U B U U L U R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L U U L R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L U U L U' R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L U' B U B U B U D
B B U U L R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L U' B U B U B U D B' L L U U R R B U' R B B z z x' F14' F R U' R' U F14 U L U' B U B U B U D B' L L B L U' L' R R B U' R B B z z x' F14' F R U' R' U F14 F' U' B L U' F U L U' B U B U B U D B B U' D B D B U B U' L U B L U' L' R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L R R B U' R B B z z x' F15' F R U' R' U F15 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B B L L R R B U' R B B z z x' F15' F R U' R' U F15 F' U U B L U' F U L L R R B U' R B B z z x' F15' F R U' R' U F15 F' U U B L U' F U L U' B U B U B U D B B U B L L R R B U' R B B z z x' F15' F R U' R' U F15 F' U U B L U' F U L U' B U B U B U D B B U U L R R B U' R B B z z x' F15' F R U' R' U F15 F' U U B L U' F U L U' B U B U B U D B B U U L R R B U' R B B z z x' F15' F R U' R' U F15 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U U L U U B L U' L' R R B U' R B B z z x' F15' F R U' R' U F15 U L L R R B U' R B B z z x' F15' F R U' R' U F15 U L U' B U B U B U D B B U U B L L R R B U' R B B z z x' F15' F R U' R' U F15 F' U' B L U' F U L U' B U B U B U D B B U' D B D B U B U' L R R B U' R B B z z x' F15' F R U' R' U F15 F' U U F U L U' B U B U B U D B B U' B L L R R B U' R B B z z x' F15' F R U' R' U F15 F' U U B L U' F U L U' B U B U B U D B B U B L L R R B U' R B B z z x' F15' F R U' R' U F15 U L U B L L U R R B U' R B B z z x' F15' F R U' R' U F15 U L U B L L R R B U' R B B z z x' F15' F R U' R' U F15 U L U' B U B U B U D B' L L U U B L U' L' R R B U' R B B z z x' F15' F R U' R' U F15 U L U B L L U' B L U' L' R R B U' R B B z z x' F15' F R U' R' U F15 U L U' B U B U B U D B' L L U U B L U' L' R R B U' R B B z z x' F15' F R U' R' U F15 F' U U B L U' F U L U' B L L R R B U' R B B z z x' F16' F R U' R' U F16 F' U U B L U' F U L U U L R R B U' R B B z z x' F16' F R U' R' U F16 F' U U B L U' F U L U' B U B U B U D B B U U B L L R R B U' R B B z z x' F16' F R U' R' U F16 F' U U B L U' F U L U B L L R R B U' R B B z z x' F16' F R U' R' U F16 F' U U B L U' F U L L U U B L U' L' R R B U' R B B z z x' F16' F R U' R' U F16 U L U' B U B U B U D B B U L R R B U' R B B z z x' F16' F R U' R' U F16 F' U U B L U' F U L U L U U B L U' L' R R B U' R B B z z x' F16' F R U' R' U F16 U L U' B U B U B U D B B U' D B D B U B U' L R R B U' R B B z z x' F16' F R U' R' U
F16 U L U U B L L U U B L U' L' R R B U' R B B z z x' F16' F R U' R' U F16 U L U' B U B U B U D B B U' D B D B U B U' L R R B U' R B B z z x' F16' F R U' R' U F16 U L U' B U B U B U D B B U' D B D B U B U U L R R B U' R B B z z x' F16' F R U' R' U F16 F' U U B L U' F U L L U' B L U' L' R R B U' R B B z z x' F16' F R U' R' U F16 U L U' B L L U B L U' L' R R B U' R B B z z x' F16' F R U' R' U F16 U L U' B L L R R B U' R B B z z x' F16' F R U' R' U F16 F' U' x x F U L U' B U B U B U D B B U B L L U U R R B U' R B B z z x' F16' F R U' R' U F16 U L U' B U B U B U D B' L L U' R R B U' R B B z z x' F16' F R U' R' U F16 U L U' B U B U B U D B B U' D B D B U B U' L U' R R B U' R B B z z x' F16' F R U' R' U F16 U L U' B U B U B U D B B U U R F U R F U y' z' F16' F R U' R' U F16 U L U U B L L U' B U B U B U D B B U U R R B U' R B B z z x' F16' F R U' R' U F16 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U' B L L R R B U' R B B z z x' F17' F R U' R' U F17 U L R R B U' R B B z z x' F17' F R U' R' U F17 U L U' B L L R R B U' R B B z z x' F17' F R U' R' U F17 U L B L L R R B U' R B B z z x' F17' F R U' R' U F17 U L U' B U B U B U D B B U' L U U B L U' L' R R B U' R B B z z x' F17' F R U' R' U F17 U L U U B L L R R B U' R B B z z x' F17' F R U' R' U F17 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U' B L L U R R B U' R B B z z x' F17' F R U' R' U F17 F' U U B L U' F U L U' B L L R R B U' R B B z z x' F17' F R U' R' U F17 F' U U B L U' F U L U' B U B U B U D B B U' B L L R R B U' R B B z z x' F17' F R U' R' U F17 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B B L L U U B L U' L' R R B U' R B B z z x' F17' F R U' R' U F17 F' B L U' F U L U B L L U U R R B U' R B B z z x' F17' F R U' R' U F17 F' U U B L U' F U L U' B U B U B U D B B L R R B U' R B B z z x' F17' F R U' R' U F17 U L U' B U B U B U D B B U' D B D B U B U U L U' R R B U' R B B z z x' F17' F R U' R' U F17 F' U U B L U' F U L U U B L U' L' R R B U' R B B z z x' F17' F R U' R' U F17 U L U' B U B U B U D B' L L U U B L U' L' R R B U' R B B z z x' F17' F R U' R' U F17 U L U U B L L U U B L U' L' R R B U' R B B z z x' F17' F R U' R' U F17 U L U' B U B U B U D B' L L U U B L U' L' R R B U' R B B z z x' F17' F R U' R' U F17 F' D U U F F U U D D U' F F U z F U' F F z' U U F' U' D D U' y' F R F' y D U D' R' D R D D y' F R F' y U U y' F R F'
y D U U D' U y' F R F' y D U' D D U y' F R' F' y D D y' F R F' y U' y y U' z U' z U' z R U' R' U' F' U F U U z U' z R U' R' U' F' U F U' z U' z U' z R U' R' U' F' U F z z U R U' R' U' F' U F z U' L' U L U F U' F' z U' z U' z R U' R' U' F' U F U U F R U R' U' R U R' U' F' U U R' U' R U' R' U U R z' U U R' U' R U' R' U U R z z F U F' U F U U F' U R' U' R U' R' U U R z z F U F' U F U U F' U' D'

四,二十阶魔方

1,网页版

JS部分参考上文

HTML部分:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>二十阶魔方</title>
  <style>
    :root {
      --bg1: #161b26;
      --bg2: #1f2635;
      --txt: #e8edf5;
      --dim: #8fa0bf;
      --panel: #1b2231;
    }
    * { box-sizing: border-box; }
    html, body { height: 100%; }
    body {
      margin: 0;
      font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
      background: radial-gradient(1200px 700px at 50% -10%, var(--bg2), var(--bg1));
      color: var(--txt);
      padding: 6px 8px 8px;
      overflow: hidden;
      height: 100vh;
      display: flex;
      flex-direction: column;
    }

    h1 {
      margin: 0 0 2px;
      font-size: 20px;
      letter-spacing: 2px;
      text-align: center;
      flex-shrink: 0;
    }

    #status {
      min-height: 18px;
      margin: 0 0 4px;
      font-size: 12px;
      color: var(--dim);
      transition: color .3s;
      text-align: center;
      flex-shrink: 0;
    }
    #status.solved { color: #7ee08a; font-weight: bold; animation: pop .55s ease; }
    #status.error { color: #ff7a7a; font-weight: bold; }
    @keyframes pop {
      0% { transform: scale(.6); opacity: 0; }
      70% { transform: scale(1.18); }
      100% { transform: scale(1); opacity: 1; }
    }

    #main {
      display: flex;
      gap: 6px;
      flex: 1;
      min-height: 0;
      width: 100%;
      max-width: 100%;
      margin: 0 auto;
    }

    #leftCol {
      flex: 0 0 58%;
      min-width: 0;
      height: 100%;
      display: flex;
      flex-direction: column;
    }

    #stage {
      width: 100%;
      height: 100%;
      min-height: 0;
      background: transparent;
      border-radius: 8px;
      overflow: hidden;
    }

    #rightCol {
      flex: 1;
      min-width: 0;
      height: 100%;
      display: flex;
      flex-direction: column;
      gap: 4px;
      overflow: hidden;
    }

    #controls {
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      gap: 4px;
      align-items: center;
      padding: 4px 6px 6px;
      background: var(--panel);
      border-radius: 8px;
      border: 1px solid #2a3344;
    }

    .move-row {
      display: flex;
      gap: 4px;
      flex-wrap: wrap;
      justify-content: center;
      width: 100%;
    }

    button {
      border: none;
      border-radius: 6px;
      padding: 6px 10px;
      font-size: 13px;
      font-weight: 600;
      cursor: pointer;
      background: #37425c;
      color: #fff;
      box-shadow: 0 2px 0 #1a2130;
      transition: transform .06s, background .15s, box-shadow .06s;
      min-width: 38px;
      letter-spacing: .3px;
      flex-shrink: 0;
    }
    button:hover { background: #46557a; }
    button:active { transform: translateY(2px); box-shadow: 0 0 0 #1a2130; }
    button.tool { background: #2f7a55; }
    button.tool:hover { background: #3b9768; }
    button.tool.warn { background: #8a3d3d; }
    button.tool.warn:hover { background: #a84c4c; }
    button.copy { background: #2a6e8f; }
    button.copy:hover { background: #3588ad; }
    #autoRunBtn { background: #7a3f8a; }
    #autoRunBtn:hover { background: #9550a8; }

    #seqInput {
      flex: 1;
      min-width: 60px;
      padding: 5px 8px;
      border-radius: 6px;
      border: 1px solid #4a5a7a;
      background: #161b26;
      color: #e8edf5;
      font-size: 12px;
      font-family: "Cascadia Code", "Consolas", monospace;
      width: 100%;
    }
    #seqInput:focus { outline: none; border-color: #6d88c8; }

    #seqRow {
      flex-wrap: nowrap;
      width: 100%;
    }

    #recordBox {
      flex: 1;
      min-height: 0;
      display: flex;
      flex-direction: column;
      gap: 2px;
      overflow: hidden;
    }

    #recordTitle {
      font-size: 13px;
      font-weight: 700;
      color: #cfd9ea;
      letter-spacing: 0.5px;
      text-align: center;
      flex-shrink: 0;
      margin: 0;
    }

    #recordPanel {
      background: var(--panel);
      border: 1px solid #2a3344;
      border-radius: 8px;
      padding: 6px 10px;
      font-family: "Cascadia Code", "Consolas", "Courier New", monospace;
      font-size: 11px;
      line-height: 1.5;
      color: #cfd9ea;
      white-space: pre-wrap;
      word-break: break-all;
      flex: 1;
      min-height: 0;
      overflow: auto;
      margin: 0;
    }

    #copyBtn { width: 100%; flex-shrink: 0; padding: 5px 0; font-size: 12px; }

    @media (max-width: 860px) {
      body { padding: 4px 6px 6px; }
      #main { flex-direction: column; gap: 6px; }
      #leftCol { flex: 0 0 55vh; width: 100%; }
      #rightCol { flex: 1; min-height: 260px; }
      #controls { padding: 4px; }
      button { padding: 5px 8px; font-size: 12px; min-width: 34px; }
      #stage { height: 100%; }
      #recordPanel { font-size: 10px; padding: 4px 8px; }
      h1 { font-size: 18px; }
    }

    @media (max-width: 480px) {
      #leftCol { flex: 0 0 45vh; }
      #seqRow { flex-wrap: wrap; }
      #seqInput { flex: 1 1 100%; }
    }
  </style>
</head>
<body>
  <h1>二十阶魔方</h1>
  <div id="status">加载中…</div>

  <div id="main">
    <div id="leftCol">
      <div id="stage"></div>
    </div>

    <div id="rightCol">
      <div id="controls">
        <div class="move-row">
          <button class="tool" id="scrambleBtn">打乱</button>
          <button class="tool warn" id="resetBtn">复原</button>
          <button class="tool" id="autoRunBtn">自动运行</button>
        </div>
        <div class="move-row" id="seqRow">
          <input id="seqInput" type="text" placeholder="操作序列,如 U2' F3 R19'" />
          <button class="tool" id="seqBtn">执行</button>
        </div>
      </div>

      <div id="recordBox">
        <div id="recordTitle">📋 棋谱</div>
        <button class="tool copy" id="copyBtn">📋 一键复制棋谱</button>
        <pre id="recordPanel"></pre>
      </div>
    </div>
  </div>

<script type="importmap">
{
  "imports": {
    "three": "https://cdn.jsdelivr.net/npm/three@0.160.0/build/three.module.js"
  }
}
</script>

<script type="module">
import * as THREE from 'three';

// ---------- 场景 ----------
const stage = document.getElementById('stage');
const statusEl = document.getElementById('status');
const recordPanel = document.getElementById('recordPanel');
const copyBtn = document.getElementById('copyBtn');

const renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true });
renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));

function resizeRenderer() {
  const w = stage.clientWidth;
  const h = stage.clientHeight;
  if (w > 0 && h > 0) {
    renderer.setSize(w, h, false);
    camera.aspect = w / h;
    camera.updateProjectionMatrix();
  }
}

stage.appendChild(renderer.domElement);

const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(30, stage.clientWidth / stage.clientHeight, 0.1, 100);
camera.position.set(38, 29, 48);
camera.lookAt(0, 0, 0);

scene.add(new THREE.AmbientLight(0xffffff, 0.9));
const light1 = new THREE.DirectionalLight(0xffffff, 1.3);
light1.position.set(5, 9, 6);
scene.add(light1);
const light2 = new THREE.DirectionalLight(0xffffff, 0.45);
light2.position.set(-4, -3, -2);
scene.add(light2);

// ---------- 颜色 ----------
const COL_HEX = {
  U: '#f5f5f5',
  D: '#ffd500',
  R: '#3b82f6',
  L: '#3aab4e',
  F: '#e33c3c',
  B: '#ff8c1a'
};
const COL_CHAR = { U: 'W', D: 'Y', R: 'B', L: 'G', F: 'R', B: 'O' };

// ---------- 二十阶坐标 ----------
const N = 20;
const OUT = 9.5;
const POSITIONS = [];
for (let i = 0; i < N; i++) {
  POSITIONS.push(-9.5 + i);
}
const SIZE = 0.82;

const AXIS_MAP = {
  U: { axis: 'y', side: 1, vec: new THREE.Vector3(0, 1, 0) },
  D: { axis: 'y', side: -1, vec: new THREE.Vector3(0, -1, 0) },
  R: { axis: 'x', side: 1, vec: new THREE.Vector3(1, 0, 0) },
  L: { axis: 'x', side: -1, vec: new THREE.Vector3(-1, 0, 0) },
  F: { axis: 'z', side: 1, vec: new THREE.Vector3(0, 0, 1) },
  B: { axis: 'z', side: -1, vec: new THREE.Vector3(0, 0, -1) }
};

const FACE_SIGN = {
  'R': -1, 'L': 1, 'U': -1, 'D': 1, 'F': -1, 'B': 1
};

function buildLayerDefs() {
  const defs = {};
  const faces = ['U','D','R','L','F','B'];
  for (const f of faces) {
    const base = AXIS_MAP[f];
    for (let layer = 1; layer <= N-1; layer++) {
      const key = layer === 1 ? f : f + layer;
      let targets;
      if (base.side === 1) {
        targets = POSITIONS.slice(N - layer);
      } else {
        targets = POSITIONS.slice(0, layer);
      }
      defs[key] = {
        axis: base.axis,
        targets: targets,
        face: f,
        sign: FACE_SIGN[f]
      };
    }
  }
  return defs;
}

const LAYER_DEFS = buildLayerDefs();

const ROT_DEF = {
  x: { axis: 'x' },
  y: { axis: 'z' },
  z: { axis: 'y' }
};

const FACE_ORDER = ['U','D','L','R','F','B'];

// ---------- 贴纸纹理 ----------
function roundedRect(ctx, x, y, w, h, r) {
  ctx.beginPath();
  ctx.moveTo(x + r, y);
  ctx.arcTo(x + w, y,     x + w, y + h, r);
  ctx.arcTo(x + w, y + h, x,     y + h, r);
  ctx.arcTo(x,     y + h, x,     y,     r);
  ctx.arcTo(x,     y,     x + w, y,     r);
  ctx.closePath();
}

function makeStickerTexture(hex) {
  const size = 128;
  const canvas = document.createElement('canvas');
  canvas.width = canvas.height = size;
  const ctx = canvas.getContext('2d');
  ctx.fillStyle = '#0b0b0d';
  roundedRect(ctx, 0, 0, size, size, 14);
  ctx.fill();
  const m = 17;
  ctx.fillStyle = hex;
  roundedRect(ctx, m, m, size - 2 * m, size - 2 * m, 9);
  ctx.fill();
  const tex = new THREE.CanvasTexture(canvas);
  tex.colorSpace = THREE.SRGBColorSpace;
  tex.anisotropy = 4;
  return tex;
}

const TEX = {};
for (const f in COL_HEX) TEX[f] = makeStickerTexture(COL_HEX[f]);

const blackPlastic = new THREE.MeshStandardMaterial({ color: 0x0a0a0c, roughness: 0.62, metalness: 0.08 });
function stickerMaterial(face) {
  return new THREE.MeshStandardMaterial({ map: TEX[face], roughness: 0.3, metalness: 0.05 });
}

// ---------- 表面块(含逻辑状态) ----------
let cubies = [];

function createCubie(x, y, z) {
  const mats = [
    x ===  OUT ? stickerMaterial('R') : blackPlastic,
    x === -OUT ? stickerMaterial('L') : blackPlastic,
    y ===  OUT ? stickerMaterial('U') : blackPlastic,
    y === -OUT ? stickerMaterial('D') : blackPlastic,
    z ===  OUT ? stickerMaterial('F') : blackPlastic,
    z === -OUT ? stickerMaterial('B') : blackPlastic
  ];
  const geo = new THREE.BoxGeometry(SIZE, SIZE, SIZE);
  const mesh = new THREE.Mesh(geo, mats);
  mesh.position.set(x, y, z);
  scene.add(mesh);

  const colors = {
    px: x ===  OUT ? COL_CHAR.R : null,
    nx: x === -OUT ? COL_CHAR.L : null,
    py: y ===  OUT ? COL_CHAR.U : null,
    ny: y === -OUT ? COL_CHAR.D : null,
    pz: z ===  OUT ? COL_CHAR.F : null,
    nz: z === -OUT ? COL_CHAR.B : null
  };

  return {
    mesh,
    home: new THREE.Vector3(x, y, z),
    colors,
    pos: new THREE.Vector3(x, y, z),
    quat: new THREE.Quaternion()
  };
}

function buildCube() {
  cubies.forEach(c => scene.remove(c.mesh));
  cubies = [];
  for (const x of POSITIONS)
    for (const y of POSITIONS)
      for (const z of POSITIONS) {
        if (Math.abs(x) === OUT || Math.abs(y) === OUT || Math.abs(z) === OUT) {
          cubies.push(createCubie(x, y, z));
        }
      }
}

// ---------- 无动画即时旋转 ----------
const AXIS_VEC = {
  x: new THREE.Vector3(1, 0, 0),
  y: new THREE.Vector3(0, 1, 0),
  z: new THREE.Vector3(0, 0, 1)
};

function snap(v) { return Math.round(v * 2) / 2; }

function rotateCubie(c, axis, angle) {
  const q = new THREE.Quaternion().setFromAxisAngle(AXIS_VEC[axis], angle);
  c.pos.applyQuaternion(q);
  c.pos.x = snap(c.pos.x);
  c.pos.y = snap(c.pos.y);
  c.pos.z = snap(c.pos.z);
  c.quat.premultiply(q);
}

function selectCubiesForLayer(faceKey) {
  const def = LAYER_DEFS[faceKey];
  if (!def) return [];
  return cubies.filter(c => {
    const val = c.pos[def.axis];
    return def.targets.some(t => Math.abs(val - t) < 0.01);
  });
}

function applyInstantMove(faceKey, dir) {
  if (ROT_DEF[faceKey]) {
    const axis = ROT_DEF[faceKey].axis;
    const angle = -dir * Math.PI / 2;
    cubies.forEach(c => rotateCubie(c, axis, angle));
    return;
  }
  const def = LAYER_DEFS[faceKey];
  if (!def) return;
  const selected = selectCubiesForLayer(faceKey);
  const angle = dir * def.sign * Math.PI / 2;
  selected.forEach(c => rotateCubie(c, def.axis, angle));
}

function syncMeshes() {
  for (const c of cubies) {
    c.mesh.position.copy(c.pos);
    c.mesh.quaternion.copy(c.quat);
  }
}

// ---------- 工具函数 ----------
function axisToKey(v) {
  const ax = Math.abs(v.x), ay = Math.abs(v.y), az = Math.abs(v.z);
  if (ax >= ay && ax >= az) return v.x >= 0 ? 'px' : 'nx';
  if (ay >= ax && ay >= az) return v.y >= 0 ? 'py' : 'ny';
  return v.z >= 0 ? 'pz' : 'nz';
}

function isSolved() {
  const st = getState();
  for (const f of FACE_ORDER) {
    const s = st[f];
    if (!s || s.length !== N*N) return false;
    for (let i = 1; i < N*N; i++) {
      if (s[i] !== s[0]) return false;
    }
  }
  return true;
}

// ---------- 局面读取(基于逻辑状态) ----------
function getFaceSlots(face) {
  const s = [];
  for (let r = 0; r < N; r++)
    for (let c = 0; c < N; c++) {
      const x = c - (N-1)/2;
      const yTop = (N-1)/2 - r;
      const z = r - (N-1)/2;
      let p;
      if (face === 'U')      p = [x,  OUT, z];
      else if (face === 'D') p = [x, -OUT, z];
      else if (face === 'F') p = [x, yTop,  OUT];
      else if (face === 'B') p = [-x, yTop, -OUT];
      else if (face === 'R') p = [OUT, yTop, -x];
      else                   p = [-OUT, yTop, x];
      s.push(new THREE.Vector3(p[0], p[1], p[2]));
    }
  return s;
}

function faceColorString(face) {
  const slots = getFaceSlots(face);
  const n = AXIS_MAP[face].vec;
  let out = '';
  for (const p of slots) {
    const cubie = cubies.find(c => c.pos.distanceTo(p) < 0.01);
    if (!cubie) { out += '?'; continue; }
    const n0 = n.clone().applyQuaternion(cubie.quat.clone().invert());
    out += cubie.colors[axisToKey(n0)] || '?';
  }
  return out;
}

function getState() {
  const state = {};
  for (const f of FACE_ORDER) state[f] = faceColorString(f);
  return state;
}

function stateToText(state) {
  return FACE_ORDER.map(f => f + ': ' + state[f]).join('\n');
}

function moveNotation(m) {
  return m.face + (m.dir === -1 ? "'" : '');
}

// 每 1000 个操作换行一次,单个操作(如 R19')不被换行符打断
function seqToText(seq) {
  if (!seq.length) return '(无)';
  const lines = [];
  let cur = [];
  for (const m of seq) {
    cur.push(moveNotation(m));
    if (cur.length === 1000) {
      lines.push(cur.join(' '));
      cur = [];
    }
  }
  if (cur.length) lines.push(cur.join(' '));
  return lines.join('\n');
}

// ---------- 棋谱 ----------
let moveCount = 0;
let scrambleSeq = [];
let userSeq = [];
let initialState = null;

function buildRecordText() {
  const lines = [];
  lines.push('二十阶魔方棋谱 · 层操作');
  lines.push('');
  lines.push('【打乱序列】');
  lines.push(seqToText(scrambleSeq));
  lines.push('');
  lines.push('【初始局面(打乱后)】');
  lines.push(initialState ? stateToText(initialState) : '(打乱中…)');
  lines.push('');
  lines.push('【当前局面】');
  lines.push(stateToText(getState()));
  lines.push('');
  lines.push('【完整操作序列】');
  lines.push(seqToText([...scrambleSeq, ...userSeq]));
  return lines.join('\n');
}

function updateRecordPanel() {
  recordPanel.textContent = buildRecordText();
}

function refreshVisual() {
  syncMeshes();
  updateRecordPanel();
}

async function copyRecord() {
  const text = buildRecordText();
  let ok = false;
  try {
    await navigator.clipboard.writeText(text);
    ok = true;
  } catch (e) {
    const ta = document.createElement('textarea');
    ta.value = text;
    ta.style.position = 'fixed';
    ta.style.opacity = '0';
    document.body.appendChild(ta);
    ta.select();
    try { ok = document.execCommand('copy'); } catch (_) {}
    ta.remove();
  }
  const old = copyBtn.textContent;
  copyBtn.textContent = ok ? '✅ 已复制' : '❌ 复制失败';
  setTimeout(() => { copyBtn.textContent = old; }, 1500);
}

// ---------- 序列解析与执行 ----------
function parseSequence(text) {
  const normalized = text.replace(/[’′]/g, "'");
  const tokens = normalized.trim().split(/[\s,,]+/).filter(Boolean);
  const moves = [];
  const errors = [];
  for (const raw of tokens) {
    let m = raw.match(/^([URFDLB])(1[0-9]|[2-9])?([''])?$/);
    if (m) {
      const letter = m[1];
      const layerNum = m[2] || '';
      const dir = m[3] === "'" ? -1 : 1;
      let faceKey = layerNum === '' ? letter : letter + layerNum;
      if (!LAYER_DEFS[faceKey]) {
        errors.push('未知操作: ' + raw);
        continue;
      }
      moves.push({ face: faceKey, dir });
      continue;
    }
    const rotMatch = raw.match(/^([xyz])([''])?$/);
    if (rotMatch) {
      moves.push({ face: rotMatch[1], dir: rotMatch[2] === "'" ? -1 : 1 });
      continue;
    }
    errors.push('无法解析: ' + raw);
  }
  return { moves, errors };
}

async function executeSequence(text) {
  const { moves, errors } = parseSequence(text);
  if (errors.length > 0) {
    statusEl.textContent = '❌ 非法输入: ' + errors.join('; ');
    statusEl.classList.add('error');
    statusEl.classList.remove('solved');
    return;
  }
  if (moves.length === 0) {
    statusEl.textContent = '⚠️ 未检测到有效操作';
    statusEl.classList.remove('solved', 'error');
    return;
  }

  statusEl.classList.remove('error');

  for (let i = 0; i < moves.length; i++) {
    const mv = moves[i];
    const isRot = !!ROT_DEF[mv.face];

    applyInstantMove(mv.face, mv.dir);
    userSeq.push({ face: mv.face, dir: mv.dir });
    if (!isRot) moveCount++;

    const isChunkEnd = (i + 1) % 100 === 0;
    const isLast = i === moves.length - 1;
    if (isChunkEnd || isLast) {
      refreshVisual();
      await new Promise(r => setTimeout(r, 0));
    }
  }

  if (isSolved()) {
    statusEl.textContent = '🎉 已复原!共用了 ' + moveCount + ' 步';
    statusEl.classList.add('solved');
    statusEl.classList.remove('error');
  } else {
    statusEl.textContent = '序列执行完成(' + moves.length + ' 步操作)';
    statusEl.classList.remove('solved', 'error');
  }
}

// ---------- 自动运行 ----------
const SERVER = 'http://localhost:3000';

async function autoRun() {
  const stateText = stateToText(getState());
  try {
    const res = await fetch(SERVER + '/write-input', {
      method: 'POST',
      headers: { 'Content-Type': 'text/plain; charset=utf-8' },
      body: stateText
    });
    if (!res.ok) throw new Error('write failed');
  } catch (e) {
    statusEl.textContent = '❌ 无法连接本地服务,请先运行 server.js 并从 http://localhost:3000 打开页面';
    statusEl.classList.add('error');
    statusEl.classList.remove('solved');
    return;
  }
  statusEl.textContent = '已写入 D:/cubeInput.txt,等待 D:/cubeOutput.txt…';
  statusEl.classList.remove('solved', 'error');

  let content = '';
  const maxWait = 120000;
  const start = performance.now();
  while (true) {
    if (performance.now() - start > maxWait) {
      statusEl.textContent = '等待 D:/cubeOutput.txt 超时';
      statusEl.classList.add('error');
      statusEl.classList.remove('solved');
      return;
    }
    try {
      const res = await fetch(SERVER + '/read-output');
      const data = await res.json();
      content = (data.content || '').trim();
    } catch (e) {}
    if (content) break;
    await new Promise(r => setTimeout(r, 500));
  }

  await executeSequence(content);
}

// ---------- 打乱 / 复原 ----------
function resetCubeInternal() {
  cubies.forEach(c => {
    c.pos.copy(c.home);
    c.quat.identity();
  });
  syncMeshes();
}

function generateScramble(n = 100) {
  const faces = Object.keys(LAYER_DEFS);
  const seq = [];
  let last = null;
  for (let i = 0; i < n; i++) {
    let f, d;
    do {
      f = faces[Math.floor(Math.random() * faces.length)];
      d = Math.random() < 0.5 ? 1 : -1;
    } while (last && last === f);
    seq.push({ face: f, dir: d });
    last = f;
  }
  return seq;
}

async function scramble() {
  resetCubeInternal();
  userSeq = [];
  initialState = null;
  moveCount = 0;
  statusEl.textContent = '打乱中…';
  statusEl.classList.remove('solved', 'error');

  scrambleSeq = generateScramble(100);
  if (scrambleSeq.length === 0) {
    statusEl.textContent = '打乱序列为空';
    return;
  }

  for (let i = 0; i < scrambleSeq.length; i++) {
    applyInstantMove(scrambleSeq[i].face, scrambleSeq[i].dir);
    const isChunkEnd = (i + 1) % 100 === 0;
    const isLast = i === scrambleSeq.length - 1;
    if (isChunkEnd || isLast) {
      refreshVisual();
      await new Promise(r => setTimeout(r, 0));
    }
  }

  initialState = getState();
  moveCount = 0;
  statusEl.textContent = '已打乱,开始复原吧';
  statusEl.classList.remove('error');
}

function resetCube() {
  resetCubeInternal();
  moveCount = 0;
  scrambleSeq = [];
  userSeq = [];
  initialState = null;
  statusEl.textContent = '已还原到初始状态';
  statusEl.classList.remove('solved', 'error');
  refreshVisual();
}

// ---------- 按钮 & 键盘 ----------
function buildButtons() {
  document.getElementById('scrambleBtn').addEventListener('click', scramble);
  document.getElementById('resetBtn').addEventListener('click', resetCube);
  copyBtn.addEventListener('click', copyRecord);

  const seqInput = document.getElementById('seqInput');
  const seqBtn = document.getElementById('seqBtn');
  seqBtn.addEventListener('click', () => executeSequence(seqInput.value));
  seqInput.addEventListener('keydown', e => {
    if (e.key === 'Enter') {
      e.preventDefault();
      executeSequence(seqInput.value);
    }
  });

  document.getElementById('autoRunBtn').addEventListener('click', autoRun);

  window.addEventListener('keydown', e => {
    const key = e.key.toUpperCase();
    if (/^[URFDLB]$/.test(key)) {
      const dir = e.shiftKey ? -1 : 1;
      applyInstantMove(key, dir);
      userSeq.push({ face: key, dir });
      moveCount++;
      refreshVisual();
      if (isSolved()) {
        statusEl.textContent = '🎉 已复原!共用了 ' + moveCount + ' 步';
        statusEl.classList.add('solved');
        statusEl.classList.remove('error');
      } else {
        statusEl.textContent = '步数:' + moveCount;
        statusEl.classList.remove('solved', 'error');
      }
      return;
    }
    if (/^[XYZ]$/.test(key)) {
      const face = key.toLowerCase();
      const dir = e.shiftKey ? -1 : 1;
      applyInstantMove(face, dir);
      userSeq.push({ face, dir });
      refreshVisual();
      return;
    }
  });
}

// ---------- 渲染循环 ----------
function animate() {
  requestAnimationFrame(animate);
  renderer.render(scene, camera);
}

// ---------- 窗口自适应 ----------
function onResize() {
  resizeRenderer();
}

window.addEventListener('resize', onResize);

const ro = new ResizeObserver(() => { resizeRenderer(); });
ro.observe(stage);

// ---------- 启动 ----------
buildCube();
buildButtons();
statusEl.textContent = '已就绪';
updateRecordPanel();
setTimeout(() => {
  scramble();
}, 100);
animate();

setTimeout(resizeRenderer, 50);
</script>
</body>
</html>

2,自动复原

花费的步数已经超过2万步了,恐怖如斯!

【完整操作序列】
L5' D7 U5' B14' R13 B10 F11 B3 F14 R16' L12' L7' L18' L16' L17 B19' L10' L5 R13 D18 F17 B7 L4 U5 B16 U10 D5' L6 F2 R13' B19' U2 D9 U12 B17 B13 U16 R6' U13' U19 B D17 F8' D13' F17' D5' B15' R F18 U' F8 L6' R11' B13 L7 F18 R10' U15' L12' B4 R4 B15' B8' D8 B13' D14 D2' F17 U9' B3' L14' F4' R13' B14 U10' B4 B D16 R13' B15' F16' D12' D16 D2 F19' B18 U17' F6' F12' F13 F8' R14' B15' L15' B16 L12' U13 D16 R12 L12 z' x U U L10' U' L10 U' L10' U U L10 z F F U U L10' U' L10 U' L10' U U L10 F F U L10' U' L10 U' L10' U U L10 z' x x F F U L10' U' L10 U' L10' U U L10 F F z F' U U L10' U' L10 U' L10' U U L10 F z x z F F U L10' U' L10 U' L10' U U L10 F F x' F' U L10' U' L10 U' L10' U U L10 F z z F U L10' U' L10 U' L10' U U L10 F U L10' U' L10 U' L10' U U L10 F U L10' U' L10 U' L10' U U L10 F x x F U L10' U' L10 U' L10' U U L10 F' x' F' U' L10' U' L10 U' L10' U U L10 F U' L10' U' L10 U' L10' U U L10 x F F U U L10' U' L10 U' L10' U U L10 F F z x x F R11 R10' U R9 R8' U' R11' R10 U R9' F' x' F' U U R11 R10' U R9 R8' U' R11' R10 U R9' F z F' U U R10 R9' U R9 R8' U' R10' R9 U R9' F z z F F U U R11 R10' U R9 R8' U' R11' R10 U R9' F F U' R10 R9' U R9 R8' U' R10' R9 U R9' z x x z F' R10 R9' U R9 R8' U' R10' R9 U R9' F R11 R10' U R9 R8' U' R11' R10 U R9' z U U R10 R9' U R9 R8' U' R10' R9 U R9' z F U' R11 R10' U R9 R8' U' R11' R10 U R9' F' x z x' F U R10 R9' U R9 R8' U' R10' R9 U R9' F R11 R10' U R9 R8' U' R11' R10 U R9' F F R11 R10' U R9 R8' U' R11' R10 U R9' z z F F U' R11 R10' U R9 R8' U' R11' R10 U R9' R10 R9' U R9 R8' U' R10' R9 U R9' F F x x F U R11 R10' U R9 R8' U' R11' R10 U R9' F' R10 R9' U R9 R8' U' R10' R9 U R9' x' F R11 R10' U R9 R8' U' R11' R10 U R9' F U U R11 R10' U R9 R8' U' R11' R10 U R9' F U R10 R9' U R9 R8' U' R10' R9 U R9' F U R10 R9' U R9 R8' U' R10' R9 U R9' x F F U U R10 R9' U R9 R8' U' R10' R9 U R9' F F U U R11 R10' U R9 R8' U' R11' R10 U R9' z x x F' U L9' U' L9 U' L9' U U L9 F x' F' U L9' U' L9 U' L9' U U L9 F z z F U L9' U' L9 U' L9' U U L9 F' z L9' U' L9 U' L9' U U L9 z x x F F U L9' U' L9 U' L9' U U L9 F F z z F F U L9' U' L9 U' L9' U U L9 F U L9' U' L9 U' L9' U U L9 F U L9' U' L9 U' L9' U U L9 z x z F F U U L9' U' L9 U' L9' U U L9 F F x' F U L9' U' L9 U' L9' U U L9 F U L9' U' L9 U' L9' U U L9 F U L9' U' L9 U' L9' U U L9 F z z F F U U L9' U' L9 U' L9' U U L9 F F x x F F U L9' U' L9 U' L9' U U L9 F F U L9' U' L9 U' L9' U U L9 x' F U L9' U' L9 U' L9' U U L9 F F U L9' U' L9 U' L9' U U L9 F U L9' U' L9 U' L9' U U L9 x F F U U L9' U' L9 U' L9' U U L9 F U' L9' U' L9 U' L9' U U L9 F z x x F F R12 R11' U R8 R7' U' R12' R11 U R8' R10 R9' U R8 R7' U' R10' R9 U R8' F R11 R10' U R8 R7' U' R11' R10 U R8' F x' F R12 R11' U R8 R7' U' R12' R11 U R8' F U U R10 R9' U R8 R7' U' R10' R9 U R8' F R11 R10' U R8 R7' U' R11' R10 U R8' F R11 R10' U R8 R7' U' R11' R10 U R8' z F R9 R8' U R8 R7' U' R9' R8 U R8' F U R9 R8' U R8 R7' U' R9' R8 U R8' F R11 R10' U R8 R7' U' R11' R10 U R8' U R10 R9' U R8 R7' U' R10' R9 U R8' F z F F R12 R11' U R8 R7' U' R12' R11 U R8' F F R12 R11' U R8 R7' U' R12' R11 U R8' z F R12 R11' U R8 R7' U' R12' R11 U R8' F U R11 R10' U R8 R7' U' R11' R10 U R8' F F U U R9 R8' U R8
R7' U' R9' R8 U R8' z x x F' R11 R10' U R8 R7' U' R11' R10 U R8' F R12 R11' U R8 R7' U' R12' R11 U R8' U R9 R8' U R8 R7' U' R9' R8 U R8' z F U R10 R9' U R8 R7' U' R10' R9 U R8' R10 R9' U R8 R7' U' R10' R9 U R8' F R12 R11' U R8 R7' U' R12' R11 U R8' R11 R10' U R8 R7' U' R11' R10 U R8' F F U U R9 R8' U R8 R7' U' R9' R8 U R8' z F R12 R11' U R8 R7' U' R12' R11 U R8' F' R11 R10' U R8 R7' U' R11' R10 U R8' z F F U U R12 R11' U R8 R7' U' R12' R11 U R8' U R9 R8' U R8 R7' U' R9' R8 U R8' F R11 R10' U R8 R7' U' R11' R10 U R8' F x z F F R11 R10' U R8 R7' U' R11' R10 U R8' F R10 R9' U R8 R7' U' R10' R9 U R8' F x' F R11 R10' U R8 R7' U' R11' R10 U R8' R10 R9' U R8 R7' U' R10' R9 U R8' F R12 R11' U R8 R7' U' R12' R11 U R8' R11 R10' U R8 R7' U' R11' R10 U R8' R9 R8' U R8 R7' U' R9' R8 U R8' F R12 R11' U R8 R7' U' R12' R11 U R8' U' R11 R10' U R8 R7' U' R11' R10 U R8' R10 R9' U R8 R7' U' R10' R9 U R8' F R9 R8' U R8 R7' U' R9' R8 U R8' z z F U R10 R9' U R8 R7' U' R10' R9 U R8' R10 R9' U R8 R7' U' R10' R9 U R8' F F U R9 R8' U R8 R7' U' R9' R8 U R8' F x x F F U U R9 R8' U R8 R7' U' R9' R8 U R8' F F x' F R12 R11' U R8 R7' U' R12' R11 U R8' U R12 R11' U R8 R7' U' R12' R11 U R8' R10 R9' U R8 R7' U' R10' R9 U R8' R9 R8' U R8 R7' U' R9' R8 U R8' F R11 R10' U R8 R7' U' R11' R10 U R8' U' R10 R9' U R8 R7' U' R10' R9 U R8' R9 R8' U R8 R7' U' R9' R8 U R8' F R11 R10' U R8 R7' U' R11' R10 U R8' U' R9 R8' U R8 R7' U' R9' R8 U R8' F R11 R10' U R8 R7' U' R11' R10 U R8' x F U R11 R10' U R8 R7' U' R11' R10 U R8' U R10 R9' U R8 R7' U' R10' R9 U R8' R10 R9' U R8 R7' U' R10' R9 U R8' U R9 R8' U R8 R7' U' R9' R8 U R8' F R12 R11' U R8 R7' U' R12' R11 U R8' U' R11 R10' U R8 R7' U' R11' R10 U R8' F U' R9 R8' U R8 R7' U' R9' R8 U R8' F U U R12 R11' U R8 R7' U' R12' R11 U R8' z x F F U L8' U' L8 U' L8' U U L8 F F z F U U L8' U' L8 U' L8' U U L8 F' z F F U U L8' U' L8 U' L8' U U L8 F F z z x x z F F U L8' U' L8 U' L8' U U L8 F F z F' U U L8' U' L8 U' L8' U U L8 F z L8' U' L8 U' L8' U U L8 x z x' F' U L8' U' L8 U' L8' U U L8 F z z F' U L8' U' L8 U' L8' U U L8 F x x F' U L8' U' L8 U' L8' U U L8 F U' L8' U' L8 U' L8' U U L8 x' F U L8' U' L8 U' L8' U U L8 F U L8' U' L8 U' L8' U U L8 F U L8' U' L8 U' L8' U U L8 F L8' U' L8 U' L8' U U L8 x F U L8' U' L8 U' L8' U U L8 F U' L8' U' L8 U' L8' U U L8 F F z x x F R13 R12' U R7 R6' U' R13' R12 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' F R8 R7' U R7 R6' U' R8' R7 U R7' F F U R9 R8' U R7 R6' U' R9' R8 U R7' R8 R7' U R7 R6' U' R8' R7 U R7' x' F R12 R11' U R7 R6' U' R12' R11 U R7' R9 R8' U R7 R6' U' R9' R8 U R7' F U R13 R12' U R7 R6' U' R13' R12 U R7' R9 R8' U R7 R6' U' R9' R8 U R7' F R10 R9' U R7 R6' U' R10' R9 U R7' R9 R8' U R7 R6' U' R9' R8 U R7' R8 R7' U R7 R6' U' R8' R7 U R7' F R8 R7' U R7 R6' U' R8' R7 U R7' z F F U' R13 R12' U R7 R6' U' R13' R12 U R7' F R12 R11' U R7 R6' U' R12' R11 U R7' R11 R10' U R7 R6' U' R11' R10 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' U U R9 R8' U R7 R6' U' R9' R8 U R7' F R11 R10' U R7 R6' U' R11' R10 U R7' U R8 R7' U R7 R6' U' R8' R7 U R7' z F U' R12 R11' U R7 R6' U' R12' R11 U R7' F' U R11 R10' U R7 R6' U' R11' R10 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' z F U U R11 R10' U R7
R6' U' R11' R10 U R7' F' z x x F F R13 R12' U R7 R6' U' R13' R12 U R7' R12 R11' U R7 R6' U' R12' R11 U R7' R9 R8' U R7 R6' U' R9' R8 U R7' F R9 R8' U R7 R6' U' R9' R8 U R7' F R10 R9' U R7 R6' U' R10' R9 U R7' z F U U R9 R8' U R7 R6' U' R9' R8 U R7' F U R13 R12' U R7 R6' U' R13' R12 U R7' U U R9 R8' U R7 R6' U' R9' R8 U R7' F U R13 R12' U R7 R6' U' R13' R12 U R7' R11 R10' U R7 R6' U' R11' R10 U R7' F R11 R10' U R7 R6' U' R11' R10 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' U R8 R7' U R7 R6' U' R8' R7 U R7' z F U R10 R9' U R7 R6' U' R10' R9 U R7' F U R10 R9' U R7 R6' U' R10' R9 U R7' F U' R8 R7' U R7 R6' U' R8' R7 U R7' F z F F R12 R11' U R7 R6' U' R12' R11 U R7' U' R11 R10' U R7 R6' U' R11' R10 U R7' F F x z F U R12 R11' U R7 R6' U' R12' R11 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' R9 R8' U R7 R6' U' R9' R8 U R7' R9 R8' U R7 R6' U' R9' R8 U R7' F' R11 R10' U R7 R6' U' R11' R10 U R7' x' F U U R9 R8' U R7 R6' U' R9' R8 U R7' F R12 R11' U R7 R6' U' R12' R11 U R7' U' R9 R8' U R7 R6' U' R9' R8 U R7' F R12 R11' U R7 R6' U' R12' R11 U R7' R11 R10' U R7 R6' U' R11' R10 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' U R8 R7' U R7 R6' U' R8' R7 U R7' F U R11 R10' U R7 R6' U' R11' R10 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' z z F R13 R12' U R7 R6' U' R13' R12 U R7' R11 R10' U R7 R6' U' R11' R10 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' F R12 R11' U R7 R6' U' R12' R11 U R7' R8 R7' U R7 R6' U' R8' R7 U R7' F U U R13 R12' U R7 R6' U' R13' R12 U R7' R12 R11' U R7 R6' U' R12' R11 U R7' U R11 R10' U R7 R6' U' R11' R10 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' U' R8 R7' U R7 R6' U' R8' R7 U R7' F x x F R13 R12' U R7 R6' U' R13' R12 U R7' R11 R10' U R7 R6' U' R11' R10 U R7' R11 R10' U R7 R6' U' R11' R10 U R7' F R11 R10' U R7 R6' U' R11' R10 U R7' F R11 R10' U R7 R6' U' R11' R10 U R7' U R10 R9' U R7 R6' U' R10' R9 U R7' R9 R8' U R7 R6' U' R9' R8 U R7' F R10 R9' U R7 R6' U' R10' R9 U R7' x' F R11 R10' U R7 R6' U' R11' R10 U R7' R11 R10' U R7 R6' U' R11' R10 U R7' U R10 R9' U R7 R6' U' R10' R9 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' R9 R8' U R7 R6' U' R9' R8 U R7' F U R13 R12' U R7 R6' U' R13' R12 U R7' R12 R11' U R7 R6' U' R12' R11 U R7' U R11 R10' U R7 R6' U' R11' R10 U R7' U R9 R8' U R7 R6' U' R9' R8 U R7' F R13 R12' U R7 R6' U' R13' R12 U R7' R12 R11' U R7 R6' U' R12' R11 U R7' R11 R10' U R7 R6' U' R11' R10 U R7' U R10 R9' U R7 R6' U' R10' R9 U R7' R9 R8' U R7 R6' U' R9' R8 U R7' R8 R7' U R7 R6' U' R8' R7 U R7' F R13 R12' U R7 R6' U' R13' R12 U R7' U U R12 R11' U R7 R6' U' R12' R11 U R7' U R8 R7' U R7 R6' U' R8' R7 U R7' x F U' R12 R11' U R7 R6' U' R12' R11 U R7' R11 R10' U R7 R6' U' R11' R10 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' F U' R11 R10' U R7 R6' U' R11' R10 U R7' R10 R9' U R7 R6' U' R10' R9 U R7' U R9 R8' U R7 R6' U' R9' R8 U R7' U R8 R7' U R7 R6' U' R8' R7 U R7' F R13 R12' U R7 R6' U' R13' R12 U R7' U' R10 R9' U R7 R6' U' R10' R9 U R7' F U U R13 R12' U R7 R6' U' R13' R12 U R7' U' R9 R8' U R7 R6' U' R9' R8 U R7' R8 R7' U R7 R6' U' R8' R7 U R7' z x x F' U L7' U' L7 U' L7' U U L7 F U L7' U' L7 U' L7' U U L7 x' F' U U L7' U' L7 U' L7' U U L7 F U L7' U' L7 U' L7' U U L7 z' U U L7' U' L7 U' L7' U U L7 z x x F F U L7' U' L7 U' L7' U U L7 F F z U U L7' U' L7 U' L7' U U L7 z F U U L7' U' L7 U' L7' U U L7 F U L7' U' L7 U' L7'
U U L7 F F z x z x' F F U L7' U' L7 U' L7' U U L7 F F z z U L7' U' L7 U' L7' U U L7 x x F F U L7' U' L7 U' L7' U U L7 F U L7' U' L7 U' L7' U U L7 F x' F' U L7' U' L7 U' L7' U U L7 F L7' U' L7 U' L7' U U L7 x F' U L7' U' L7 U' L7' U U L7 F L7' U' L7 U' L7' U U L7 z x x F F R8 R7' U R6 R5' U' R8' R7 U R6' F R9 R8' U R6 R5' U' R9' R8 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' F R11 R10' U R6 R5' U' R11' R10 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' x' F R10 R9' U R6 R5' U' R10' R9 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' F R14 R13' U R6 R5' U' R14' R13 U R6' R11 R10' U R6 R5' U' R11' R10 U R6' F U R14 R13' U R6 R5' U' R14' R13 U R6' R13 R12' U R6 R5' U' R13' R12 U R6' R8 R7' U R6 R5' U' R8' R7 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' F R13 R12' U R6 R5' U' R13' R12 U R6' U R12 R11' U R6 R5' U' R12' R11 U R6' R11 R10' U R6 R5' U' R11' R10 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' z F F R14 R13' U R6 R5' U' R14' R13 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' F U U R13 R12' U R6 R5' U' R13' R12 U R6' R12 R11' U R6 R5' U' R12' R11 U R6' F R10 R9' U R6 R5' U' R10' R9 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' z F U R12 R11' U R6 R5' U' R12' R11 U R6' F U U R13 R12' U R6 R5' U' R13' R12 U R6' U R10 R9' U R6 R5' U' R10' R9 U R6' F U U R11 R10' U R6 R5' U' R11' R10 U R6' F R11 R10' U R6 R5' U' R11' R10 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' U R8 R7' U R6 R5' U' R8' R7 U R6' U R7 R6' U R6 R5' U' R7' R6 U R6' z F' U R9 R8' U R6 R5' U' R9' R8 U R6' F R10 R9' U R6 R5' U' R10' R9 U R6' z x x F F R10 R9' U R6 R5' U' R10' R9 U R6' F R12 R11' U R6 R5' U' R12' R11 U R6' F R8 R7' U R6 R5' U' R8' R7 U R6' z F R11 R10' U R6 R5' U' R11' R10 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' U U R8 R7' U R6 R5' U' R8' R7 U R6' F R7 R6' U R6 R5' U' R7' R6 U R6' F R14 R13' U R6 R5' U' R14' R13 U R6' R13 R12' U R6 R5' U' R13' R12 U R6' U U R10 R9' U R6 R5' U' R10' R9 U R6' F R14 R13' U R6 R5' U' R14' R13 U R6' U U R7 R6' U R6 R5' U' R7' R6 U R6' z F R14 R13' U R6 R5' U' R14' R13 U R6' R11 R10' U R6 R5' U' R11' R10 U R6' F R9 R8' U R6 R5' U' R9' R8 U R6' F R10 R9' U R6 R5' U' R10' R9 U R6' F R12 R11' U R6 R5' U' R12' R11 U R6' U U R9 R8' U R6 R5' U' R9' R8 U R6' U R8 R7' U R6 R5' U' R8' R7 U R6' z F U U R14 R13' U R6 R5' U' R14' R13 U R6' R13 R12' U R6 R5' U' R13' R12 U R6' U' R12 R11' U R6 R5' U' R12' R11 U R6' F U R9 R8' U R6 R5' U' R9' R8 U R6' F U R11 R10' U R6 R5' U' R11' R10 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' F U' R11 R10' U R6 R5' U' R11' R10 U R6' x z F R13 R12' U R6 R5' U' R13' R12 U R6' R11 R10' U R6 R5' U' R11' R10 U R6' R10 R9' U R6 R5' U' R10' R9 U R6' F R14 R13' U R6 R5' U' R14' R13 U R6' U R13 R12' U R6 R5' U' R13' R12 U R6' R11 R10' U R6 R5' U' R11' R10 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' F R10 R9' U R6 R5' U' R10' R9 U R6' F R14 R13' U R6 R5' U' R14' R13 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' x' F R13 R12' U R6 R5' U' R13' R12 U R6' R10 R9' U R6 R5' U' R10' R9 U R6' F R14 R13' U R6 R5' U' R14' R13 U R6' R13 R12' U R6 R5' U' R13' R12 U R6' U R12 R11' U R6 R5' U' R12' R11 U R6' R11 R10' U R6 R5' U' R11' R10 U R6' R10 R9' U R6 R5' U' R10' R9 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' F R13 R12' U R6 R5' U' R13' R12 U R6' R12 R11' U R6 R5' U' R12' R11 U R6' R11 R10' U R6 R5' U' R11' R10 U R6' R10 R9' U R6 R5' U' R10' R9 U R6' R9 R8' U R6 R5' U'
R9' R8 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' F U R14 R13' U R6 R5' U' R14' R13 U R6' U U R9 R8' U R6 R5' U' R9' R8 U R6' R8 R7' U R6 R5' U' R8' R7 U R6' z z F U R11 R10' U R6 R5' U' R11' R10 U R6' U R10 R9' U R6 R5' U' R10' R9 U R6' U U R8 R7' U R6 R5' U' R8' R7 U R6' R8 R7' U R6 R5' U' R8' R7 U R6' U R7 R6' U R6 R5' U' R7' R6 U R6' F R14 R13' U R6 R5' U' R14' R13 U R6' R13 R12' U R6 R5' U' R13' R12 U R6' F U U R11 R10' U R6 R5' U' R11' R10 U R6' F U R12 R11' U R6 R5' U' R12' R11 U R6' x x F R10 R9' U R6 R5' U' R10' R9 U R6' R10 R9' U R6 R5' U' R10' R9 U R6' F U R13 R12' U R6 R5' U' R13' R12 U R6' R12 R11' U R6 R5' U' R12' R11 U R6' R11 R10' U R6 R5' U' R11' R10 U R6' R10 R9' U R6 R5' U' R10' R9 U R6' R8 R7' U R6 R5' U' R8' R7 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' F R14 R13' U R6 R5' U' R14' R13 U R6' R11 R10' U R6 R5' U' R11' R10 U R6' U R9 R8' U R6 R5' U' R9' R8 U R6' U R7 R6' U R6 R5' U' R7' R6 U R6' F U R14 R13' U R6 R5' U' R14' R13 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' x' F R14 R13' U R6 R5' U' R14' R13 U R6' R13 R12' U R6 R5' U' R13' R12 U R6' U R13 R12' U R6 R5' U' R13' R12 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' R8 R7' U R6 R5' U' R8' R7 U R6' F U R14 R13' U R6 R5' U' R14' R13 U R6' R13 R12' U R6 R5' U' R13' R12 U R6' R12 R11' U R6 R5' U' R12' R11 U R6' R10 R9' U R6 R5' U' R10' R9 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' U' R8 R7' U R6 R5' U' R8' R7 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' F R14 R13' U R6 R5' U' R14' R13 U R6' R11 R10' U R6 R5' U' R11' R10 U R6' U R10 R9' U R6 R5' U' R10' R9 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' F U' R12 R11' U R6 R5' U' R12' R11 U R6' U R11 R10' U R6 R5' U' R11' R10 U R6' R10 R9' U R6 R5' U' R10' R9 U R6' U' R7 R6' U R6 R5' U' R7' R6 U R6' x F R14 R13' U R6 R5' U' R14' R13 U R6' U U R13 R12' U R6 R5' U' R13' R12 U R6' R12 R11' U R6 R5' U' R12' R11 U R6' R11 R10' U R6 R5' U' R11' R10 U R6' U R9 R8' U R6 R5' U' R9' R8 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' R7 R6' U R6 R5' U' R7' R6 U R6' U R7 R6' U R6 R5' U' R7' R6 U R6' F U U R14 R13' U R6 R5' U' R14' R13 U R6' U U R12 R11' U R6 R5' U' R12' R11 U R6' U U R11 R10' U R6 R5' U' R11' R10 U R6' R9 R8' U R6 R5' U' R9' R8 U R6' U U R8 R7' U R6 R5' U' R8' R7 U R6' U' R7 R6' U R6 R5' U' R7' R6 U R6' F R10 R9' U R6 R5' U' R10' R9 U R6' F R10 R9' U R6 R5' U' R10' R9 U R6' U U R8 R7' U R6 R5' U' R8' R7 U R6' z x x F U L6' U' L6 U' L6' U U L6 F' U L6' U' L6 U' L6' U U L6 x' F' U L6' U' L6 U' L6' U U L6 F U L6' U' L6 U' L6' U U L6 z U' L6' U' L6 U' L6' U U L6 z' x x U U L6' U' L6 U' L6' U U L6 z z F U L6' U' L6 U' L6' U U L6 F F U L6' U' L6 U' L6' U U L6 F z x z x' F F U U L6' U' L6 U' L6' U U L6 F F z z F U' L6' U' L6 U' L6' U U L6 F' x x F' U L6' U' L6 U' L6' U U L6 F x' F' L6' U' L6 U' L6' U U L6 F x L6' U' L6 U' L6' U U L6 z x x F R8 R7' U R5 R4' U' R8' R7 U R5' F F R10 R9' U R5 R4' U' R10' R9 U R5' R7 R6' U R5 R4' U' R7' R6 U R5' F R13 R12' U R5 R4' U' R13' R12 U R5' x' F R14 R13' U R5 R4' U' R14' R13 U R5' R10 R9' U R5 R4' U' R10' R9 U R5' F R14 R13' U R5 R4' U' R14' R13 U R5' U U R7 R6' U R5 R4' U' R7' R6 U R5' F U R14 R13' U R5 R4' U' R14' R13 U R5' R13 R12' U R5 R4' U' R13' R12 U R5' R11 R10' U R5 R4' U' R11' R10 U R5' F U R8 R7' U R5 R4'
U' R8' R7 U R5' z F' R13 R12' U R5 R4' U' R13' R12 U R5' U R9 R8' U R5 R4' U' R9' R8 U R5' F R15 R14' U R5 R4' U' R15' R14 U R5' z F R13 R12' U R5 R4' U' R13' R12 U R5' R12 R11' U R5 R4' U' R12' R11 U R5' F R10 R9' U R5 R4' U' R10' R9 U R5' U' R6 R5' U R5 R4' U' R6' R5 U R5' F U U R13 R12' U R5 R4' U' R13' R12 U R5' R12 R11' U R5 R4' U' R12' R11 U R5' R9 R8' U R5 R4' U' R9' R8 U R5' F R15 R14' U R5 R4' U' R15' R14 U R5' U U R14 R13' U R5 R4' U' R14' R13 U R5' R11 R10' U R5 R4' U' R11' R10 U R5' U U R8 R7' U R5 R4' U' R8' R7 U R5' z F U R9 R8' U R5 R4' U' R9' R8 U R5' F R15 R14' U R5 R4' U' R15' R14 U R5' R12 R11' U R5 R4' U' R12' R11 U R5' R11 R10' U R5 R4' U' R11' R10 U R5' F R11 R10' U R5 R4' U' R11' R10 U R5' U R7 R6' U R5 R4' U' R7' R6 U R5' F R10 R9' U R5 R4' U' R10' R9 U R5' z x x F R11 R10' U R5 R4' U' R11' R10 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' F R15 R14' U R5 R4' U' R15' R14 U R5' F R12 R11' U R5 R4' U' R12' R11 U R5' F z F R14 R13' U R5 R4' U' R14' R13 U R5' F U' R13 R12' U R5 R4' U' R13' R12 U R5' R12 R11' U R5 R4' U' R12' R11 U R5' F R14 R13' U R5 R4' U' R14' R13 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' F R12 R11' U R5 R4' U' R12' R11 U R5' U U R9 R8' U R5 R4' U' R9' R8 U R5' U R8 R7' U R5 R4' U' R8' R7 U R5' U U R6 R5' U R5 R4' U' R6' R5 U R5' z F R15 R14' U R5 R4' U' R15' R14 U R5' R15 R14' U R5 R4' U' R15' R14 U R5' U R14 R13' U R5 R4' U' R14' R13 U R5' R10 R9' U R5 R4' U' R10' R9 U R5' R7 R6' U R5 R4' U' R7' R6 U R5' U R6 R5' U R5 R4' U' R6' R5 U R5' F U U R10 R9' U R5 R4' U' R10' R9 U R5' F U U R14 R13' U R5 R4' U' R14' R13 U R5' F z F U U R12 R11' U R5 R4' U' R12' R11 U R5' U U R8 R7' U R5 R4' U' R8' R7 U R5' U R7 R6' U R5 R4' U' R7' R6 U R5' F U' R15 R14' U R5 R4' U' R15' R14 U R5' R11 R10' U R5 R4' U' R11' R10 U R5' U U R9 R8' U R5 R4' U' R9' R8 U R5' F U' R11 R10' U R5 R4' U' R11' R10 U R5' R7 R6' U R5 R4' U' R7' R6 U R5' F x z F U R11 R10' U R5 R4' U' R11' R10 U R5' F R15 R14' U R5 R4' U' R15' R14 U R5' R14 R13' U R5 R4' U' R14' R13 U R5' U U R11 R10' U R5 R4' U' R11' R10 U R5' R10 R9' U R5 R4' U' R10' R9 U R5' R9 R8' U R5 R4' U' R9' R8 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' R6 R5' U R5 R4' U' R6' R5 U R5' F U R12 R11' U R5 R4' U' R12' R11 U R5' R10 R9' U R5 R4' U' R10' R9 U R5' F R14 R13' U R5 R4' U' R14' R13 U R5' x' F R15 R14' U R5 R4' U' R15' R14 U R5' R12 R11' U R5 R4' U' R12' R11 U R5' R12 R11' U R5 R4' U' R12' R11 U R5' R11 R10' U R5 R4' U' R11' R10 U R5' U R9 R8' U R5 R4' U' R9' R8 U R5' F R15 R14' U R5 R4' U' R15' R14 U R5' U R13 R12' U R5 R4' U' R13' R12 U R5' R11 R10' U R5 R4' U' R11' R10 U R5' U R10 R9' U R5 R4' U' R10' R9 U R5' U U R9 R8' U R5 R4' U' R9' R8 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' R7 R6' U R5 R4' U' R7' R6 U R5' F U U R15 R14' U R5 R4' U' R15' R14 U R5' R14 R13' U R5 R4' U' R14' R13 U R5' U U R12 R11' U R5 R4' U' R12' R11 U R5' R11 R10' U R5 R4' U' R11' R10 U R5' R7 R6' U R5 R4' U' R7' R6 U R5' R6 R5' U R5 R4' U' R6' R5 U R5' F U U R14 R13' U R5 R4' U' R14' R13 U R5' U' R13 R12' U R5 R4' U' R13' R12 U R5' U U R10 R9' U R5 R4' U' R10' R9 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' U' R6 R5' U R5 R4' U' R6' R5 U R5' z z F U R10 R9' U R5 R4' U' R10' R9 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' U R8 R7' U R5 R4' U' R8' R7 U R5' F U' R12 R11' U R5 R4' U' R12' R11 U R5' U U R9 R8' U R5 R4' U' R9' R8 U R5'
U U R7 R6' U R5 R4' U' R7' R6 U R5' F F x x F U R13 R12' U R5 R4' U' R13' R12 U R5' R12 R11' U R5 R4' U' R12' R11 U R5' R11 R10' U R5 R4' U' R11' R10 U R5' R9 R8' U R5 R4' U' R9' R8 U R5' F R15 R14' U R5 R4' U' R15' R14 U R5' U U R6 R5' U R5 R4' U' R6' R5 U R5' F R12 R11' U R5 R4' U' R12' R11 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' R7 R6' U R5 R4' U' R7' R6 U R5' F R10 R9' U R5 R4' U' R10' R9 U R5' x' F R15 R14' U R5 R4' U' R15' R14 U R5' R15 R14' U R5 R4' U' R15' R14 U R5' R13 R12' U R5 R4' U' R13' R12 U R5' R13 R12' U R5 R4' U' R13' R12 U R5' R12 R11' U R5 R4' U' R12' R11 U R5' U U R12 R11' U R5 R4' U' R12' R11 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' U R6 R5' U R5 R4' U' R6' R5 U R5' F R15 R14' U R5 R4' U' R15' R14 U R5' R14 R13' U R5 R4' U' R14' R13 U R5' U R11 R10' U R5 R4' U' R11' R10 U R5' U U R9 R8' U R5 R4' U' R9' R8 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' R7 R6' U R5 R4' U' R7' R6 U R5' R6 R5' U R5 R4' U' R6' R5 U R5' F R14 R13' U R5 R4' U' R14' R13 U R5' U U R13 R12' U R5 R4' U' R13' R12 U R5' U U R11 R10' U R5 R4' U' R11' R10 U R5' R10 R9' U R5 R4' U' R10' R9 U R5' U R9 R8' U R5 R4' U' R9' R8 U R5' R6 R5' U R5 R4' U' R6' R5 U R5' F U' R14 R13' U R5 R4' U' R14' R13 U R5' U' R10 R9' U R5 R4' U' R10' R9 U R5' R7 R6' U R5 R4' U' R7' R6 U R5' x F R15 R14' U R5 R4' U' R15' R14 U R5' R15 R14' U R5 R4' U' R15' R14 U R5' R12 R11' U R5 R4' U' R12' R11 U R5' U U R9 R8' U R5 R4' U' R9' R8 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' U R6 R5' U R5 R4' U' R6' R5 U R5' R6 R5' U R5 R4' U' R6' R5 U R5' F U R13 R12' U R5 R4' U' R13' R12 U R5' R12 R11' U R5 R4' U' R12' R11 U R5' U' R11 R10' U R5 R4' U' R11' R10 U R5' U R10 R9' U R5 R4' U' R10' R9 U R5' U' R9 R8' U R5 R4' U' R9' R8 U R5' R8 R7' U R5 R4' U' R8' R7 U R5' U R7 R6' U R5 R4' U' R7' R6 U R5' F U R15 R14' U R5 R4' U' R15' R14 U R5' R13 R12' U R5 R4' U' R13' R12 U R5' U U R12 R11' U R5 R4' U' R12' R11 U R5' R10 R9' U R5 R4' U' R10' R9 U R5' F U' R14 R13' U R5 R4' U' R14' R13 U R5' U U R7 R6' U R5 R4' U' R7' R6 U R5' z x x U L5' U' L5 U' L5' U U L5 x' F F U L5' U' L5 U' L5' U U L5 F U L5' U' L5 U' L5' U U L5 F z U' L5' U' L5 U' L5' U U L5 z' x x F F U L5' U' L5 U' L5' U U L5 F F z F U U L5' U' L5 U' L5' U U L5 F' z F F U U L5' U' L5 U' L5' U U L5 F F z F F L5' U' L5 U' L5' U U L5 F F x z F U L5' U' L5 U' L5' U U L5 F U L5' U' L5 U' L5' U U L5 F F x' F' U L5' U' L5 U' L5' U U L5 F U' L5' U' L5 U' L5' U U L5 z z U L5' U' L5 U' L5' U U L5 x x F U U L5' U' L5 U' L5' U U L5 F' x' F U L5' U' L5 U' L5' U U L5 F U' L5' U' L5 U' L5' U U L5 F U' L5' U' L5 U' L5' U U L5 F x U L5' U' L5 U' L5' U U L5 z x x F R16 R15' U R4 R3' U' R16' R15 U R4' R16 R15' U R4 R3' U' R16' R15 U R4' R13 R12' U R4 R3' U' R13' R12 U R4' R11 R10' U R4 R3' U' R11' R10 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' F R12 R11' U R4 R3' U' R12' R11 U R4' R8 R7' U R4 R3' U' R8' R7 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' F R13 R12' U R4 R3' U' R13' R12 U R4' F R6 R5' U R4 R3' U' R6' R5 U R4' x' F R11 R10' U R4 R3' U' R11' R10 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' F U R16 R15' U R4 R3' U' R16' R15 U R4' R13 R12' U R4 R3' U' R13' R12 U R4' U R11 R10' U R4 R3' U' R11' R10 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' F U R16 R15'
U R4 R3' U' R16' R15 U R4' R15 R14' U R4 R3' U' R15' R14 U R4' R12 R11' U R4 R3' U' R12' R11 U R4' U U R7 R6' U R4 R3' U' R7' R6 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' F U R13 R12' U R4 R3' U' R13' R12 U R4' R10 R9' U R4 R3' U' R10' R9 U R4' R8 R7' U R4 R3' U' R8' R7 U R4' z F R9 R8' U R4 R3' U' R9' R8 U R4' F U R10 R9' U R4 R3' U' R10' R9 U R4' F R14 R13' U R4 R3' U' R14' R13 U R4' U U R13 R12' U R4 R3' U' R13' R12 U R4' R12 R11' U R4 R3' U' R12' R11 U R4' R8 R7' U R4 R3' U' R8' R7 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' F R15 R14' U R4 R3' U' R15' R14 U R4' U R12 R11' U R4 R3' U' R12' R11 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' z F U R9 R8' U R4 R3' U' R9' R8 U R4' F U R15 R14' U R4 R3' U' R15' R14 U R4' U U R9 R8' U R4 R3' U' R9' R8 U R4' F U R14 R13' U R4 R3' U' R14' R13 U R4' U U R10 R9' U R4 R3' U' R10' R9 U R4' F R15 R14' U R4 R3' U' R15' R14 U R4' R14 R13' U R4 R3' U' R14' R13 U R4' U R6 R5' U R4 R3' U' R6' R5 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' z F U' R12 R11' U R4 R3' U' R12' R11 U R4' F U U R10 R9' U R4 R3' U' R10' R9 U R4' F U U R11 R10' U R4 R3' U' R11' R10 U R4' F U R8 R7' U R4 R3' U' R8' R7 U R4' z x x F R10 R9' U R4 R3' U' R10' R9 U R4' F R12 R11' U R4 R3' U' R12' R11 U R4' F R15 R14' U R4 R3' U' R15' R14 U R4' R11 R10' U R4 R3' U' R11' R10 U R4' R8 R7' U R4 R3' U' R8' R7 U R4' F U R9 R8' U R4 R3' U' R9' R8 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' z F U R16 R15' U R4 R3' U' R16' R15 U R4' U R11 R10' U R4 R3' U' R11' R10 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' F R16 R15' U R4 R3' U' R16' R15 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' F R10 R9' U R4 R3' U' R10' R9 U R4' U R5 R4' U R4 R3' U' R5' R4 U R4' F R15 R14' U R4 R3' U' R15' R14 U R4' U R14 R13' U R4 R3' U' R14' R13 U R4' z F U R15 R14' U R4 R3' U' R15' R14 U R4' F U R15 R14' U R4 R3' U' R15' R14 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' U R8 R7' U R4 R3' U' R8' R7 U R4' F R14 R13' U R4 R3' U' R14' R13 U R4' U R11 R10' U R4 R3' U' R11' R10 U R4' F R13 R12' U R4 R3' U' R13' R12 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' z F R13 R12' U R4 R3' U' R13' R12 U R4' R10 R9' U R4 R3' U' R10' R9 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' F U U R13 R12' U R4 R3' U' R13' R12 U R4' U' R10 R9' U R4 R3' U' R10' R9 U R4' F R13 R12' U R4 R3' U' R13' R12 U R4' U U R12 R11' U R4 R3' U' R12' R11 U R4' F R16 R15' U R4 R3' U' R16' R15 U R4' U' R14 R13' U R4 R3' U' R14' R13 U R4' U U R8 R7' U R4 R3' U' R8' R7 U R4' U U R6 R5' U R4 R3' U' R6' R5 U R4' x z F R16 R15' U R4 R3' U' R16' R15 U R4' R14 R13' U R4 R3' U' R14' R13 U R4' U R11 R10' U R4 R3' U' R11' R10 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' F R16 R15' U R4 R3' U' R16' R15 U R4' R8 R7' U R4 R3' U' R8' R7 U R4' F R14 R13' U R4 R3' U' R14' R13 U R4' R11 R10' U R4 R3' U' R11' R10 U R4' R10 R9' U R4 R3' U' R10' R9 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' F R12 R11' U R4 R3' U' R12' R11 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' R8 R7' U R4 R3' U' R8' R7 U R4' x' F R16 R15' U R4 R3' U' R16' R15 U R4' R15 R14' U R4 R3' U' R15' R14 U R4' R14 R13' U R4 R3' U' R14' R13 U R4' R13 R12' U R4 R3' U' R13' R12 U R4' U R12 R11' U R4 R3' U' R12' R11 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' F R14 R13' U R4 R3' U' R14' R13 U R4' R13 R12' U R4 R3' U' R13' R12 U R4' R11 R10' U
R4 R3' U' R11' R10 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' R8 R7' U R4 R3' U' R8' R7 U R4' U R7 R6' U R4 R3' U' R7' R6 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' F R16 R15' U R4 R3' U' R16' R15 U R4' U' R12 R11' U R4 R3' U' R12' R11 U R4' R11 R10' U R4 R3' U' R11' R10 U R4' R10 R9' U R4 R3' U' R10' R9 U R4' R8 R7' U R4 R3' U' R8' R7 U R4' F R11 R10' U R4 R3' U' R11' R10 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' R8 R7' U R4 R3' U' R8' R7 U R4' U R6 R5' U R4 R3' U' R6' R5 U R4' z z F R16 R15' U R4 R3' U' R16' R15 U R4' U R15 R14' U R4 R3' U' R15' R14 U R4' U R15 R14' U R4 R3' U' R15' R14 U R4' U R14 R13' U R4 R3' U' R14' R13 U R4' U R5 R4' U R4 R3' U' R5' R4 U R4' F U' R11 R10' U R4 R3' U' R11' R10 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' U U R5 R4' U R4 R3' U' R5' R4 U R4' F U R16 R15' U R4 R3' U' R16' R15 U R4' R13 R12' U R4 R3' U' R13' R12 U R4' U R10 R9' U R4 R3' U' R10' R9 U R4' F R13 R12' U R4 R3' U' R13' R12 U R4' U R9 R8' U R4 R3' U' R9' R8 U R4' x x F R15 R14' U R4 R3' U' R15' R14 U R4' R14 R13' U R4 R3' U' R14' R13 U R4' U R12 R11' U R4 R3' U' R12' R11 U R4' R11 R10' U R4 R3' U' R11' R10 U R4' R11 R10' U R4 R3' U' R11' R10 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' F U R16 R15' U R4 R3' U' R16' R15 U R4' R15 R14' U R4 R3' U' R15' R14 U R4' U U R12 R11' U R4 R3' U' R12' R11 U R4' R6 R5' U R4 R3' U' R6' R5 U R4' F U R14 R13' U R4 R3' U' R14' R13 U R4' R13 R12' U R4 R3' U' R13' R12 U R4' R11 R10' U R4 R3' U' R11' R10 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' U R7 R6' U R4 R3' U' R7' R6 U R4' U U R5 R4' U R4 R3' U' R5' R4 U R4' F U U R13 R12' U R4 R3' U' R13' R12 U R4' x' F U U R16 R15' U R4 R3' U' R16' R15 U R4' R16 R15' U R4 R3' U' R16' R15 U R4' R14 R13' U R4 R3' U' R14' R13 U R4' R14 R13' U R4 R3' U' R14' R13 U R4' U R13 R12' U R4 R3' U' R13' R12 U R4' R12 R11' U R4 R3' U' R12' R11 U R4' R12 R11' U R4 R3' U' R12' R11 U R4' U R11 R10' U R4 R3' U' R11' R10 U R4' R11 R10' U R4 R3' U' R11' R10 U R4' U U R7 R6' U R4 R3' U' R7' R6 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' F R15 R14' U R4 R3' U' R15' R14 U R4' R14 R13' U R4 R3' U' R14' R13 U R4' U R13 R12' U R4 R3' U' R13' R12 U R4' U R12 R11' U R4 R3' U' R12' R11 U R4' U U R11 R10' U R4 R3' U' R11' R10 U R4' U R10 R9' U R4 R3' U' R10' R9 U R4' U R9 R8' U R4 R3' U' R9' R8 U R4' U R8 R7' U R4 R3' U' R8' R7 U R4' U' R6 R5' U R4 R3' U' R6' R5 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' F U U R15 R14' U R4 R3' U' R15' R14 U R4' U' R14 R13' U R4 R3' U' R14' R13 U R4' U R13 R12' U R4 R3' U' R13' R12 U R4' U R12 R11' U R4 R3' U' R12' R11 U R4' U U R9 R8' U R4 R3' U' R9' R8 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' F R15 R14' U R4 R3' U' R15' R14 U R4' U U R9 R8' U R4 R3' U' R9' R8 U R4' R8 R7' U R4 R3' U' R8' R7 U R4' R5 R4' U R4 R3' U' R5' R4 U R4' x F U R16 R15' U R4 R3' U' R16' R15 U R4' R16 R15' U R4 R3' U' R16' R15 U R4' R14 R13' U R4 R3' U' R14' R13 U R4' R13 R12' U R4 R3' U' R13' R12 U R4' R13 R12' U R4 R3' U' R13' R12 U R4' R11 R10' U R4 R3' U' R11' R10 U R4' U R9 R8' U R4 R3' U' R9' R8 U R4' U U R8 R7' U R4 R3' U' R8' R7 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' F U U R15 R14' U R4 R3' U' R15' R14 U R4' U R13 R12' U R4 R3' U' R13' R12 U R4' U R11 R10' U R4 R3' U' R11' R10 U R4' R10 R9' U R4 R3' U' R10' R9 U R4' U U R8 R7' U R4 R3' U' R8' R7 U R4' U R7 R6' U R4
R3' U' R7' R6 U R4' U R6 R5' U R4 R3' U' R6' R5 U R4' U R5 R4' U R4 R3' U' R5' R4 U R4' F R16 R15' U R4 R3' U' R16' R15 U R4' U R15 R14' U R4 R3' U' R15' R14 U R4' U' R12 R11' U R4 R3' U' R12' R11 U R4' U' R11 R10' U R4 R3' U' R11' R10 U R4' R9 R8' U R4 R3' U' R9' R8 U R4' R7 R6' U R4 R3' U' R7' R6 U R4' U R6 R5' U R4 R3' U' R6' R5 U R4' F U R5 R4' U R4 R3' U' R5' R4 U R4' z x F F U U L4' U' L4 U' L4' U U L4 F F z' F U U L4' U' L4 U' L4' U U L4 F' z x x z F U L4' U' L4 U' L4' U U L4 F' U L4' U' L4 U' L4' U U L4 z F U' L4' U' L4 U' L4' U U L4 F F U' L4' U' L4 U' L4' U U L4 F z x z F' U L4' U' L4 U' L4' U U L4 F x' F U L4' U' L4 U' L4' U U L4 F F L4' U' L4 U' L4' U U L4 F z z x x F F U L4' U' L4 U' L4' U U L4 F F x' F F U L4' U' L4 U' L4' U U L4 F U L4' U' L4 U' L4' U U L4 F U L4' U' L4 U' L4' U U L4 x F' U' L4' U' L4 U' L4' U U L4 F U' L4' U' L4 U' L4' U U L4 z x x F R9 R8' U R3 R2' U' R9' R8 U R3' F R13 R12' U R3 R2' U' R13' R12 U R3' R12 R11' U R3 R2' U' R12' R11 U R3' R11 R10' U R3 R2' U' R11' R10 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' R6 R5' U R3 R2' U' R6' R5 U R3' F R7 R6' U R3 R2' U' R7' R6 U R3' U R6 R5' U R3 R2' U' R6' R5 U R3' U R5 R4' U R3 R2' U' R5' R4 U R3' F x' F R10 R9' U R3 R2' U' R10' R9 U R3' R9 R8' U R3 R2' U' R9' R8 U R3' R6 R5' U R3 R2' U' R6' R5 U R3' R6 R5' U R3 R2' U' R6' R5 U R3' F R17 R16' U R3 R2' U' R17' R16 U R3' R13 R12' U R3 R2' U' R13' R12 U R3' U U R6 R5' U R3 R2' U' R6' R5 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' R4 R3' U R3 R2' U' R4' R3 U R3' F R14 R13' U R3 R2' U' R14' R13 U R3' R13 R12' U R3 R2' U' R13' R12 U R3' U U R12 R11' U R3 R2' U' R12' R11 U R3' R9 R8' U R3 R2' U' R9' R8 U R3' U R7 R6' U R3 R2' U' R7' R6 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' R4 R3' U R3 R2' U' R4' R3 U R3' F U R17 R16' U R3 R2' U' R17' R16 U R3' R13 R12' U R3 R2' U' R13' R12 U R3' R11 R10' U R3 R2' U' R11' R10 U R3' R8 R7' U R3 R2' U' R8' R7 U R3' U R7 R6' U R3 R2' U' R7' R6 U R3' z F F R15 R14' U R3 R2' U' R15' R14 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' U R5 R4' U R3 R2' U' R5' R4 U R3' F U R15 R14' U R3 R2' U' R15' R14 U R3' R9 R8' U R3 R2' U' R9' R8 U R3' F R8 R7' U R3 R2' U' R8' R7 U R3' z F R16 R15' U R3 R2' U' R16' R15 U R3' R15 R14' U R3 R2' U' R15' R14 U R3' U U R9 R8' U R3 R2' U' R9' R8 U R3' U U R6 R5' U R3 R2' U' R6' R5 U R3' F U R16 R15' U R3 R2' U' R16' R15 U R3' U U R13 R12' U R3 R2' U' R13' R12 U R3' U U R11 R10' U R3 R2' U' R11' R10 U R3' F U U R15 R14' U R3 R2' U' R15' R14 U R3' R14 R13' U R3 R2' U' R14' R13 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' F U' R11 R10' U R3 R2' U' R11' R10 U R3' R8 R7' U R3 R2' U' R8' R7 U R3' z F U R14 R13' U R3 R2' U' R14' R13 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' R7 R6' U R3 R2' U' R7' R6 U R3' F U U R17 R16' U R3 R2' U' R17' R16 U R3' R16 R15' U R3 R2' U' R16' R15 U R3' U' R14 R13' U R3 R2' U' R14' R13 U R3' U R8 R7' U R3 R2' U' R8' R7 U R3' F F U U R16 R15' U R3 R2' U' R16' R15 U R3' U U R12 R11' U R3 R2' U' R12' R11 U R3' U U R4 R3' U R3 R2' U' R4' R3 U R3' z x x F R15 R14' U R3 R2' U' R15' R14 U R3' R12 R11' U R3 R2' U' R12' R11 U R3' U R9 R8' U R3 R2' U' R9' R8 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' R4 R3' U R3 R2' U' R4' R3 U R3' F R14 R13' U R3 R2' U'
R14' R13 U R3' U R13 R12' U R3 R2' U' R13' R12 U R3' F U R12 R11' U R3 R2' U' R12' R11 U R3' F R17 R16' U R3 R2' U' R17' R16 U R3' U R13 R12' U R3 R2' U' R13' R12 U R3' z F U R17 R16' U R3 R2' U' R17' R16 U R3' U R16 R15' U R3 R2' U' R16' R15 U R3' R15 R14' U R3 R2' U' R15' R14 U R3' U U R15 R14' U R3 R2' U' R15' R14 U R3' R8 R7' U R3 R2' U' R8' R7 U R3' F R14 R13' U R3 R2' U' R14' R13 U R3' R8 R7' U R3 R2' U' R8' R7 U R3' R7 R6' U R3 R2' U' R7' R6 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' F U R14 R13' U R3 R2' U' R14' R13 U R3' F U R11 R10' U R3 R2' U' R11' R10 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' R9 R8' U R3 R2' U' R9' R8 U R3' R4 R3' U R3 R2' U' R4' R3 U R3' z F U R17 R16' U R3 R2' U' R17' R16 U R3' U R16 R15' U R3 R2' U' R16' R15 U R3' R7 R6' U R3 R2' U' R7' R6 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' F U R4 R3' U R3 R2' U' R4' R3 U R3' F U' R12 R11' U R3 R2' U' R12' R11 U R3' R11 R10' U R3 R2' U' R11' R10 U R3' U' R9 R8' U R3 R2' U' R9' R8 U R3' U' R8 R7' U R3 R2' U' R8' R7 U R3' U R5 R4' U R3 R2' U' R5' R4 U R3' F U U R10 R9' U R3 R2' U' R10' R9 U R3' z F U R6 R5' U R3 R2' U' R6' R5 U R3' R6 R5' U R3 R2' U' R6' R5 U R3' U U R4 R3' U R3 R2' U' R4' R3 U R3' F R7 R6' U R3 R2' U' R7' R6 U R3' R6 R5' U R3 R2' U' R6' R5 U R3' F U' R10 R9' U R3 R2' U' R10' R9 U R3' F U' R13 R12' U R3 R2' U' R13' R12 U R3' R7 R6' U R3 R2' U' R7' R6 U R3' x z F R17 R16' U R3 R2' U' R17' R16 U R3' R15 R14' U R3 R2' U' R15' R14 U R3' R15 R14' U R3 R2' U' R15' R14 U R3' R14 R13' U R3 R2' U' R14' R13 U R3' U R11 R10' U R3 R2' U' R11' R10 U R3' R9 R8' U R3 R2' U' R9' R8 U R3' F R17 R16' U R3 R2' U' R17' R16 U R3' R15 R14' U R3 R2' U' R15' R14 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' R7 R6' U R3 R2' U' R7' R6 U R3' R6 R5' U R3 R2' U' R6' R5 U R3' F R16 R15' U R3 R2' U' R16' R15 U R3' R14 R13' U R3 R2' U' R14' R13 U R3' R13 R12' U R3 R2' U' R13' R12 U R3' R11 R10' U R3 R2' U' R11' R10 U R3' R4 R3' U R3 R2' U' R4' R3 U R3' F U R12 R11' U R3 R2' U' R12' R11 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' x' F R15 R14' U R3 R2' U' R15' R14 U R3' R15 R14' U R3 R2' U' R15' R14 U R3' U U R13 R12' U R3 R2' U' R13' R12 U R3' R12 R11' U R3 R2' U' R12' R11 U R3' U R12 R11' U R3 R2' U' R12' R11 U R3' U R9 R8' U R3 R2' U' R9' R8 U R3' U R8 R7' U R3 R2' U' R8' R7 U R3' R8 R7' U R3 R2' U' R8' R7 U R3' U R7 R6' U R3 R2' U' R7' R6 U R3' R7 R6' U R3 R2' U' R7' R6 U R3' R6 R5' U R3 R2' U' R6' R5 U R3' F U R17 R16' U R3 R2' U' R17' R16 U R3' R14 R13' U R3 R2' U' R14' R13 U R3' U R11 R10' U R3 R2' U' R11' R10 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' U U R6 R5' U R3 R2' U' R6' R5 U R3' F U R17 R16' U R3 R2' U' R17' R16 U R3' U R16 R15' U R3 R2' U' R16' R15 U R3' R15 R14' U R3 R2' U' R15' R14 U R3' R11 R10' U R3 R2' U' R11' R10 U R3' U U R6 R5' U R3 R2' U' R6' R5 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' U R4 R3' U R3 R2' U' R4' R3 U R3' F R14 R13' U R3 R2' U' R14' R13 U R3' U' R11 R10' U R3 R2' U' R11' R10 U R3' U R10 R9' U R3 R2' U' R10' R9 U R3' U U R4 R3' U R3 R2' U' R4' R3 U R3' z z F R16 R15' U R3 R2' U' R16' R15 U R3' U R14 R13' U R3 R2' U' R14' R13 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' R9 R8' U R3 R2' U' R9' R8 U R3' U U R8 R7' U R3 R2' U' R8' R7 U R3' F U U R7 R6' U R3 R2' U' R7' R6 U R3' F U' R17 R16' U R3 R2' U' R17' R16 U R3' U U R16 R15' U R3 R2' U' R16' R15 U R3' U'
R15 R14' U R3 R2' U' R15' R14 U R3' R12 R11' U R3 R2' U' R12' R11 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' F U' R13 R12' U R3 R2' U' R13' R12 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' x x F R17 R16' U R3 R2' U' R17' R16 U R3' U R16 R15' U R3 R2' U' R16' R15 U R3' R9 R8' U R3 R2' U' R9' R8 U R3' U R8 R7' U R3 R2' U' R8' R7 U R3' R7 R6' U R3 R2' U' R7' R6 U R3' R7 R6' U R3 R2' U' R7' R6 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' F U R15 R14' U R3 R2' U' R15' R14 U R3' U U R13 R12' U R3 R2' U' R13' R12 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' R8 R7' U R3 R2' U' R8' R7 U R3' R6 R5' U R3 R2' U' R6' R5 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' F R17 R16' U R3 R2' U' R17' R16 U R3' R12 R11' U R3 R2' U' R12' R11 U R3' R7 R6' U R3 R2' U' R7' R6 U R3' U R5 R4' U R3 R2' U' R5' R4 U R3' F R14 R13' U R3 R2' U' R14' R13 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' R4 R3' U R3 R2' U' R4' R3 U R3' x' F R16 R15' U R3 R2' U' R16' R15 U R3' U R16 R15' U R3 R2' U' R16' R15 U R3' U R15 R14' U R3 R2' U' R15' R14 U R3' R15 R14' U R3 R2' U' R15' R14 U R3' U R14 R13' U R3 R2' U' R14' R13 U R3' R13 R12' U R3 R2' U' R13' R12 U R3' R12 R11' U R3 R2' U' R12' R11 U R3' U R12 R11' U R3 R2' U' R12' R11 U R3' R9 R8' U R3 R2' U' R9' R8 U R3' R9 R8' U R3 R2' U' R9' R8 U R3' R8 R7' U R3 R2' U' R8' R7 U R3' U R7 R6' U R3 R2' U' R7' R6 U R3' R7 R6' U R3 R2' U' R7' R6 U R3' F R17 R16' U R3 R2' U' R17' R16 U R3' U R14 R13' U R3 R2' U' R14' R13 U R3' R13 R12' U R3 R2' U' R13' R12 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' U R8 R7' U R3 R2' U' R8' R7 U R3' U R7 R6' U R3 R2' U' R7' R6 U R3' U R6 R5' U R3 R2' U' R6' R5 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' F U R17 R16' U R3 R2' U' R17' R16 U R3' U' R16 R15' U R3 R2' U' R16' R15 U R3' U U R15 R14' U R3 R2' U' R15' R14 U R3' U U R14 R13' U R3 R2' U' R14' R13 U R3' R13 R12' U R3 R2' U' R13' R12 U R3' U R12 R11' U R3 R2' U' R12' R11 U R3' U U R11 R10' U R3 R2' U' R11' R10 U R3' U' R9 R8' U R3 R2' U' R9' R8 U R3' U R8 R7' U R3 R2' U' R8' R7 U R3' U' R6 R5' U R3 R2' U' R6' R5 U R3' U R5 R4' U R3 R2' U' R5' R4 U R3' R4 R3' U R3 R2' U' R4' R3 U R3' F R17 R16' U R3 R2' U' R17' R16 U R3' U U R11 R10' U R3 R2' U' R11' R10 U R3' U U R10 R9' U R3 R2' U' R10' R9 U R3' R5 R4' U R3 R2' U' R5' R4 U R3' R4 R3' U R3 R2' U' R4' R3 U R3' x F R17 R16' U R3 R2' U' R17' R16 U R3' R16 R15' U R3 R2' U' R16' R15 U R3' U R15 R14' U R3 R2' U' R15' R14 U R3' R15 R14' U R3 R2' U' R15' R14 U R3' U U R13 R12' U R3 R2' U' R13' R12 U R3' U R12 R11' U R3 R2' U' R12' R11 U R3' U R10 R9' U R3 R2' U' R10' R9 U R3' U R8 R7' U R3 R2' U' R8' R7 U R3' U R8 R7' U R3 R2' U' R8' R7 U R3' R7 R6' U R3 R2' U' R7' R6 U R3' R7 R6' U R3 R2' U' R7' R6 U R3' U R6 R5' U R3 R2' U' R6' R5 U R3' U U R4 R3' U R3 R2' U' R4' R3 U R3' F U U R17 R16' U R3 R2' U' R17' R16 U R3' R16 R15' U R3 R2' U' R16' R15 U R3' U R14 R13' U R3 R2' U' R14' R13 U R3' U' R13 R12' U R3 R2' U' R13' R12 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' U R9 R8' U R3 R2' U' R9' R8 U R3' U U R7 R6' U R3 R2' U' R7' R6 U R3' U U R5 R4' U R3 R2' U' R5' R4 U R3' F U R16 R15' U R3 R2' U' R16' R15 U R3' U R15 R14' U R3 R2' U' R15' R14 U R3' U R12 R11' U R3 R2' U' R12' R11 U R3' R10 R9' U R3 R2' U' R10' R9 U R3' R9 R8' U R3 R2' U' R9' R8 U R3' F R11 R10' U R3 R2' U' R11' R10 U R3' U R9 R8' U R3 R2' U' R9' R8 U R3' z x F U L3' U' L3 U' L3' U U L3 F' z F U U
L3' U' L3 U' L3' U U L3 F' z F F U U L3' U' L3 U' L3' U U L3 F U L3' U' L3 U' L3' U U L3 F z z x x z' F F U U L3' U' L3 U' L3' U U L3 F U L3' U' L3 U' L3' U U L3 F x z U L3' U' L3 U' L3' U U L3 x' F F U L3' U' L3 U' L3' U U L3 F U L3' U' L3 U' L3' U U L3 F z z F F U' L3' U' L3 U' L3' U U L3 F F x F U' L3' U' L3 U' L3' U U L3 F U' L3' U' L3 U' L3' U U L3 F F x F F U U L3' U' L3 U' L3' U U L3 F U L3' U' L3 U' L3' U U L3 F z x x F R18 R17' U R2 R' U' R18' R17 U R2' R12 R11' U R2 R' U' R12' R11 U R2' R10 R9' U R2 R' U' R10' R9 U R2' R7 R6' U R2 R' U' R7' R6 U R2' R3 R2' U R2 R' U' R3' R2 U R2' F R15 R14' U R2 R' U' R15' R14 U R2' R13 R12' U R2 R' U' R13' R12 U R2' U R11 R10' U R2 R' U' R11' R10 U R2' R9 R8' U R2 R' U' R9' R8 U R2' R3 R2' U R2 R' U' R3' R2 U R2' F U R7 R6' U R2 R' U' R7' R6 U R2' R4 R3' U R2 R' U' R4' R3 U R2' F x' F R11 R10' U R2 R' U' R11' R10 U R2' R7 R6' U R2 R' U' R7' R6 U R2' F R18 R17' U R2 R' U' R18' R17 U R2' R11 R10' U R2 R' U' R11' R10 U R2' R8 R7' U R2 R' U' R8' R7 U R2' U R7 R6' U R2 R' U' R7' R6 U R2' R3 R2' U R2 R' U' R3' R2 U R2' F R15 R14' U R2 R' U' R15' R14 U R2' R12 R11' U R2 R' U' R12' R11 U R2' R9 R8' U R2 R' U' R9' R8 U R2' R8 R7' U R2 R' U' R8' R7 U R2' U R4 R3' U R2 R' U' R4' R3 U R2' F U R17 R16' U R2 R' U' R17' R16 U R2' R16 R15' U R2 R' U' R16' R15 U R2' R13 R12' U R2 R' U' R13' R12 U R2' R12 R11' U R2 R' U' R12' R11 U R2' R10 R9' U R2 R' U' R10' R9 U R2' R3 R2' U R2 R' U' R3' R2 U R2' z F U U R18 R17' U R2 R' U' R18' R17 U R2' R18 R17' U R2 R' U' R18' R17 U R2' R16 R15' U R2 R' U' R16' R15 U R2' R13 R12' U R2 R' U' R13' R12 U R2' R13 R12' U R2 R' U' R13' R12 U R2' F R16 R15' U R2 R' U' R16' R15 U R2' R14 R13' U R2 R' U' R14' R13 U R2' U' R13 R12' U R2 R' U' R13' R12 U R2' U R10 R9' U R2 R' U' R10' R9 U R2' F R9 R8' U R2 R' U' R9' R8 U R2' F U R14 R13' U R2 R' U' R14' R13 U R2' R6 R5' U R2 R' U' R6' R5 U R2' R5 R4' U R2 R' U' R5' R4 U R2' R3 R2' U R2 R' U' R3' R2 U R2' z F U R14 R13' U R2 R' U' R14' R13 U R2' U R6 R5' U R2 R' U' R6' R5 U R2' F U R15 R14' U R2 R' U' R15' R14 U R2' U R12 R11' U R2 R' U' R12' R11 U R2' U R10 R9' U R2 R' U' R10' R9 U R2' U R9 R8' U R2 R' U' R9' R8 U R2' R7 R6' U R2 R' U' R7' R6 U R2' F U' R9 R8' U R2 R' U' R9' R8 U R2' U U R5 R4' U R2 R' U' R5' R4 U R2' U U R4 R3' U R2 R' U' R4' R3 U R2' F U R17 R16' U R2 R' U' R17' R16 U R2' U U R16 R15' U R2 R' U' R16' R15 U R2' U' R4 R3' U R2 R' U' R4' R3 U R2' z F R17 R16' U R2 R' U' R17' R16 U R2' R15 R14' U R2 R' U' R15' R14 U R2' U R12 R11' U R2 R' U' R12' R11 U R2' F R8 R7' U R2 R' U' R8' R7 U R2' U R7 R6' U R2 R' U' R7' R6 U R2' F U R11 R10' U R2 R' U' R11' R10 U R2' U' R6 R5' U R2 R' U' R6' R5 U R2' U' R3 R2' U R2 R' U' R3' R2 U R2' F R11 R10' U R2 R' U' R11' R10 U R2' U' R10 R9' U R2 R' U' R10' R9 U R2' U' R8 R7' U R2 R' U' R8' R7 U R2' z x x F U R11 R10' U R2 R' U' R11' R10 U R2' R10 R9' U R2 R' U' R10' R9 U R2' U R9 R8' U R2 R' U' R9' R8 U R2' F R17 R16' U R2 R' U' R17' R16 U R2' R15 R14' U R2 R' U' R15' R14 U R2' R14 R13' U R2 R' U' R14' R13 U R2' R12 R11' U R2 R' U' R12' R11 U R2' R4 R3' U R2 R' U' R4' R3 U R2' F R5 R4' U R2 R' U' R5' R4 U R2' F R7 R6' U R2 R'
U' R7' R6 U R2' R3 R2' U R2 R' U' R3' R2 U R2' z F R17 R16' U R2 R' U' R17' R16 U R2' R11 R10' U R2 R' U' R11' R10 U R2' R8 R7' U R2 R' U' R8' R7 U R2' R7 R6' U R2 R' U' R7' R6 U R2' R6 R5' U R2 R' U' R6' R5 U R2' R6 R5' U R2 R' U' R6' R5 U R2' R4 R3' U R2 R' U' R4' R3 U R2' F R18 R17' U R2 R' U' R18' R17 U R2' U R17 R16' U R2 R' U' R17' R16 U R2' R13 R12' U R2 R' U' R13' R12 U R2' U U R5 R4' U R2 R' U' R5' R4 U R2' F R18 R17' U R2 R' U' R18' R17 U R2' R16 R15' U R2 R' U' R16' R15 U R2' R12 R11' U R2 R' U' R12' R11 U R2' U R7 R6' U R2 R' U' R7' R6 U R2' U R4 R3' U R2 R' U' R4' R3 U R2' F R3 R2' U R2 R' U' R3' R2 U R2' z F R14 R13' U R2 R' U' R14' R13 U R2' U R13 R12' U R2 R' U' R13' R12 U R2' U U R7 R6' U R2 R' U' R7' R6 U R2' F R18 R17' U R2 R' U' R18' R17 U R2' R17 R16' U R2 R' U' R17' R16 U R2' U U R16 R15' U R2 R' U' R16' R15 U R2' U U R14 R13' U R2 R' U' R14' R13 U R2' R12 R11' U R2 R' U' R12' R11 U R2' U R9 R8' U R2 R' U' R9' R8 U R2' U R4 R3' U R2 R' U' R4' R3 U R2' F R15 R14' U R2 R' U' R15' R14 U R2' U R9 R8' U R2 R' U' R9' R8 U R2' F U U R12 R11' U R2 R' U' R12' R11 U R2' U R10 R9' U R2 R' U' R10' R9 U R2' z F U R11 R10' U R2 R' U' R11' R10 U R2' U U R3 R2' U R2 R' U' R3' R2 U R2' F R18 R17' U R2 R' U' R18' R17 U R2' U U R15 R14' U R2 R' U' R15' R14 U R2' U' R8 R7' U R2 R' U' R8' R7 U R2' U U R6 R5' U R2 R' U' R6' R5 U R2' F R6 R5' U R2 R' U' R6' R5 U R2' F U U R5 R4' U R2 R' U' R5' R4 U R2' x z F R9 R8' U R2 R' U' R9' R8 U R2' R9 R8' U R2 R' U' R9' R8 U R2' R8 R7' U R2 R' U' R8' R7 U R2' R7 R6' U R2 R' U' R7' R6 U R2' F R15 R14' U R2 R' U' R15' R14 U R2' R12 R11' U R2 R' U' R12' R11 U R2' R7 R6' U R2 R' U' R7' R6 U R2' R5 R4' U R2 R' U' R5' R4 U R2' R4 R3' U R2 R' U' R4' R3 U R2' F R14 R13' U R2 R' U' R14' R13 U R2' R13 R12' U R2 R' U' R13' R12 U R2' U' R9 R8' U R2 R' U' R9' R8 U R2' R8 R7' U R2 R' U' R8' R7 U R2' R7 R6' U R2 R' U' R7' R6 U R2' R6 R5' U R2 R' U' R6' R5 U R2' R3 R2' U R2 R' U' R3' R2 U R2' F R16 R15' U R2 R' U' R16' R15 U R2' R11 R10' U R2 R' U' R11' R10 U R2' R4 R3' U R2 R' U' R4' R3 U R2' x' F R16 R15' U R2 R' U' R16' R15 U R2' R13 R12' U R2 R' U' R13' R12 U R2' R13 R12' U R2 R' U' R13' R12 U R2' R12 R11' U R2 R' U' R12' R11 U R2' R10 R9' U R2 R' U' R10' R9 U R2' R10 R9' U R2 R' U' R10' R9 U R2' R9 R8' U R2 R' U' R9' R8 U R2' R9 R8' U R2 R' U' R9' R8 U R2' R8 R7' U R2 R' U' R8' R7 U R2' R8 R7' U R2 R' U' R8' R7 U R2' R7 R6' U R2 R' U' R7' R6 U R2' R7 R6' U R2 R' U' R7' R6 U R2' R5 R4' U R2 R' U' R5' R4 U R2' F R17 R16' U R2 R' U' R17' R16 U R2' R16 R15' U R2 R' U' R16' R15 U R2' R15 R14' U R2 R' U' R15' R14 U R2' R14 R13' U R2 R' U' R14' R13 U R2' R11 R10' U R2 R' U' R11' R10 U R2' U U R9 R8' U R2 R' U' R9' R8 U R2' R7 R6' U R2 R' U' R7' R6 U R2' R4 R3' U R2 R' U' R4' R3 U R2' R3 R2' U R2 R' U' R3' R2 U R2' F U' R16 R15' U R2 R' U' R16' R15 U R2' U R14 R13' U R2 R' U' R14' R13 U R2' R12 R11' U R2 R' U' R12' R11 U R2' U U R9 R8' U R2 R' U' R9' R8 U R2' U R6 R5' U R2 R' U' R6' R5 U R2' R4 R3' U R2 R' U' R4' R3 U R2' U R3 R2' U R2 R' U' R3' R2 U R2' F R18 R17' U R2 R' U' R18' R17 U R2' R3 R2' U R2 R' U' R3' R2 U R2' z z F U R18 R17' U R2 R' U' R18' R17 U R2' U R15 R14' U R2 R' U' R15' R14 U R2' R11 R10' U R2 R' U' R11'
R10 U R2' U U R10 R9' U R2 R' U' R10' R9 U R2' U R7 R6' U R2 R' U' R7' R6 U R2' R5 R4' U R2 R' U' R5' R4 U R2' R5 R4' U R2 R' U' R5' R4 U R2' F U R17 R16' U R2 R' U' R17' R16 U R2' U' R15 R14' U R2 R' U' R15' R14 U R2' R6 R5' U R2 R' U' R6' R5 U R2' U' R4 R3' U R2 R' U' R4' R3 U R2' F U' R18 R17' U R2 R' U' R18' R17 U R2' U R14 R13' U R2 R' U' R14' R13 U R2' R12 R11' U R2 R' U' R12' R11 U R2' F R12 R11' U R2 R' U' R12' R11 U R2' R8 R7' U R2 R' U' R8' R7 U R2' x x F R13 R12' U R2 R' U' R13' R12 U R2' U R12 R11' U R2 R' U' R12' R11 U R2' F R16 R15' U R2 R' U' R16' R15 U R2' R15 R14' U R2 R' U' R15' R14 U R2' R10 R9' U R2 R' U' R10' R9 U R2' R6 R5' U R2 R' U' R6' R5 U R2' R5 R4' U R2 R' U' R5' R4 U R2' R4 R3' U R2 R' U' R4' R3 U R2' F U R16 R15' U R2 R' U' R16' R15 U R2' R14 R13' U R2 R' U' R14' R13 U R2' R12 R11' U R2 R' U' R12' R11 U R2' R9 R8' U R2 R' U' R9' R8 U R2' R7 R6' U R2 R' U' R7' R6 U R2' U R5 R4' U R2 R' U' R5' R4 U R2' R4 R3' U R2 R' U' R4' R3 U R2' F R18 R17' U R2 R' U' R18' R17 U R2' R17 R16' U R2 R' U' R17' R16 U R2' R16 R15' U R2 R' U' R16' R15 U R2' U R10 R9' U R2 R' U' R10' R9 U R2' R7 R6' U R2 R' U' R7' R6 U R2' R6 R5' U R2 R' U' R6' R5 U R2' U R5 R4' U R2 R' U' R5' R4 U R2' x' F R16 R15' U R2 R' U' R16' R15 U R2' R16 R15' U R2 R' U' R16' R15 U R2' R15 R14' U R2 R' U' R15' R14 U R2' U U R15 R14' U R2 R' U' R15' R14 U R2' R14 R13' U R2 R' U' R14' R13 U R2' R14 R13' U R2 R' U' R14' R13 U R2' R13 R12' U R2 R' U' R13' R12 U R2' R12 R11' U R2 R' U' R12' R11 U R2' U' R11 R10' U R2 R' U' R11' R10 U R2' R6 R5' U R2 R' U' R6' R5 U R2' U R6 R5' U R2 R' U' R6' R5 U R2' R5 R4' U R2 R' U' R5' R4 U R2' R5 R4' U R2 R' U' R5' R4 U R2' R4 R3' U R2 R' U' R4' R3 U R2' R4 R3' U R2 R' U' R4' R3 U R2' F R18 R17' U R2 R' U' R18' R17 U R2' U U R17 R16' U R2 R' U' R17' R16 U R2' U R16 R15' U R2 R' U' R16' R15 U R2' U R14 R13' U R2 R' U' R14' R13 U R2' R13 R12' U R2 R' U' R13' R12 U R2' U R12 R11' U R2 R' U' R12' R11 U R2' U R10 R9' U R2 R' U' R10' R9 U R2' R9 R8' U R2 R' U' R9' R8 U R2' U R8 R7' U R2 R' U' R8' R7 U R2' R7 R6' U R2 R' U' R7' R6 U R2' U R5 R4' U R2 R' U' R5' R4 U R2' U U R4 R3' U R2 R' U' R4' R3 U R2' U U R3 R2' U R2 R' U' R3' R2 U R2' F U R18 R17' U R2 R' U' R18' R17 U R2' U' R16 R15' U R2 R' U' R16' R15 U R2' U R14 R13' U R2 R' U' R14' R13 U R2' U U R12 R11' U R2 R' U' R12' R11 U R2' U R10 R9' U R2 R' U' R10' R9 U R2' R9 R8' U R2 R' U' R9' R8 U R2' U U R8 R7' U R2 R' U' R8' R7 U R2' U R7 R6' U R2 R' U' R7' R6 U R2' R6 R5' U R2 R' U' R6' R5 U R2' U U R5 R4' U R2 R' U' R5' R4 U R2' U R3 R2' U R2 R' U' R3' R2 U R2' F U U R17 R16' U R2 R' U' R17' R16 U R2' U' R9 R8' U R2 R' U' R9' R8 U R2' R7 R6' U R2 R' U' R7' R6 U R2' x F R17 R16' U R2 R' U' R17' R16 U R2' R17 R16' U R2 R' U' R17' R16 U R2' R12 R11' U R2 R' U' R12' R11 U R2' R11 R10' U R2 R' U' R11' R10 U R2' R10 R9' U R2 R' U' R10' R9 U R2' R10 R9' U R2 R' U' R10' R9 U R2' U R7 R6' U R2 R' U' R7' R6 U R2' R7 R6' U R2 R' U' R7' R6 U R2' R5 R4' U R2 R' U' R5' R4 U R2' U R5 R4' U R2 R' U' R5' R4 U R2' F R16 R15' U R2 R' U' R16' R15 U R2' U R15 R14' U R2 R' U' R15' R14 U R2' U R13 R12' U R2 R' U' R13' R12 U R2' U' R11 R10' U R2 R' U' R11' R10 U R2' R9 R8' U R2 R' U' R9' R8 U R2' U R4 R3' U R2 R' U' R4' R3 U R2'
F U U R17 R16' U R2 R' U' R17' R16 U R2' R16 R15' U R2 R' U' R16' R15 U R2' R15 R14' U R2 R' U' R15' R14 U R2' U R14 R13' U R2 R' U' R14' R13 U R2' U U R13 R12' U R2 R' U' R13' R12 U R2' U' R12 R11' U R2 R' U' R12' R11 U R2' R10 R9' U R2 R' U' R10' R9 U R2' U R9 R8' U R2 R' U' R9' R8 U R2' U U R8 R7' U R2 R' U' R8' R7 U R2' R6 R5' U R2 R' U' R6' R5 U R2' R4 R3' U R2 R' U' R4' R3 U R2' R3 R2' U R2 R' U' R3' R2 U R2' F U' R16 R15' U R2 R' U' R16' R15 U R2' U' R9 R8' U R2 R' U' R9' R8 U R2' R6 R5' U R2 R' U' R6' R5 U R2' U' R3 R2' U R2 R' U' R3' R2 U R2' z x x F U L2' U' L2 U' L2' U U L2 F F U L2' U' L2 U' L2' U U L2 F x' F F U L2' U' L2 U' L2' U U L2 F U L2' U' L2 U' L2' U U L2 F U L2' U' L2 U' L2' U U L2 z F' U' L2' U' L2 U' L2' U U L2 F z' x x z' F U U L2' U' L2 U' L2' U U L2 F F U L2' U' L2 U' L2' U U L2 F x z x' U' L2' U' L2 U' L2' U U L2 z z F' U L2' U' L2 U' L2' U U L2 F x x F U L2' U' L2 U' L2' U U L2 F' x' F' U U L2' U' L2 U' L2' U U L2 F U L2' U' L2 U' L2' U U L2 x F U L2' U' L2 U' L2' U U L2 F L2' U' L2 U' L2' U U L2 F F R3 R2' U U R3 R2' U U R3' R2 x' L3' L2 U U L3 L2' x' U U R3 R2' U U R3' R2 R4 R3' U U R4 R3' U U R4' R3 x' L4' L3 U U L4 L3' x' U U R4 R3' U U R4' R3 R5 R4' U U R5 R4' U U R5' R4 x' L5' L4 U U L5 L4' x' U U R5 R4' U U R5' R4 R9 R8' U U R9 R8' U U R9' R8 x' L9' L8 U U L9 L8' x' U U R9 R8' U U R9' R8 R10 R9' U U R10 R9' U U R10' R9 x' L10' L9 U U L10 L9' x' U U R10 R9' U U R10' R9 F U L L U U B L U' L' R R B U' R B B z z x' F10' F R U' R' U F10 U L U' B L U' L' R R B U' R B B z z x' F10' F R U' R' U F10 U L U' B U B U B U D B B U' D B D B U B U' L U U B L U' L' R R B U' R B B z z x' F10' F R U' R' U F10 U L B L L B L U' L' R R B U' R B B z z x' F10' F R U' R' U F10 U U B L L U U B L U' L' R R B U' R B B z z x' F10' F R U' R' U F10 U L U' L U U B L U' L' R R B U' R B B z z x' F10' F R U' R' U F10 U L U' B U B U B U D B B U B L L U' B L U' L' R R B U' R B B z z x' F10' F R U' R' U F10 U L U' B U B U B U D B' L L B L U' L' R R B U' R B B z z x' F10' F R U' R' U F10 U L U' B U B U B U D B B U' L U U B L U' L' R R B U' R B B z z x' F10' F R U' R' U F10 U L U' B U B U B U D B B U' L U' B U B U B U D B' L U' L' R R B U' R B B z z x' F10' F R U' R' U F10 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U U L R R B U' R B B z z x' F11' F R U' R' U F11 U L U' B U B U B U D B B U L U U B L U' L' R R B U' R B B z z x' F11' F R U' R' U F11 U L U' B U B U B U D B B U B L L R R B U' R B B z z x' F11' F R U' R' U F11 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U U L U U B L U' L' R R B U' R B B z z x' F11' F R U' R' U F11 U L U' B U B U B U D B B U' L R R B U' R B B z
z x' F11' F R U' R' U F11 U L U' B U B U B U D B B U' D B D B U B U' B L L R R B U' R B B z z x' F11' F R U' R' U F11 F' U U B L U' F U L U' B U B U B U D B B U U L R R B U' R B B z z x' F11' F R U' R' U F11 U L U B L L R R B U' R B B z z x' F11' F R U' R' U F11 U L U' B L L U U B L U' L' R R B U' R B B z z x' F11' F R U' R' U F11 U L U' B U B U B U D B B U U L R R B U' R B B z z x' F11' F R U' R' U F11 F' U U F U L R R B U' R B B z z x' F11' F R U' R' U F11 F' U U B L U' F U L U' B U B U B U D B B L U' B L U' L' R R B U' R B B z z x' F11' F R U' R' U F11 U L U' B U B U B U D B B U' D B D B U B U' B L L U' B U B U B U D B B R R B U' R B B z z x' F11' F R U' R' U F11 F' U U B L U' F U L U U L U' B U B U B U D B B U U R R B U' R B B z z x' F11' F R U' R' U F11 U L U' B U B U B U D B B U' L U' B U B U B U D B B R R B U' R B B z z x' F11' F R U' R' U F11 F' U U B L U' F U L U U B L L R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U' F U L U U B L L R R B U' R B B z z x' F12' F R U' R' U F12 U L U B L L R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U' F U L U' B U B U B U D B' L L R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U' F U L U' B U B U B U D B B U U B L L R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U' F U L B L L U U B L U' L' R R B U' R B B z z x' F12' F R U' R' U F12 U L U U B L L R R B U' R B B z z x' F12' F R U' R' U F12 U L U' B U B U B U D B B U' D B D B U B U U L R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U' F U L U B L L R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U' F U L U U L U' B L U' L' R R B U' R B B z z x' F12' F R U' R' U F12 U L U' B U B U B U D B B U' L U R R B U' R B B z z x' F12' F R U' R' U F12 U L U' B U B U B U D B' L L U U B L U' L' R R B U' R B B z z x' F12' F R U' R' U F12 U L U B L L U U R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U' F U L U' B U B U B U D B' L L U' B U B U B U D B B U U B L U' L' R R B U' R B B z z x' F12' F R U' R' U F12 U L U' B U B U B U D B' L L U U B L U' L' R R B U' R B B z z x' F12' F R U' R' U F12 U L U' B U B U B U D B B U' D B D B U B U' B L L U' B U B U B U D B B R R B U' R B B z z x' F12' F R U' R' U F12 U L U' L U' B U B U B U D B B U U B L U' L' R R B U' R B B z z x' F12' F R U' R' U F12 U L U' B U B U B U D B' L L U' R R B U' R B B z z x' F12' F R U' R' U F12 F' U U B L U'
F U L U U B L L R R B U' R B B z z x' F13' F R U' R' U F13 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U U L R R B U' R B B z z x' F13' F R U' R' U F13 F' U U B L U' F U L U' B U B U B U D B B U' B L L R R B U' R B B z z x' F13' F R U' R' U F13 F' U U B L U' F U L U' B U B U B U D B B L R R B U' R B B z z x' F13' F R U' R' U F13 F' U U B L U' F U L B L L U U B L U' L' R R B U' R B B z z x' F13' F R U' R' U F13 F' B L U' F U L U' B U B U B U D B' L L R R B U' R B B z z x' F13' F R U' R' U F13 U L U' B U B U B U D B B U' D B D B U B U' L R R B U' R B B z z x' F13' F R U' R' U F13 U L U' B U B U B U D B B U L R R B U' R B B z z x' F13' F R U' R' U F13 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U' L U U B L U' L' R R B U' R B B z z x' F13' F R U' R' U F13 U L U' B U B U B U D B B U U L R R B U' R B B z z x' F13' F R U' R' U F13 F' U U B L U' F U L U' B U B U B U D B B U' B L L U R R B U' R B B z z x' F13' F R U' R' U F13 U L U' B U B U B U D B B L R R B U' R B B z z x' F13' F R U' R' U F13 F' U U B L U' F U L U' B U B U B U D B' L L U' B L U' L' R R B U' R B B z z x' F13' F R U' R' U F13 F' U U F U L U' B U B U B U D B' L L R R B U' R B B z z x' F13' F R U' R' U F13 U L U' B U B U B U D B B U' L U R R B U' R B B z z x' F13' F R U' R' U F13 U L U U B L L U' B L U' L' R R B U' R B B z z x' F13' F R U' R' U F13 U L U' B U B U B U D B' L L U U B L U' L' R R B U' R B B z z x' F13' F R U' R' U F13 F' U U B L U' F U L U U L R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L U B L L R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U U L R R B U' R B B z z x' F14' F R U' R' U F14 U L U' B U B U B U D B B U' D B D B U B U' B L L R R B U' R B B z z x' F14' F R U' R' U F14 U L U' B U B U B U D B B U U L R R B U' R B B z z x' F14' F R U' R' U F14 U L U' B U B U B U D B B L R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L U L R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L U' B U B U B U D B B U U L R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L U' B U B U B U D B B U' L U U B L U' L' R R B U' R B B z z x' F14' F R U' R' U F14 U L U' B U B U B U D B B U' L U R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L U B L L R R B U' R B B z z x' F14' F R U' R' U F14 F' U' F U L U'
B U B U B U D B B U U L R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L U B L L R R B U' R B B z z x' F14' F R U' R' U F14 U L U' B U B U B U D B B U' L R R B U' R B B z z x' F14' F R U' R' U F14 U L U' B U B U B U D B B U' B L L U' R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U' L U B L U' L' R R B U' R B B z z x' F14' F R U' R' U F14 U L U' B U B U B U D B B U' D B D B U B U' L U R R B U' R B B z z x' F14' F R U' R' U F14 U L U' B U B U B U D B B U' D B D B U B U' L U B L U' L' R R B U' R B B z z x' F14' F R U' R' U F14 U L U' B U B U B U D B' L L U' B U B U B U D B B U' D B D B U B U' B L U' L' R R B U' R B B z z x' F14' F R U' R' U F14 F' U U B L U' F U L U' L R R B U' R B B z z x' F15' F R U' R' U F15 U L U' B U B U B U D B' L L R R B U' R B B z z x' F15' F R U' R' U F15 F' U U B L U' F U L U' B U B U B U D B B U B L L R R B U' R B B z z x' F15' F R U' R' U F15 U L U' B U B U B U D B B L R R B U' R B B z z x' F15' F R U' R' U F15 F' U U B L U' F U L U' B L L R R B U' R B B z z x' F15' F R U' R' U F15 F' U U B L U' F U L R R B U' R B B z z x' F15' F R U' R' U F15 U L U' B U B U B U D B B U L R R B U' R B B z z x' F15' F R U' R' U F15 F' U U B L U' F U L U U B L U' L' R R B U' R B B z z x' F15' F R U' R' U F15 U L U' B U B U B U D B B U' D B D B U B U U L R R B U' R B B z z x' F15' F R U' R' U F15 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U U L R R B U' R B B z z x' F15' F R U' R' U F15 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B B L L R R B U' R B B z z x' F15' F R U' R' U F15 U L U' B U B U B U D B B U' B L L U' B L U' L' R R B U' R B B z z x' F15' F R U' R' U F15 F' U U F U L U' B U B U B U D B' L L U U R R B U' R B B z z x' F15' F R U' R' U F15 F' U U B L U' F U L U' B U B U B U D B B U U L R R B U' R B B z z x' F15' F R U' R' U F15 U L U' B U B U B U D B B U' D B D B U B B L L U' B U B U B U D B B R R B U' R B B z z x' F15' F R U' R' U F15 F' U U B L U' F U L U' B U B U B U D B' L L B L U' L' R R B U' R B B z z x' F15' F R U' R' U F15 F' U' x x U F R F U R F U y' U U B L U' L' z' F15' F R U' R' U F15 U L U U B L L U' B U B U B U D B B U U R R B U' R B B z z x' F15' F R U' R' U F15 U L U' B U B U B U D B B U' D B D B U B B L L R R B U' R B B z z x' F16' F R U' R' U F16 U L U' B U B U B U
D B B U' B L L R R B U' R B B z z x' F16' F R U' R' U F16 F' U U B L U' F U L U' B U B U B U D B B U L R R B U' R B B z z x' F16' F R U' R' U F16 U L U' B U B U B U D B B U U L U U B L U' L' R R B U' R B B z z x' F16' F R U' R' U F16 U L B L L R R B U' R B B z z x' F16' F R U' R' U F16 U L U' L R R B U' R B B z z x' F16' F R U' R' U F16 F' U U B L U' F U L U' B U B U B U D B' L L U U B L U' L' R R B U' R B B z z x' F16' F R U' R' U F16 U L U' B U B U B U D B B U L R R B U' R B B z z x' F16' F R U' R' U F16 F' U U B L U' F U L L R R B U' R B B z z x' F16' F R U' R' U F16 F' U U B L U' F U L U' B U B U B U D B' L L U R R B U' R B B z z x' F16' F R U' R' U F16 U L U' B U B U B U D B B U B L L R R B U' R B B z z x' F16' F R U' R' U F16 U L U' B U B U B U D B B U' D B D B U B B L L U R R B U' R B B z z x' F16' F R U' R' U F16 U L U' B U B U B U D B B U U B L L R R B U' R B B z z x' F16' F R U' R' U F16 U L U' B L L U R R B U' R B B z z x' F16' F R U' R' U F16 F' B L U' F U L U B L L B L U' L' R R B U' R B B z z x' F16' F R U' R' U F16 U L U' B U B U B U D B B U L U R R B U' R B B z z x' F16' F R U' R' U F16 F' U U B L U' F U L U' B U B U B U D B' L L U' B U B U B U D B B U B L U' L' R R B U' R B B z z x' F16' F R U' R' U F16 F' U U B L U' F U L U' B U B U B U D B B U L R R B U' R B B z z x' F17' F R U' R' U F17 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U' B L L R R B U' R B B z z x' F17' F R U' R' U F17 F' U U B L U' F U L L R R B U' R B B z z x' F17' F R U' R' U F17 F' U U B L U' F U L U' B U B U B U D B B U U B L L R R B U' R B B z z x' F17' F R U' R' U F17 F' U U B L U' F U L B L L R R B U' R B B z z x' F17' F R U' R' U F17 U L B L L R R B U' R B B z z x' F17' F R U' R' U F17 U L U' B U B U B U D B B U' D B D B U B U' L R R B U' R B B z z x' F17' F R U' R' U F17 F' U U B L U' F U L U' B U B U B U D B' L L R R B U' R B B z z x' F17' F R U' R' U F17 F' U U B L U' F U L U' B U B U B U D B B U B L L U U B L U' L' R R B U' R B B z z x' F17' F R U' R' U F17 U L U' B U B U B U D B B U' D B D B U B B L L R R B U' R B B z z x' F17' F R U' R' U F17 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U U L R R B U' R B B z z x' F17' F R U' R' U F17 F' U U B L U' F U L U B L L U U B L U' L' R R B U' R B B z z x' F17' F R U' R' U F17 U L U U B L L R R B U' R B B z z x' F17' F R U' R' U F17 U
L U' B U B U B U D B B U' D B D B U B U U L U' B L U' L' R R B U' R B B z z x' F17' F R U' R' U F17 U U B L L U' B L U' L' R R B U' R B B z z x' F17' F R U' R' U F17 U L U U B L L U' B U B U B U D B B U' R R B U' R B B z z x' F17' F R U' R' U F17 U L U' B U B U B U D B B U L U R R B U' R B B z z x' F17' F R U' R' U F17 U L U' B U B U B U D B B U' B L L U' B U B U B U D B B U' R R B U' R B B z z x' F17' F R U' R' U F17 U L U U B L L U' B U B U B U D B B U' D B D B U B U U R R B U' R B B z z x' F17' F R U' R' U F17 U L U' B U B U B U D B B U U R F U R F U y' z' F17' F R U' R' U F17 U L U U B L L U' B U B U B U D B B U U R R B U' R B B z z x' F17' F R U' R' U F17 F' U U B L U' F U L U' B U B U B U D B B U' D B D B U B U' B L L R R B U' R B B z z x' F18' F R U' R' U F18 F' U U B L U' F U L U U B L L R R B U' R B B z z x' F18' F R U' R' U F18 F' U U B L U' F U L U' B U B U B U D B B U' L R R B U' R B B z z x' F18' F R U' R' U F18 F' U U B L U' F U L U' B U B U B U D B B U U L R R B U' R B B z z x' F18' F R U' R' U F18 F' U U B L U' F U L U' B U B U B U D B B U L R R B U' R B B z z x' F18' F R U' R' U F18 F' U U B L U' F U L U' B U B U B U D B B U' B L L R R B U' R B B z z x' F18' F R U' R' U F18 F' U U B L U' F U L U U L R R B U' R B B z z x' F18' F R U' R' U F18 F' U U B L U' F U L B L L U U B L U' L' R R B U' R B B z z x' F18' F R U' R' U F18 U L U' B U B U B U D B B U L U R R B U' R B B z z x' F18' F R U' R' U F18 F' U U B L U' F U L R R B U' R B B z z x' F18' F R U' R' U F18 F' U U B L U' F U L B L L U R R B U' R B B z z x' F18' F R U' R' U F18 U L U' B U B U B U D B B U U B L L R R B U' R B B z z x' F18' F R U' R' U F18 F' U U B L U' F U L U U L R R B U' R B B z z x' F18' F R U' R' U F18 U L U B L L R R B U' R B B z z x' F18' F R U' R' U F18 U L U' B U B U B U D B B U' B L L U U B L U' L' R R B U' R B B z z x' F18' F R U' R' U F18 U L U' B U B U B U D B B L U' B L U' L' R R B U' R B B z z x' F18' F R U' R' U F18 U L U' B U B U B U D B B U' D B D B U B B L L R R B U' R B B z z x' F18' F R U' R' U F18 U L U' B U B U B U D B B U B L L U R R B U' R B B z z x' F18' F R U' R' U F18 U L U' B U B U B U D B B U' L U U R R B U' R B B z z x' F18' F R U' R' U F18 U L U U B L L U' R R B U' R B B z z x' F18' F R U' R' U F18 F' z x U' z' F U' F F U U z U U F U U F' U' R z' U' R U U D' y' F R F' y D U U y'
F R F' y D U U D' U y' F R F' y D U' D D U y' F R F' y D U' D' U' y' F R F' y D U D D U' y' F R' F' y D D y' F R F' y U y y U U z U' z U' z R U' R' U' F' U F U z R U' R' U' F' U F U' z R U' R' U' F' U F z U R U' R' U' F' U F z U' L' U L U F U' F' z z U U z R U' R' U' F' U F U F R U R' F' U F U U F' U' R R F F R' B' R F F R' B R' z U R10 U U R10' U U F F U U F F U U F F R10 U U R10' x' R10 U U R10' U U F F U U F F U U F F R10 U U R10' x' R10 U U R10' U U F F U U F F U U F F R10 U U R10' x U D D U F' U' R z' F' U D D U y' F R F' y D U' D D U U y' F R F' y U U y y U U R U' R' U' F' U F U z U' z U' z R U' R' U' F' U F U U z U' z U' z U' U' L' U L U F U' F' U' R U' R' U' F' U F F R U R' U' F' U U F R U R' U' R U R' U' F' U R' U' R U' R' U R U' R' U U R U U R' U' R U' R' U U R z z F U F' U F U U F' U' D'

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值