import string
alg = "R' D R"
state = solved = "UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR".split()
for move in alg.split():
perm = "FLBR FRBL FDBU FUBD URDL ULDR".split()['UDLRFB'.index(move[0])]
n = len(move) + move.endswith("'")
table = string.maketrans(perm, perm[n:] + perm[:n])
state = [p.translate(table) if move[0] in p else p for p in state]
for io in zip(solved, state):
if io[0] != io[1]:
print "{} moved to {}".format(*io)
aW1wb3J0IHN0cmluZwoKYWxnID0gIlInIEQgUiIKCnN0YXRlID0gc29sdmVkID0gIlVGIFVSIFVCIFVMIERGIERSIERCIERMIEZSIEZMIEJSIEJMIFVGUiBVUkIgVUJMIFVMRiBEUkYgREZMIERMQiBEQlIiLnNwbGl0KCkKZm9yIG1vdmUgaW4gYWxnLnNwbGl0KCk6CiAgICBwZXJtID0gIkZMQlIgRlJCTCBGREJVIEZVQkQgVVJETCBVTERSIi5zcGxpdCgpWydVRExSRkInLmluZGV4KG1vdmVbMF0pXQogICAgbiA9IGxlbihtb3ZlKSArIG1vdmUuZW5kc3dpdGgoIiciKQogICAgdGFibGUgPSBzdHJpbmcubWFrZXRyYW5zKHBlcm0sIHBlcm1bbjpdICsgcGVybVs6bl0pCiAgICBzdGF0ZSA9IFtwLnRyYW5zbGF0ZSh0YWJsZSkgaWYgbW92ZVswXSBpbiBwIGVsc2UgcCBmb3IgcCBpbiBzdGF0ZV0KZm9yIGlvIGluIHppcChzb2x2ZWQsIHN0YXRlKToKICAgIGlmIGlvWzBdICE9IGlvWzFdOgogICAgICAgIHByaW50ICJ7fSBtb3ZlZCB0byB7fSIuZm9ybWF0KCppbyk=