起始柱过渡柱目标柱层数移动汉诺塔EQ层数2起始柱过渡柱目标柱MINUS1层数1起始柱目标柱过渡柱C起始柱B目标柱MINUS1层数1过渡柱起始柱目标柱55ABC移动2层汉诺塔A起始柱C过渡柱A起始柱B目标柱C过渡柱B目标柱{}aW1wb3J0IHRpbWUKaW1wb3J0IHNwcml0ZQoKZGVmIF9FN19BN19CQl9FNV84QV9BOF9FNl9CMV84OV9FOF9BRl9CQV9FNV9BMV85NChfRTVfQjFfODJfRTZfOTVfQjAsIF9FOF9CNV9CN19FNV9BN184Ql9FNl85Rl9CMSwgX0U4X0JGXzg3X0U2X0I4X0ExX0U2XzlGX0IxLCBfRTdfOUJfQUVfRTZfQTBfODdfRTZfOUZfQjEpOgogICAgaWYgX0U1X0IxXzgyX0U2Xzk1X0IwID09IDI6CiAgICAgICAgX0U3X0E3X0JCX0U1XzhBX0E4Ml9FNV9CMV84Ml9FNl9CMV84OV9FOF9BRl9CQV9FNV9BMV85NChfRThfQjVfQjdfRTVfQTdfOEJfRTZfOUZfQjEsIF9FOF9CRl84N19FNl9COF9BMV9FNl85Rl9CMSwgX0U3XzlCX0FFX0U2X0EwXzg3X0U2XzlGX0IxKQogICAgZWxzZToKICAgICAgICBfRTdfQTdfQkJfRTVfOEFfQThfRTZfQjFfODlfRThfQUZfQkFfRTVfQTFfOTQoX0U1X0IxXzgyX0U2Xzk1X0IwIC0gMSwgX0U4X0I1X0I3X0U1X0E3XzhCX0U2XzlGX0IxLCBfRTdfOUJfQUVfRTZfQTBfODdfRTZfOUZfQjEsIF9FOF9CRl84N19FNl9COF9BMV9FNl85Rl9CMSkKICAgICAgICBpZiBsZW4oX0hhbm9pW19FOF9CNV9CN19FNV9BN184Ql9FNl85Rl9CMV0pPjAgOgogICAgICAgICAgICBfSGFub2lCbG9ja01vdmVkID0gX0hhbm9pW19FOF9CNV9CN19FNV9BN184Ql9FNl85Rl9CMV0ucG9wKCkKICAgICAgICAgICAgaWYgbGVuKF9IYW5vaVtfRTdfOUJfQUVfRTZfQTBfODdfRTZfOUZfQjFdKSA+IDAgOgogICAgICAgICAgICAgICAgX0hhbm9pQmxvY2tTdXBwcmVzc2VkID0gX0hhbm9pW19FN185Ql9BRV9FNl9BMF84N19FNl85Rl9CMV0ucG9wKCkKICAgICAgICAgICAgICAgIGlmIF9IYW5vaUJsb2NrLmluZGV4KF9IYW5vaUJsb2NrTW92ZWQpID4gX0hhbm9pQmxvY2suaW5kZXgoX0hhbm9pQmxvY2tTdXBwcmVzc2VkKToKICAgICAgICAgICAgICAgICAgICBwcmludCgn6Z2e5rOV56e75Yqo77yB56iL5bqP5pyJ6K+v77yBJykKICAgICAgICAgICAgICAgICAgICBleGl0KCkKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgX0hhbm9pW19FN185Ql9BRV9FNl9BMF84N19FNl85Rl9CMV0uYXBwZW5kKF9IYW5vaUJsb2NrU3VwcHJlc3NlZCkKICAgICAgICAgICAgX0hhbm9pQmxvY2tNb3ZlZC5zbGlkZVRvKF9FOF9CNV9CN19FNV9BN184Ql9FNl85Rl9CMSoyMDArMjAwLCAxODAsIDAuMikKICAgICAgICAgICAgX0hhbm9pQmxvY2tNb3ZlZC5zbGlkZVRvKF9FN185Ql9BRV9FNl9BMF84N19FNl85Rl9CMSoyMDArMjAwLCAxODAsIDAuNSkKICAgICAgICAgICAgX0hhbm9pQmxvY2tNb3ZlZC5zbGlkZVRvKF9FN185Ql9BRV9FNl9BMF84N19FNl85Rl9CMSoyMDArMjAwLCA0MDAtbGVuKF9IYW5vaVtfRTdfOUJfQUVfRTZfQTBfODdfRTZfOUZfQjFdKSoyNywgMC4yKQogICAgICAgICAgICBfSGFub2lbX0U3XzlCX0FFX0U2X0EwXzg3X0U2XzlGX0IxXS5hcHBlbmQoX0hhbm9pQmxvY2tNb3ZlZCkKICAgICAgICAgICAgX3N0ZXBzWydzdGVwcyddICs9IDEKICAgICAgICAgICAgX3N0ZXB0ZXh0LmNoYW5nZVRleHQoJ+atpeaVsO+8micrc3RyKF9zdGVwc1snc3RlcHMnXSkpCiAgICAgICAgZWxzZSA6CiAgICAgICAgICAgIHByaW50KCfpnZ7ms5Xnp7vliqjvvIHnqIvluo/mnInor6/vvIEnKQogICAgICAgICAgICBleGl0KCkKICAgICAgICBfRTdfQTdfQkJfRTVfOEFfQThfRTZfQjFfODlfRThfQUZfQkFfRTVfQTFfOTQoX0U1X0IxXzgyX0U2Xzk1X0IwIC0gMSwgX0U4X0JGXzg3X0U2X0I4X0ExX0U2XzlGX0IxLCBfRThfQjVfQjdfRTVfQTdfOEJfRTZfOUZfQjEsIF9FN185Ql9BRV9FNl9BMF84N19FNl85Rl9CMSkKCmRlZiBfRTdfQTdfQkJfRTVfOEFfQTgyX0U1X0IxXzgyX0U2X0IxXzg5X0U4X0FGX0JBX0U1X0ExXzk0KF9FOF9CNV9CN19FNV9BN184Ql9FNl85Rl9CMSwgX0U4X0JGXzg3X0U2X0I4X0ExX0U2XzlGX0IxLCBfRTdfOUJfQUVfRTZfQTBfODdfRTZfOUZfQjEpOgogICAgaWYgbGVuKF9IYW5vaVtfRThfQjVfQjdfRTVfQTdfOEJfRTZfOUZfQjFdKT4wIDoKICAgICAgICBfSGFub2lCbG9ja01vdmVkID0gX0hhbm9pW19FOF9CNV9CN19FNV9BN184Ql9FNl85Rl9CMV0ucG9wKCkKICAgICAgICBpZiBsZW4oX0hhbm9pW19FOF9CRl84N19FNl9COF9BMV9FNl85Rl9CMV0pID4gMCA6CiAgICAgICAgICAgIF9IYW5vaUJsb2NrU3VwcHJlc3NlZCA9IF9IYW5vaVtfRThfQkZfODdfRTZfQjhfQTFfRTZfOUZfQjFdLnBvcCgpCiAgICAgICAgICAgIGlmIF9IYW5vaUJsb2NrLmluZGV4KF9IYW5vaUJsb2NrTW92ZWQpID4gX0hhbm9pQmxvY2suaW5kZXgoX0hhbm9pQmxvY2tTdXBwcmVzc2VkKToKICAgICAgICAgICAgICAgIHByaW50KCfpnZ7ms5Xnp7vliqjvvIHnqIvluo/mnInor6/vvIEnKQogICAgICAgICAgICAgICAgZXhpdCgpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBfSGFub2lbX0U4X0JGXzg3X0U2X0I4X0ExX0U2XzlGX0IxXS5hcHBlbmQoX0hhbm9pQmxvY2tTdXBwcmVzc2VkKQogICAgICAgIF9IYW5vaUJsb2NrTW92ZWQuc2xpZGVUbyhfRThfQjVfQjdfRTVfQTdfOEJfRTZfOUZfQjEqMjAwKzIwMCwgMTgwLCAwLjIpCiAgICAgICAgX0hhbm9pQmxvY2tNb3ZlZC5zbGlkZVRvKF9FOF9CRl84N19FNl9COF9BMV9FNl85Rl9CMSoyMDArMjAwLCAxODAsIDAuNSkKICAgICAgICBfSGFub2lCbG9ja01vdmVkLnNsaWRlVG8oX0U4X0JGXzg3X0U2X0I4X0ExX0U2XzlGX0IxKjIwMCsyMDAsIDQwMC1sZW4oX0hhbm9pW19FOF9CRl84N19FNl9COF9BMV9FNl85Rl9CMV0pKjI3LCAwLjIpCiAgICAgICAgX0hhbm9pW19FOF9CRl84N19FNl9COF9BMV9FNl85Rl9CMV0uYXBwZW5kKF9IYW5vaUJsb2NrTW92ZWQpCiAgICAgICAgX3N0ZXBzWydzdGVwcyddICs9IDEKICAgICAgICBfc3RlcHRleHQuY2hhbmdlVGV4dCgn5q2l5pWw77yaJytzdHIoX3N0ZXBzWydzdGVwcyddKSkKICAgIGVsc2UgOgogICAgICAgIHByaW50KCfpnZ7ms5Xnp7vliqjvvIHnqIvluo/mnInor6/vvIEnKQogICAgICAgIGV4aXQoKQogICAgaWYgbGVuKF9IYW5vaVtfRThfQjVfQjdfRTVfQTdfOEJfRTZfOUZfQjFdKT4wIDoKICAgICAgICBfSGFub2lCbG9ja01vdmVkID0gX0hhbm9pW19FOF9CNV9CN19FNV9BN184Ql9FNl85Rl9CMV0ucG9wKCkKICAgICAgICBpZiBsZW4oX0hhbm9pW19FN185Ql9BRV9FNl9BMF84N19FNl85Rl9CMV0pID4gMCA6CiAgICAgICAgICAgIF9IYW5vaUJsb2NrU3VwcHJlc3NlZCA9IF9IYW5vaVtfRTdfOUJfQUVfRTZfQTBfODdfRTZfOUZfQjFdLnBvcCgpCiAgICAgICAgICAgIGlmIF9IYW5vaUJsb2NrLmluZGV4KF9IYW5vaUJsb2NrTW92ZWQpID4gX0hhbm9pQmxvY2suaW5kZXgoX0hhbm9pQmxvY2tTdXBwcmVzc2VkKToKICAgICAgICAgICAgICAgIHByaW50KCfpnZ7ms5Xnp7vliqjvvIHnqIvluo/mnInor6/vvIEnKQogICAgICAgICAgICAgICAgZXhpdCgpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBfSGFub2lbX0U3XzlCX0FFX0U2X0EwXzg3X0U2XzlGX0IxXS5hcHBlbmQoX0hhbm9pQmxvY2tTdXBwcmVzc2VkKQogICAgICAgIF9IYW5vaUJsb2NrTW92ZWQuc2xpZGVUbyhfRThfQjVfQjdfRTVfQTdfOEJfRTZfOUZfQjEqMjAwKzIwMCwgMTgwLCAwLjIpCiAgICAgICAgX0hhbm9pQmxvY2tNb3ZlZC5zbGlkZVRvKF9FN185Ql9BRV9FNl9BMF84N19FNl85Rl9CMSoyMDArMjAwLCAxODAsIDAuNSkKICAgICAgICBfSGFub2lCbG9ja01vdmVkLnNsaWRlVG8oX0U3XzlCX0FFX0U2X0EwXzg3X0U2XzlGX0IxKjIwMCsyMDAsIDQwMC1sZW4oX0hhbm9pW19FN185Ql9BRV9FNl9BMF84N19FNl85Rl9CMV0pKjI3LCAwLjIpCiAgICAgICAgX0hhbm9pW19FN185Ql9BRV9FNl9BMF84N19FNl85Rl9CMV0uYXBwZW5kKF9IYW5vaUJsb2NrTW92ZWQpCiAgICAgICAgX3N0ZXBzWydzdGVwcyddICs9IDEKICAgICAgICBfc3RlcHRleHQuY2hhbmdlVGV4dCgn5q2l5pWw77yaJytzdHIoX3N0ZXBzWydzdGVwcyddKSkKICAgIGVsc2UgOgogICAgICAgIHByaW50KCfpnZ7ms5Xnp7vliqjvvIHnqIvluo/mnInor6/vvIEnKQogICAgICAgIGV4aXQoKQogICAgaWYgbGVuKF9IYW5vaVtfRThfQkZfODdfRTZfQjhfQTFfRTZfOUZfQjFdKT4wIDoKICAgICAgICBfSGFub2lCbG9ja01vdmVkID0gX0hhbm9pW19FOF9CRl84N19FNl9COF9BMV9FNl85Rl9CMV0ucG9wKCkKICAgICAgICBpZiBsZW4oX0hhbm9pW19FN185Ql9BRV9FNl9BMF84N19FNl85Rl9CMV0pID4gMCA6CiAgICAgICAgICAgIF9IYW5vaUJsb2NrU3VwcHJlc3NlZCA9IF9IYW5vaVtfRTdfOUJfQUVfRTZfQTBfODdfRTZfOUZfQjFdLnBvcCgpCiAgICAgICAgICAgIGlmIF9IYW5vaUJsb2NrLmluZGV4KF9IYW5vaUJsb2NrTW92ZWQpID4gX0hhbm9pQmxvY2suaW5kZXgoX0hhbm9pQmxvY2tTdXBwcmVzc2VkKToKICAgICAgICAgICAgICAgIHByaW50KCfpnZ7ms5Xnp7vliqjvvIHnqIvluo/mnInor6/vvIEnKQogICAgICAgICAgICAgICAgZXhpdCgpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBfSGFub2lbX0U3XzlCX0FFX0U2X0EwXzg3X0U2XzlGX0IxXS5hcHBlbmQoX0hhbm9pQmxvY2tTdXBwcmVzc2VkKQogICAgICAgIF9IYW5vaUJsb2NrTW92ZWQuc2xpZGVUbyhfRThfQkZfODdfRTZfQjhfQTFfRTZfOUZfQjEqMjAwKzIwMCwgMTgwLCAwLjIpCiAgICAgICAgX0hhbm9pQmxvY2tNb3ZlZC5zbGlkZVRvKF9FN185Ql9BRV9FNl9BMF84N19FNl85Rl9CMSoyMDArMjAwLCAxODAsIDAuNSkKICAgICAgICBfSGFub2lCbG9ja01vdmVkLnNsaWRlVG8oX0U3XzlCX0FFX0U2X0EwXzg3X0U2XzlGX0IxKjIwMCsyMDAsIDQwMC1sZW4oX0hhbm9pW19FN185Ql9BRV9FNl9BMF84N19FNl85Rl9CMV0pKjI3LCAwLjIpCiAgICAgICAgX0hhbm9pW19FN185Ql9BRV9FNl9BMF84N19FNl85Rl9CMV0uYXBwZW5kKF9IYW5vaUJsb2NrTW92ZWQpCiAgICAgICAgX3N0ZXBzWydzdGVwcyddICs9IDEKICAgICAgICBfc3RlcHRleHQuY2hhbmdlVGV4dCgn5q2l5pWw77yaJytzdHIoX3N0ZXBzWydzdGVwcyddKSkKICAgIGVsc2UgOgogICAgICAgIHByaW50KCfpnZ7ms5Xnp7vliqjvvIHnqIvluo/mnInor6/vvIEnKQogICAgICAgIGV4aXQoKQoKCgpzcHJpdGUuY2xlYXJBbGxTcHJpdGVzKCkKX0hhbm9pY29sb3IgPSBbJ2JsdWUnLCAncmVkJywgJ3llbGxvdycsICdncmVlbicsICdwdXJwbGUnLCAnYmxhY2snXQpfSGFub2kgPSBbW10sIFtdLCBbXV0KQSA9IDAKQiA9IDEKQyA9IDIKX24gPSA1Cl9IYW5vaUNvbHVtbiA9IFsKICAgIHNwcml0ZS5TcHJpdGUoJ0hhbm9pQ29sdW1uJywgMjAwLCAzMjApLAogICAgc3ByaXRlLlNwcml0ZSgnSGFub2lDb2x1bW4nLCA0MDAsIDMyMCksCiAgICBzcHJpdGUuU3ByaXRlKCdIYW5vaUNvbHVtbicsIDYwMCwgMzIwKQpdCl9IYW5vaUNvbHVtbk51bWJlciA9IFsKICAgIHNwcml0ZS5UZXh0KCdBJywgMTkwLCAxMjApLAogICAgc3ByaXRlLlRleHQoJ0InLCAzOTAsIDEyMCksCiAgICBzcHJpdGUuVGV4dCgnQycsIDU5MCwgMTIwKQpdCl9IYW5vaUJsb2NrID0gW10KZm9yIGkgaW4gcmFuZ2UoMCwgX24sIDEpOgogICAgX0hhbm9pQmxvY2suYXBwZW5kKHNwcml0ZS5TcHJpdGUoX0hhbm9pY29sb3JbaV0sIDIwMCwgNDAwLShfbi1pLTEpKjI3KSkKICAgIF9IYW5vaUJsb2NrW2ldLnNldFNjYWxlKDI1LCAzMCppKzMwKQogICAgX0hhbm9pWzBdLmluc2VydCgwLCBfSGFub2lCbG9ja1tpXSkKX3N0ZXB0ZXh0ID0gc3ByaXRlLlRleHQoJ+atpeaVsO+8mjAnLCAzMCwgMzApCl9zdGVwcyA9IHsnc3RlcHMnIDogMH0KdGltZS5zbGVlcCgxKQpfRTdfQTdfQkJfRTVfOEFfQThfRTZfQjFfODlfRThfQUZfQkFfRTVfQTFfOTQoNSwgQSwgQiwgQykK