alg = "R' D R"
wheres = cubies = "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 = ''.maketrans(perm, perm[n:] + perm[:n])
wheres = [w.translate(table) if move[0] in w else w for w in wheres]
for c, w in zip(cubies, wheres):
if c != w:
print(c, 'moved to', w)
YWxnID0gIlInIEQgUiIKCndoZXJlcyA9IGN1YmllcyA9ICJVRiBVUiBVQiBVTCBERiBEUiBEQiBETCBGUiBGTCBCUiBCTCBVRlIgVVJCIFVCTCBVTEYgRFJGIERGTCBETEIgREJSIi5zcGxpdCgpCmZvciBtb3ZlIGluIGFsZy5zcGxpdCgpOgogICAgcGVybSA9ICJGTEJSIEZSQkwgRkRCVSBGVUJEIFVSREwgVUxEUiIuc3BsaXQoKVsnVURMUkZCJy5pbmRleChtb3ZlWzBdKV0KICAgIG4gPSBsZW4obW92ZSkgKyBtb3ZlLmVuZHN3aXRoKCInIikKICAgIHRhYmxlID0gJycubWFrZXRyYW5zKHBlcm0sIHBlcm1bbjpdICsgcGVybVs6bl0pCiAgICB3aGVyZXMgPSBbdy50cmFuc2xhdGUodGFibGUpIGlmIG1vdmVbMF0gaW4gdyBlbHNlIHcgZm9yIHcgaW4gd2hlcmVzXQpmb3IgYywgdyBpbiB6aXAoY3ViaWVzLCB3aGVyZXMpOgogICAgaWYgYyAhPSB3OgogICAgICAgIHByaW50KGMsICdtb3ZlZCB0bycsIHcp