In [17]:
given = """
ATDMI ADMIT
LUADT ADULT
AILNG ALIGN
ERZAU AZURE
ONBAC BACON
HBACE BEACH
ELAYB BELAY
ELCBH BELCH
BISON BISON
ZBLEA BLAZE
BNDLI BLIND
BULSH BLUSH
BUOSN BONUS
BOWRN BROWN
CBNIA CABIN
HCLAK CHALK
COSAH CHAOS
HYCWE CHEWY
ICPHM CHIMP
IROCH CHOIR
UCHNK CHUNK
CRUHN CHURN
LMAPC CLAMP
IMBCL CLIMB
CNLIK CLINK
OYMFC COMFY
UIDCP CUPID
EUCRV CURVE
EDYOC DECOY
ETHPD DEPTH
BDTUO DOUBT
RIKND DRINK
WONDR DROWN
TEHIG EIGHT
QLAUE EQUAL
TEURP ERUPT
TFEIN FEINT
AFLKN FLANK
RFTLI FLIRT
AFCLO FOCAL
ROUMF FORUM
FRMEA FRAME
RIFUT FRUIT
RVGIE GIVER
OZIGM GIZMO
GLVOE GLOVE
UDGRO GOURD
ARECG GRACE
FRTGA GRAFT
IRALG GRAIL
NAIGR GRAIN
ARNGD GRAND
IUGDE GUIDE
GITUL GUILT
NVHEA HAVEN
OACVH HAVOC
VHEAY HEAVY
IEHTS HEIST
YONEH HONEY
EIPNT INEPT
JYCUI JUICY
FNKIE KNIFE
LNAIT LATIN
GUALH LAUGH
TEGLI LEGIT
YOSUL LOUSY
UNLHC LUNCH
YLMDA MADLY
ATMCH MATCH
MLDEO MODEL
MGULO MOGUL
NMEYO MONEY
TMNOH MONTH
NCMUH MUNCH
OSINY NOISY
NHMYP NYMPH
MOEGA OMEGA
ONHEP PHONE
OTPLI PILOT
POVTI PIVOT
OHAPC POACH
EZPRI PRIZE
ODRUP PROUD
UNPER PRUNE
AUTQR QUART
UQTES QUEST
ADRPI RAPID
NIHOR RHINO
SRYKI RISKY
NBOIR ROBIN
BYUGR RUGBY
SHYNI SHINY
HOESV SHOVE
SKTIR SKIRT
TSNUO SNOUT
ODNSU SOUND
ADSTN STAND
KTRSO STORK
EVUAS SUAVE
FWSTI SWIFT
UGWSN SWUNG
MUTBH THUMB
ACKRT TRACK
APMRT TRAMP
IPRTE TRIPE
RNTKU TRUNK
AEKWT TWEAK
EWTCI TWICE
TYNUI UNITY
TLEAV VALET
EVNMO VENOM
EIDVO VIDEO
PREVI VIPER
HCUVO VOUCH
WEIHG WEIGH
WHCNE WENCH
HWCKA WHACK
THDIW WIDTH
THGIW WIGHT
HWTAR WRATH
""".strip()
In [24]:
import itertools
SRC = 'AAAAAAAAAABBBBCCCCDDDDEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPPPPPRRRRRRSSSSSTTTTTTTTTTUUUUVWWWWWXYYZZZ'
seen = set()
def idx(pos, start, goal):
p = itertools.permutations(start)
order = itertools.permutations('12345')
goal = tuple(goal)
for i, (v, o) in enumerate(zip(p, order)):
alphabetized_pos = alphabetized[''.join(goal)]
if v == goal:
print('%3d\t%s\t%s\t%s\t%s\t%s' % (i, start, ''.join(v), ''.join(o), SRC[i], SRC[pos]))
if v in seen:
print('ALREADY SAW %s' % ''.join(v))
seen.add(v)
break
In [26]:
for i, line in enumerate(given.split('\n')):
before, after = line.split('\t')
idx(i, before, after)
9 ATDMI ADMIT 13452 A A
62 LUADT ADULT 34215 M A
7 AILNG ALIGN 13254 A A
89 ERZAU AZURE 43521 S A
64 ONBAC BACON 34512 N A
45 HBACE BEACH 25341 I A
96 ELAYB BELAY 51234 T A
72 ELCBH BELCH 41235 O A
0 BISON BISON 12345 A A
34 ZBLEA BLAZE 23514 F A
16 BNDLI BLIND 14523 C B
6 BULSH BLUSH 13245 A B
10 BUOSN BONUS 13524 B B
12 BOWRN BROWN 14235 B B
19 CBNIA CABIN 15243 D C
26 HCLAK CHALK 21435 E C
22 COSAH CHAOS 15423 E C
53 HYCWE CHEWY 31542 L C
37 ICPHM CHIMP 24153 G D
94 IROCH CHOIR 45312 T D
30 UCHNK CHUNK 23145 E D
14 CRUHN CHURN 14325 C D
98 LMAPC CLAMP 51324 T E
90 IMBCL CLIMB 45123 S E
8 CNLIK CLINK 13425 A E
99 OYMFC COMFY 51342 T E
76 UIDCP CUPID 41523 O E
57 EUCRV CURVE 32451 L E
29 EDYOC DECOY 21543 E E
100 ETHPD DEPTH 51423 T E
46 BDTUO DOUBT 25413 I E
97 RIKND DRINK 51243 T E
92 WONDR DROWN 45213 S E
41 TEHIG EIGHT 24531 H F
101 QLAUE EQUAL 51432 T F
39 TEURP ERUPT 24351 H F
33 TFEIN FEINT 23451 F F
31 AFLKN FLANK 23154 E G
40 RFTLI FLIRT 24513 H G
44 AFCLO FOCAL 25314 I H
102 ROUMF FORUM 52134 T H
4 FRMEA FRAME 12534 A H
50 RIFUT FRUIT 31425 I H
63 RVGIE GIVER 34251 N H
87 OZIGM GIZMO 43251 R I
2 GLVOE GLOVE 12435 A I
67 UDGRO GOURD 35142 O I
103 ARECG GRACE 52143 T I
82 FRTGA GRAFT 42513 P I
104 IRALG GRAIL 52314 U I
93 NAIGR GRAIN 45231 S I
78 ARNGD GRAND 42135 P K
54 IUGDE GUIDE 32145 L K
13 GITUL GUILT 14253 B L
69 NVHEA HAVEN 35241 O L
106 OACVH HAVOC 52413 U L
32 VHEAY HEAVY 23415 E L
55 IEHTS HEIST 32154 L L
105 YONEH HONEY 52341 U L
36 EIPNT INEPT 24135 F L
17 JYCUI JUICY 14532 C M
56 FNKIE KNIFE 32415 L M
11 LNAIT LATIN 13542 B M
86 GUALH LAUGH 43215 R N
81 TEGLI LEGIT 42351 P N
107 YOSUL LOUSY 52431 U N
49 UNLHC LUNCH 31254 I N
71 YLMDA MADLY 35421 O O
48 ATMCH MATCH 31245 I O
21 MLDEO MODEL 15342 D O
18 MGULO MOGUL 15234 D O
42 NMEYO MONEY 25134 H O
38 TMNOH MONTH 24315 G O
60 NCMUH MUNCH 34125 M O
74 OSINY NOISY 41325 O O
15 NHMYP NYMPH 14352 C O
24 MOEGA OMEGA 21345 E O
108 ONHEP PHONE 53124 V O
70 OTPLI PILOT 35412 O P
20 POVTI PIVOT 15324 D P
75 OHAPC POACH 41352 O P
65 EZPRI PRIZE 34521 N P
109 ODRUP PROUD 53142 W P
66 UNPER PRUNE 35124 N R
79 AUTQR QUART 42153 P R
27 UQTES QUEST 21453 E R
51 ADRPI RAPID 31452 K R
110 NIHOR RHINO 53214 W R
43 SRYKI RISKY 25143 H R
111 NBOIR ROBIN 53241 W S
112 BYUGR RUGBY 53412 W S
5 SHYNI SHINY 12543 A S
73 HOESV SHOVE 41253 O S
3 SKTIR SKIRT 12453 A S
35 TSNUO SNOUT 23541 F T
77 ODNSU SOUND 41532 O T
61 ADSTN STAND 34152 M T
83 KTRSO STORK 42531 R T
113 EVUAS SUAVE 53421 W T
58 FWSTI SWIFT 32514 L T
85 UGWSN SWUNG 43152 R T
68 MUTBH THUMB 35214 O T
114 ACKRT TRACK 54123 X T
115 APMRT TRAMP 54132 Y T
84 IPRTE TRIPE 43125 R U
52 RNTKU TRUNK 31524 K U
116 AEKWT TWEAK 54213 Y U
59 EWTCI TWICE 32541 L U
88 TYNUI UNITY 43512 R V
117 TLEAV VALET 54231 Z W
25 EVNMO VENOM 21354 E W
80 EIDVO VIDEO 42315 P W
91 PREVI VIPER 45132 S W
95 HCUVO VOUCH 45321 T W
1 WEIHG WEIGH 12354 A X
23 WHCNE WENCH 15432 E Y
28 HWCKA WHACK 21534 E Y
118 THDIW WIDTH 54312 Z Z
119 THGIW WIGHT 54321 Z Z
47 HWTAR WRATH 25431 I Z
In [47]:
def compute_map(before, after):
return {
k: v for k, v in zip(before, after)
}
In [58]:
def find_first(src, s):
result = []
for c in s:
try:
result.append(src.index(c))
except:
result.append(-1)
return result
In [61]:
mutable = list(SRC)
for line in given.split('\n'):
before, after = line.split('\t')
print(before, after)
m = compute_map(before, after)
for idx in find_first(mutable, before):
if idx < 0:
continue
mutable[idx] = m[mutable[idx]]
print(''.join(mutable[:80]))
print(''.join(mutable))
ATDMI ADMIT
AAAAAAAAAABBBBCCCCMDDDEEEEEEEEEEEFFFFGGHHHHHTIIIIIIKKLLLLLLLIMMNNNNOOOOOOOOOOOPP
LUADT ADULT
UAAAAAAAAABBBBCCCCMLDDEEEEEEEEEEEFFFFGGHHHHHTIIIIIIKKALLLLLLIMMNNNNOOOOOOOOOOOPP
AILNG ALIGN
UAAAAAAAAABBBBCCCCMIDDEEEEEEEEEEEFFFFNGHHHHHTLIIIIIKKALLLLLLIMMGNNNOOOOOOOOOOOPP
ERZAU AZURE
ERAAAAAAAABBBBCCCCMIDDAEEEEEEEEEEFFFFNGHHHHHTLIIIIIKKALLLLLLIMMGNNNOOOOOOOOOOOPP
ONBAC BACON
EROAAAAAAACBBBNCCCMIDDAEEEEEEEEEEFFFFAGHHHHHTLIIIIIKKALLLLLLIMMGNNNBOOOOOOOOOOPP
HBACE BEACH
HROAAAAAAACEBBNCCCMIDDAEEEEEEEEEEFFFFAGBHHHHTLIIIIIKKALLLLLLIMMGNNNBOOOOOOOOOOPP
ELAYB BELAY
HROLAAAAAACBYBNCCCMIDDAEEEEEEEEEEFFFFAGBHHHHTEIIIIIKKALLLLLLIMMGNNNBOOOOOOOOOOPP
ELCBH BELCH
HROEAAAAAALCYBNCCCMIDDABEEEEEEEEEFFFFAGBHHHHTEIIIIIKKALLLLLLIMMGNNNBOOOOOOOOOOPP
BISON BISON
HROEAAAAAALCYBNCCCMIDDABEEEEEEEEEFFFFAGBHHHHTEIIIIIKKALLLLLLIMMGNNNBOOOOOOOOOOPP
ZBLEA BLAZE
HROZEAAAAAACYLNCCCMIDDABEEEEEEEEEFFFFAGBHHHHTEIIIIIKKALLLLLLIMMGNNNBOOOOOOOOOOPP
BNDLI BLIND
HROZEAAAAAACYNLCCCMDIDABEEEEEEEEEFFFFAGBHHHHTEIIIIIKKALLLLLLIMMGNNNBOOOOOOOOOOPP
BULSH BLUSH
HROZEAAAAAACYNUCCCMDIDABEEEEEEEEEFFFFAGBHHHHTEIIIIIKKALLLLLLIMMGNNNBOOOOOOOOOOPP
BUOSN BONUS
HRNZEAAAAAACYSOCCCMDIDABEEEEEEEEEFFFFAGBHHHHTEIIIIIKKALLLLLLIMMGNNNBOOOOOOOOOOPP
BOWRN BROWN
HWNZEAAAAAACYSRCCCMDIDABEEEEEEEEEFFFFAGBHHHHTEIIIIIKKALLLLLLIMMGNNNBOOOOOOOOOOPP
CBNIA CABIN
HWBZENAAAAACYSRCCCMDIDAAEEEEEEEEEFFFFAGBHHHHTEIIIIIKKALLLLLLIMMGNNNBOOOOOOOOOOPP
HCLAK CHALK
CWBZENLAAAAHYSRCCCMDIDAAEEEEEEEEEFFFFAGBHHHHTEIIIIIKKAALLLLLIMMGNNNBOOOOOOOOOOPP
COSAH CHAOS
CWBZENLOAAASYARCCCMDIDAAEEEEEEEEEFFFFAGBHHHHTEIIIIIKKAALLLLLIMMGNNNBHOOOOOOOOOPP
HYCWE CHEWY
EWBZYNLOAAASHARCCCMDIDAAEEEEEEEEEFFFFAGBCHHHTEIIIIIKKAALLLLLIMMGNNNBHOOOOOOOOOPP
ICPHM CHIMP
EWBZYNLOAAASMARHCCPDCDAAEEEEEEEEEFFFFAGBCHHHTEIIIIIKKAALLLLLIMMGNNNBHOOOOOOOOOIP
IROCH CHOIR
EWBZYNLOAAASMAHRICPDCDAAEEEEEEEEEFFFFAGBCHHHTECIIIIKKAALLLLLIMMGNNNBHOOOOOOOOOIP
UCHNK CHUNK
EWBZYNLOAAASMAURIHPDCDAAEEEEEEEEEFFFFAGBCHHHTECIIIIKKAALLLLLIMMGNNNBHOOOOOOOOOIP
CRUHN CHURN
EWBZYNLOAAASMAUHIRPDCDAAEEEEEEEEEFFFFAGBCHHHTECIIIIKKAALLLLLIMMGNNNBHOOOOOOOOOIP
LMAPC CLAMP
EWBZYNCOAAASLAUHIRMDPDAAEEEEEEEEEFFFFAGBCHHHTECIIIIKKAALLLLLIMMGNNNBHOOOOOOOOOIP
IMBCL CLIMB
EWIZYNMOAAASBAUHCRLDPDAAEEEEEEEEEFFFFAGBCHHHTECIIIIKKAALLLLLIMMGNNNBHOOOOOOOOOIP
CNLIK CLINK
EWNZYLMOAAASBAUHCRIDPDAAEEEEEEEEEFFFFAGBCHHHTECIIIIKKAALLLLLIMMGNNNBHOOOOOOOOOIP
OYMFC COMFY
EWNZOLMCAAASBAUHYRIDPDAAEEEEEEEEEFFFFAGBCHHHTECIIIIKKAALLLLLIMMGNNNBHOOOOOOOOOIP
UIDCP CUPID
EWNZOLMIAAASBACHYRUPDDAAEEEEEEEEEFFFFAGBCHHHTECIIIIKKAALLLLLIMMGNNNBHOOOOOOOOOIP
EUCRV CURVE
CWNZOLMIAAASBARHYVUPDDAAEEEEEEEEEFFFFAGBCHHHTECIIIIKKAALLLLLIMMGNNNBHOOOOOOOOOIP
EDYOC DECOY
YWNZOLMIAAASBARHCVUPEDAADEEEEEEEEFFFFAGBCHHHTECIIIIKKAALLLLLIMMGNNNBHOOOOOOOOOIP
ETHPD DEPTH
YWNZOLMIAAASBARPCVUTDHAADEEEEEEEEFFFFAGBCHHHEECIIIIKKAALLLLLIMMGNNNBHOOOOOOOOOIP
BDTUO DOUBT
YWNZTLMIAAASDARPCVBUOHAADEEEEEEEEFFFFAGBCHHHEECIIIIKKAALLLLLIMMGNNNBHOOOOOOOOOIP
RIKND DRINK
YWNZTLMRAAASKADPCVBUOHAADEEEEEEEEFFFFAGBCHHHEECIIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
WONDR DROWN
YDOZTLMNAAASKAWPCVBURHAADEEEEEEEEFFFFAGBCHHHEECIIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
TEHIG EIGHT
YDOZELMNAAASKAWPCVBURGAADIEEEEEEEFFFFATBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
QLAUE EQUAL
YDOZLQMNUAASKAWPCVBARGAADIEEEEEEEFFFFATBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
TEURP ERUPT
YDOZLQMNUAASKAWTCVBAPGAADIREEEEEEFFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
TFEIN FEINT
YDOZLQMTUAASKAWFCVBAPGAADNRIEEEEEEFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
AFLKN FLANK
YDOZAQMTUFASNAWLCVBAPGAADKRIEEEEEEFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
RFTLI FLIRT
YDOZAQMIULASNAWRCVBAPGAADKFTEEEEEEFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
AFCLO FOCAL
YDLZFQMIUAASNAWRCVBAPGAADKOTEEEEEEFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
ROUMF FORUM
YDLZMQUIRAASNAWFCVBAPGAADKOTEEEEEEFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
FRMEA FRAME
YDLZAQUIREASNAWFCVBAPGAADKOTMEEEEEFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
RIFUT FRUIT
YDLZAQIRFEASNAWUCVBAPGAADKOTMEEEEEFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
RVGIE GIVER
YDLZAQEGFRASNAWUCIBAPVAADKOTMEEEEEFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
OZIGM GIZMO
YDLIAQEMFRASNAWUCZBAPVAADKGTOEEEEEFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
GLVOE GLOVE
YDLIAQEMFRASNAWUCZBAPOAADKGTVEEEEEFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
UDGRO GOURD
YOLIAQEMFRASNAWGCZBAPDAADKUTVEEEEEFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
ARECG GRACE
YOLIGQAMFRASNAWECZBAPDAADKUTVEEEEEFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
FRTGA GRAFT
YOLIFQTMGRASNAWECZBAPDAADKUAVEEEEEFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
IRALG GRAIL
YOIGFQTMLRASNAWECZBAPDAADKUAVEEEEEFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
NAIGR GRAIN
YOAIFQTMLNRSGAWECZBAPDAADKUAVEEEEEFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
ARNGD GRAND
YOGIFQTMLARSNAWECZBAPDAADKUAVEEEEEFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
IUGDE GUIDE
YOIGFQTMLARSNAWECZBAPDAADKUAVEEEEEFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
GITUL GUILT
YOUGFQIMTARSNAWECZBAPDAADKLAVEEEEEFFFAEBCHHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
NVHEA HAVEN
YOUGFQIMTNRSHAWECZBAPDAADKLAAEEEEEFFFAEBCVHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
OACVH HAVOC
YHUGFQIMTNRSCAWEVZBAPDAADKLAAEEEEEFFFAEBCOHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
VHEAY HEAVY
YEUGFQIMTNRSCVWAHZBAPDAADKLAAEEEEEFFFAEBCOHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
IEHTS HEIST
YEUGFQHMSNRTCVWAIZBAPDAADKLAAEEEEEFFFAEBCOHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
YONEH HONEY
HEUGFQYMSNRTCVWAIZBAPDAADKLAAEEEEEFFFAEBCOHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
EIPNT INEPT
HIUGFQYMSPRTCVWANZBAEDAADKLAAEEEEEFFFAEBCOHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
JYCUI JUICY
HYCGFQUMSPRTIVWANZBAEDAADKLAAEEEEEFFFAEBCOHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
FNKIE KNIFE
HYCGKQUMSPRTFVWANZBAEDAADILAAEEEEEFFFAEBCOHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
LNAIT LATIN
HYCGKQUMSPRNFVWTAZBAEDAADILAAEEEEEFFFAEBCOHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
GUALH LAUGH
HYCLKQAMSPRNFVWTUZBAEDAADIGAAEEEEEFFFAEBCOHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
TEGLI LEGIT
HYCIKQAMSPRNFVWLUZBAEDAADTGAAEEEEEFFFAEBCOHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
YOSUL LOUSY
HLCIKQAMUPRNFVWYSZBAEDAADTGAAEEEEEFFFAEBCOHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
UNLHC LUNCH
CNHIKQAMLPRUFVWYSZBAEDAADTGAAEEEEEFFFAEBCOHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
YLMDA MADLY
CNHIKQYDAPRUFVWMSZBAELAADTGAAEEEEEFFFAEBCOHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
ATMCH MATCH
CNHIKQYDMPRUFVWTSZBAELAADAGAAEEEEEFFFAEBCOHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
MLDEO MODEL
CNHIKQYDMPRUFVWTSZBAEOAADAGAAEEEEEFFFAEBCLHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
MGULO MOGUL
CNHIKQYDMPRGFVWTSZBAELAADAOAAEEEEEFFFAEBCUHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
NMEYO MONEY
CMHIKQEDOPRGFVWTSZBANLAADAYAAEEEEEFFFAEBCUHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
TMNOH MONTH
COHIKQEDTPRGFVWMSZBANLAADAYAAEEEEEFFFAEBCUHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
NCMUH MUNCH
UOHIKQEDTPRGFVWNSZBAMLAADAYAAEEEEEFFFAEBCCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
OSINY NOISY
UNHIKQEDTPRGFVWSOZBAMLAADAYAAEEEEEFFFAEBCCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
NHMYP NYMPH
UNYIKQEDTHRGFVWSOZBAMLAADAPAAEEEEEFFFAEBCCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
MOEGA OMEGA
UNYIKQEDTHRGFVWSMZBAOLAADAPAAEEEEEFFFAEBCCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
ONHEP PHONE
UHYIKQNDTORGFVWSMZBAPLAADAEAAEEEEEFFFAEBCCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
OTPLI PILOT
UHYTKQNDIPRGFVWSMZBALOAADAEAAEEEEEFFFAEBCCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
POVTI PIVOT
UHYOKQNDTPRGFVWSMZBALIAADAEAAEEEEEFFFAEBCCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
OHAPC POACH
UOYPKQNDTCRGFVWSMZBALIAADAEAAEEEEEFFFAEBHCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
EZPRI PRIZE
UOYIKQNDTCZGFVWSMRBALEAADAPAAEEEEEFFFAEBHCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
ODRUP PROUD
UPYIKQNRTCZGFVWSMOBALEAADADAAEEEEEFFFAEBHCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
UNPER PRUNE
PUYIKQRETCZGFVWSMOBALNAADADAAEEEEEFFFAEBHCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
AUTQR QUART
PUYIKRTEACZGFVWSMOBQLNAADADAAEEEEEFFFAEBHCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
UQTES QUEST
PQYIKRESACZGFVWTMOBULNAADADAAEEEEEFFFAEBHCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
ADRPI RAPID
IQYDKPESRCZGFVWTMOBULNAAAADAAEEEEEFFFAEBHCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
NIHOR RHINO
HQYDKPESOCZGFVWTMNBULRAAAADAAEEEEEFFFAEBICHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
SRYKI RISKY
HQSDKPEROCZGFVWTMNBULIAAAADAAEEEEEFFFAEBYCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
NBOIR ROBIN
HQSDKPENBCZGFVWTMROULIAAAADAAEEEEEFFFAEBYCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
BYUGR RUGBY
HQSDKPENRCZBFVWTMYOGLIAAAADAAEEEEEFFFAEBUCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
SHYNI SHINY
HQSDKPENRCZBFVWTMIOGLYAAAADAAEEEEEFFFAEBUCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
HOESV SHOVE
SQVDKPONRCZBFEWTMIHGLYAAAADAAEEEEEFFFAEBUCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
SKTIR SKIRT
SQVDKPONTCZBFEWIMRHGLYAAAADAAEEEEEFFFAEBUCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
TSNUO SNOUT
NQVDKPTOSCZBFEWIMRHGLYAAAADAAEEEEEFFFAEBUCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
ODNSU SOUND
UQVOKPTSNCZBFEWIMRHGLYAAAADAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
ADSTN STAND
UQVOKPNADCZBFEWIMRHGLYSAAATAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
KTRSO STORK
UQVKSPNADCZBFEWIMOHGLYRAAATAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
EVUAS SUAVE
AQUKEPNVDCZBFSWIMOHGLYRAAATAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
FWSTI SWIFT
AQUKEPNVDCZBSIWTMOHGLYRAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
UGWSN SWUNG
AQSKEPGVDCZBNIUTMOHWLYRAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
MUTBH THUMB
AQSKEPGVDCZMNIHUTOBWLYRAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
ACKRT TRACK
TQSAEPGVDRZMNIHUKOBWLYCAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
APMRT TRAMP
PQSTERGVDMZANIHUKOBWLYCAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
IPRTE TRIPE
RQSPEIGVDMZANTHUKOBWLYCAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
RNTKU TRUNK
TQSPEIGVDMZARUHKNOBWLYCAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
AEKWT TWEAK
KQSPWIGVDMZTRUHENOBALYCAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
EWTCI TWICE
KQSPWEGVDMZIRUHTNOBALYCAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
TYNUI UNITY
KQSPWEGVDMZYRTHUIOBALNCAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
TLEAV VALET
KQSPWLGTDMZYRVHUIOBEANCAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
EVNMO VENOM
KQSPWLGTDOZYREHUIMBVANCAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
EIDVO VIDEO
KQSPWLGTDOZYRVHUIMBEANCAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
PREVI VIPER
KQSVWLGTDOZYIEHURMBPANCAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
HCUVO VOUCH
KQSCWLGTDHZYIEVURMBPANOAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
WEIHG WEIGH
KQSCWLHTDGZYIEVURMBPANOAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
WHCNE WENCH
KQSNWLETDGZYIHVURMBPACOAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
HWCKA WHACK
CQSNHLETDGZYIWVURMBPKAOAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
THDIW WIDTH
CQSNILEWDGZYTHVURMBPKAOAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
THGIW WIGHT
CQSNHLETDGZYWIVURMBPKAOAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
HWTAR WRATH
CQSNWLEADGZYRIVUHMBPKTOAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIP
CQSNWLEADGZYRIVUHMBPKTOAAAFAAEEEEEFFFAEBDCHHEECHIIIIKAALLLLLIMMGNNNBHOOOOOOOOOIPPPPBRRRRRCSSSSDTTTTTTTTTDLUUEOWWWWXAYUZZ
In [68]:
def compute_swap_map(before, after):
return [after.index(b) for b in before]
In [69]:
mutable = list(SRC)
length = len(mutable)
for pos, line in enumerate(given.split('\n')):
before, after = line.split('\t')
print(before, after)
if pos + 5 > length:
rollover = 5 - (length - pos)
positions = list(range(pos, length)) + list(range(0, rollover))
original = mutable[pos:] + mutable[:rollover]
else:
positions = list(range(pos, pos+5))
original = mutable[pos:pos+5]
m = compute_swap_map(before, after)
print(positions)
print(original)
print(m)
for i, x in enumerate(positions):
mutable[x] = original[m[i]]
print(''.join(mutable[:80]))
print(''.join(mutable))
ATDMI ADMIT
[0, 1, 2, 3, 4]
['A', 'A', 'A', 'A', 'A']
[0, 4, 1, 2, 3]
AAAAAAAAAABBBBCCCCDDDDEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
LUADT ADULT
[1, 2, 3, 4, 5]
['A', 'A', 'A', 'A', 'A']
[3, 2, 0, 1, 4]
AAAAAAAAAABBBBCCCCDDDDEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
AILNG ALIGN
[2, 3, 4, 5, 6]
['A', 'A', 'A', 'A', 'A']
[0, 2, 1, 4, 3]
AAAAAAAAAABBBBCCCCDDDDEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
ERZAU AZURE
[3, 4, 5, 6, 7]
['A', 'A', 'A', 'A', 'A']
[4, 3, 1, 0, 2]
AAAAAAAAAABBBBCCCCDDDDEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
ONBAC BACON
[4, 5, 6, 7, 8]
['A', 'A', 'A', 'A', 'A']
[3, 4, 0, 1, 2]
AAAAAAAAAABBBBCCCCDDDDEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
HBACE BEACH
[5, 6, 7, 8, 9]
['A', 'A', 'A', 'A', 'A']
[4, 0, 2, 3, 1]
AAAAAAAAAABBBBCCCCDDDDEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
ELAYB BELAY
[6, 7, 8, 9, 10]
['A', 'A', 'A', 'A', 'B']
[1, 2, 3, 4, 0]
AAAAAAAAABABBBCCCCDDDDEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
ELCBH BELCH
[7, 8, 9, 10, 11]
['A', 'A', 'B', 'A', 'B']
[1, 2, 3, 0, 4]
AAAAAAAABAABBBCCCCDDDDEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
BISON BISON
[8, 9, 10, 11, 12]
['B', 'A', 'A', 'B', 'B']
[0, 1, 2, 3, 4]
AAAAAAAABAABBBCCCCDDDDEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
ZBLEA BLAZE
[9, 10, 11, 12, 13]
['A', 'A', 'B', 'B', 'B']
[3, 0, 1, 4, 2]
AAAAAAAABBAABBCCCCDDDDEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
BNDLI BLIND
[10, 11, 12, 13, 14]
['A', 'A', 'B', 'B', 'C']
[0, 3, 4, 1, 2]
AAAAAAAABBABCABCCCDDDDEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
BULSH BLUSH
[11, 12, 13, 14, 15]
['B', 'C', 'A', 'B', 'C']
[0, 2, 1, 3, 4]
AAAAAAAABBABACBCCCDDDDEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
BUOSN BONUS
[12, 13, 14, 15, 16]
['A', 'C', 'B', 'C', 'C']
[0, 3, 1, 4, 2]
AAAAAAAABBABACCCBCDDDDEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
BOWRN BROWN
[13, 14, 15, 16, 17]
['C', 'C', 'C', 'B', 'C']
[0, 2, 3, 1, 4]
AAAAAAAABBABACCBCCDDDDEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
CBNIA CABIN
[14, 15, 16, 17, 18]
['C', 'B', 'C', 'C', 'D']
[0, 2, 4, 3, 1]
AAAAAAAABBABACCCDCBDDDEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
HCLAK CHALK
[15, 16, 17, 18, 19]
['C', 'D', 'C', 'B', 'D']
[1, 0, 3, 2, 4]
AAAAAAAABBABACCDCBCDDDEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
COSAH CHAOS
[16, 17, 18, 19, 20]
['C', 'B', 'C', 'D', 'D']
[0, 3, 4, 2, 1]
AAAAAAAABBABACCDCDDCBDEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
HYCWE CHEWY
[17, 18, 19, 20, 21]
['D', 'D', 'C', 'B', 'D']
[1, 4, 0, 3, 2]
AAAAAAAABBABACCDCDDDBCEEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
ICPHM CHIMP
[18, 19, 20, 21, 22]
['D', 'D', 'B', 'C', 'E']
[2, 0, 4, 1, 3]
AAAAAAAABBABACCDCDBDEDCEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
IROCH CHOIR
[19, 20, 21, 22, 23]
['D', 'E', 'D', 'C', 'E']
[3, 4, 2, 0, 1]
AAAAAAAABBABACCDCDBCEDDEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
UCHNK CHUNK
[20, 21, 22, 23, 24]
['E', 'D', 'D', 'E', 'E']
[2, 0, 1, 3, 4]
AAAAAAAABBABACCDCDBCDEDEEEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
CRUHN CHURN
[21, 22, 23, 24, 25]
['E', 'D', 'E', 'E', 'E']
[0, 3, 2, 1, 4]
AAAAAAAABBABACCDCDBCDEEEDEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
LMAPC CLAMP
[22, 23, 24, 25, 26]
['E', 'E', 'D', 'E', 'E']
[1, 3, 2, 4, 0]
AAAAAAAABBABACCDCDBCDEEEDEEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
IMBCL CLIMB
[23, 24, 25, 26, 27]
['E', 'D', 'E', 'E', 'E']
[2, 3, 4, 0, 1]
AAAAAAAABBABACCDCDBCDEEEEEEDEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
CNLIK CLINK
[24, 25, 26, 27, 28]
['E', 'E', 'E', 'D', 'E']
[0, 3, 1, 2, 4]
AAAAAAAABBABACCDCDBCDEEEEDEEEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
OYMFC COMFY
[25, 26, 27, 28, 29]
['D', 'E', 'E', 'E', 'E']
[1, 4, 2, 3, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEEDEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
UIDCP CUPID
[26, 27, 28, 29, 30]
['E', 'E', 'E', 'D', 'E']
[1, 3, 4, 0, 2]
AAAAAAAABBABACCDCDBCDEEEEEEDEEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
EUCRV CURVE
[27, 28, 29, 30, 31]
['D', 'E', 'E', 'E', 'E']
[4, 1, 0, 2, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEEDEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
EDYOC DECOY
[28, 29, 30, 31, 32]
['E', 'D', 'E', 'E', 'E']
[1, 0, 4, 3, 2]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEEEFFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
ETHPD DEPTH
[29, 30, 31, 32, 33]
['E', 'E', 'E', 'E', 'F']
[1, 3, 4, 2, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEEFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
BDTUO DOUBT
[30, 31, 32, 33, 34]
['E', 'F', 'E', 'E', 'F']
[3, 0, 4, 2, 1]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEEFEFFFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
RIKND DRINK
[31, 32, 33, 34, 35]
['E', 'F', 'E', 'F', 'F']
[1, 2, 4, 3, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEFFEFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
WONDR DROWN
[32, 33, 34, 35, 36]
['E', 'F', 'F', 'E', 'F']
[3, 2, 4, 0, 1]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEFFEFGGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
TEHIG EIGHT
[33, 34, 35, 36, 37]
['F', 'F', 'E', 'F', 'G']
[4, 0, 3, 1, 2]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFFFEGHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
QLAUE EQUAL
[34, 35, 36, 37, 38]
['F', 'F', 'F', 'E', 'G']
[1, 4, 3, 2, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFGEFFHHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
TEURP ERUPT
[35, 36, 37, 38, 39]
['G', 'E', 'F', 'F', 'H']
[4, 0, 2, 1, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHGFEFHHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
TFEIN FEINT
[36, 37, 38, 39, 40]
['G', 'F', 'E', 'F', 'H']
[4, 0, 1, 2, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHGFEFHHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
AFLKN FLANK
[37, 38, 39, 40, 41]
['G', 'F', 'E', 'F', 'H']
[2, 0, 1, 4, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEGFHFHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
RFTLI FLIRT
[38, 39, 40, 41, 42]
['G', 'F', 'H', 'F', 'H']
[3, 0, 4, 1, 2]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFGHFHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
AFCLO FOCAL
[39, 40, 41, 42, 43]
['G', 'H', 'F', 'H', 'H']
[3, 0, 2, 4, 1]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHGFHHIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
ROUMF FORUM
[40, 41, 42, 43, 44]
['G', 'F', 'H', 'H', 'I']
[2, 1, 3, 4, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFHIGIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
FRMEA FRAME
[41, 42, 43, 44, 45]
['F', 'H', 'I', 'G', 'I']
[0, 1, 3, 4, 2]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFHGIIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
RIFUT FRUIT
[42, 43, 44, 45, 46]
['H', 'G', 'I', 'I', 'I']
[1, 3, 0, 2, 4]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIHIIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
RVGIE GIVER
[43, 44, 45, 46, 47]
['I', 'H', 'I', 'I', 'I']
[4, 2, 0, 1, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIIHIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
OZIGM GIZMO
[44, 45, 46, 47, 48]
['I', 'I', 'H', 'I', 'I']
[4, 2, 1, 0, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
GLVOE GLOVE
[45, 46, 47, 48, 49]
['H', 'I', 'I', 'I', 'I']
[0, 1, 3, 2, 4]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
UDGRO GOURD
[46, 47, 48, 49, 50]
['I', 'I', 'I', 'I', 'I']
[2, 4, 0, 3, 1]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIIIKKLLLLLLLMMMNNNNOOOOOOOOOOOPP
ARECG GRACE
[47, 48, 49, 50, 51]
['I', 'I', 'I', 'I', 'K']
[2, 1, 4, 3, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIKIIKLLLLLLLMMMNNNNOOOOOOOOOOOPP
FRTGA GRAFT
[48, 49, 50, 51, 52]
['I', 'K', 'I', 'I', 'K']
[3, 1, 4, 0, 2]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIKKIILLLLLLLMMMNNNNOOOOOOOOOOOPP
IRALG GRAIL
[49, 50, 51, 52, 53]
['K', 'K', 'I', 'I', 'L']
[3, 1, 2, 4, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIIKILKLLLLLLMMMNNNNOOOOOOOOOOOPP
NAIGR GRAIN
[50, 51, 52, 53, 54]
['K', 'I', 'L', 'K', 'L']
[4, 2, 3, 0, 1]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILLKKILLLLLMMMNNNNOOOOOOOOOOOPP
ARNGD GRAND
[51, 52, 53, 54, 55]
['L', 'K', 'K', 'I', 'L']
[2, 1, 3, 0, 4]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKKILLLLLLMMMNNNNOOOOOOOOOOOPP
IUGDE GUIDE
[52, 53, 54, 55, 56]
['K', 'I', 'L', 'L', 'L']
[2, 1, 0, 3, 4]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLIKLLLLLMMMNNNNOOOOOOOOOOOPP
GITUL GUILT
[53, 54, 55, 56, 57]
['I', 'K', 'L', 'L', 'L']
[0, 2, 4, 1, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLLLMMMNNNNOOOOOOOOOOOPP
NVHEA HAVEN
[54, 55, 56, 57, 58]
['L', 'L', 'K', 'L', 'L']
[4, 2, 0, 3, 1]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILKLLLLMMMNNNNOOOOOOOOOOOPP
OACVH HAVOC
[55, 56, 57, 58, 59]
['K', 'L', 'L', 'L', 'L']
[3, 1, 4, 2, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLLLLKMMMNNNNOOOOOOOOOOOPP
VHEAY HEAVY
[56, 57, 58, 59, 60]
['L', 'L', 'L', 'K', 'M']
[3, 0, 1, 2, 4]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLLLMMMNNNNOOOOOOOOOOOPP
IEHTS HEIST
[57, 58, 59, 60, 61]
['L', 'L', 'L', 'M', 'M']
[2, 1, 0, 4, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLLLMMMNNNNOOOOOOOOOOOPP
YONEH HONEY
[58, 59, 60, 61, 62]
['L', 'L', 'M', 'M', 'M']
[4, 1, 2, 3, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMLMMLNNNNOOOOOOOOOOOPP
EIPNT INEPT
[59, 60, 61, 62, 63]
['L', 'M', 'M', 'L', 'N']
[2, 0, 3, 1, 4]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLLMNNNNOOOOOOOOOOOPP
JYCUI JUICY
[60, 61, 62, 63, 64]
['L', 'L', 'M', 'N', 'N']
[0, 4, 3, 1, 2]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLNNLMNNOOOOOOOOOOOPP
FNKIE KNIFE
[61, 62, 63, 64, 65]
['N', 'N', 'L', 'M', 'N']
[3, 1, 0, 2, 4]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNNLNNOOOOOOOOOOOPP
LNAIT LATIN
[62, 63, 64, 65, 66]
['N', 'N', 'L', 'N', 'N']
[0, 4, 1, 3, 2]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNNNNLOOOOOOOOOOOPP
GUALH LAUGH
[63, 64, 65, 66, 67]
['N', 'N', 'N', 'L', 'O']
[3, 2, 1, 0, 4]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLNNNOOOOOOOOOOOPP
TEGLI LEGIT
[64, 65, 66, 67, 68]
['N', 'N', 'N', 'O', 'O']
[4, 1, 2, 0, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLONNNOOOOOOOOOOPP
YOSUL LOUSY
[65, 66, 67, 68, 69]
['N', 'N', 'N', 'O', 'O']
[4, 1, 3, 2, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOONONNOOOOOOOOPP
UNLHC LUNCH
[66, 67, 68, 69, 70]
['N', 'O', 'N', 'N', 'O']
[1, 2, 0, 4, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOONNONOOOOOOOPP
YLMDA MADLY
[67, 68, 69, 70, 71]
['N', 'N', 'O', 'N', 'O']
[4, 3, 0, 2, 1]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONNONOOOOOOPP
ATMCH MATCH
[68, 69, 70, 71, 72]
['N', 'N', 'O', 'N', 'O']
[1, 2, 0, 3, 4]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONONNOOOOOOPP
MLDEO MODEL
[69, 70, 71, 72, 73]
['O', 'N', 'N', 'O', 'O']
[0, 4, 2, 3, 1]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOONONOOOOPP
MGULO MOGUL
[70, 71, 72, 73, 74]
['O', 'N', 'O', 'N', 'O']
[0, 2, 3, 4, 1]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONONOOOPP
NMEYO MONEY
[71, 72, 73, 74, 75]
['O', 'N', 'O', 'N', 'O']
[2, 0, 3, 4, 1]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOOONONOOPP
TMNOH MONTH
[72, 73, 74, 75, 76]
['O', 'N', 'O', 'N', 'O']
[3, 0, 2, 1, 4]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONOONOOPP
NCMUH MUNCH
[73, 74, 75, 76, 77]
['O', 'O', 'N', 'O', 'O']
[2, 3, 0, 1, 4]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOOPP
OSINY NOISY
[74, 75, 76, 77, 78]
['O', 'O', 'O', 'O', 'P']
[1, 3, 2, 0, 4]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOOPP
NHMYP NYMPH
[75, 76, 77, 78, 79]
['O', 'O', 'O', 'P', 'P']
[0, 4, 2, 1, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOPOOP
MOEGA OMEGA
[76, 77, 78, 79, 80]
['P', 'O', 'O', 'P', 'P']
[1, 0, 2, 3, 4]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPOP
ONHEP PHONE
[77, 78, 79, 80, 81]
['P', 'O', 'P', 'P', 'P']
[2, 3, 1, 4, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPO
OTPLI PILOT
[78, 79, 80, 81, 82]
['P', 'O', 'P', 'P', 'P']
[3, 4, 0, 2, 1]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
POVTI PIVOT
[79, 80, 81, 82, 83]
['P', 'P', 'P', 'O', 'R']
[0, 3, 2, 4, 1]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
OHAPC POACH
[80, 81, 82, 83, 84]
['O', 'P', 'R', 'P', 'R']
[1, 4, 2, 0, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
EZPRI PRIZE
[81, 82, 83, 84, 85]
['R', 'R', 'O', 'P', 'R']
[4, 3, 0, 1, 2]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
ODRUP PROUD
[82, 83, 84, 85, 86]
['P', 'R', 'R', 'O', 'R']
[2, 4, 1, 3, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
UNPER PRUNE
[83, 84, 85, 86, 87]
['R', 'R', 'O', 'P', 'R']
[2, 3, 0, 4, 1]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
AUTQR QUART
[84, 85, 86, 87, 88]
['P', 'R', 'R', 'R', 'R']
[2, 1, 4, 0, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
UQTES QUEST
[85, 86, 87, 88, 89]
['R', 'R', 'P', 'R', 'S']
[1, 0, 4, 2, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
ADRPI RAPID
[86, 87, 88, 89, 90]
['R', 'S', 'P', 'R', 'S']
[1, 4, 0, 2, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
NIHOR RHINO
[87, 88, 89, 90, 91]
['S', 'R', 'P', 'R', 'S']
[3, 2, 1, 4, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
SRYKI RISKY
[88, 89, 90, 91, 92]
['P', 'R', 'S', 'S', 'S']
[2, 0, 4, 3, 1]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
NBOIR ROBIN
[89, 90, 91, 92, 93]
['P', 'S', 'S', 'R', 'S']
[4, 2, 1, 3, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
BYUGR RUGBY
[90, 91, 92, 93, 94]
['S', 'S', 'R', 'P', 'T']
[3, 4, 1, 2, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
SHYNI SHINY
[91, 92, 93, 94, 95]
['T', 'S', 'R', 'S', 'T']
[0, 1, 4, 3, 2]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
HOESV SHOVE
[92, 93, 94, 95, 96]
['S', 'T', 'S', 'R', 'T']
[1, 2, 4, 0, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
SKTIR SKIRT
[93, 94, 95, 96, 97]
['S', 'T', 'S', 'R', 'T']
[0, 1, 4, 2, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
TSNUO SNOUT
[94, 95, 96, 97, 98]
['T', 'T', 'S', 'R', 'T']
[4, 0, 1, 3, 2]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
ODNSU SOUND
[95, 96, 97, 98, 99]
['T', 'T', 'R', 'S', 'T']
[1, 4, 3, 0, 2]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
ADSTN STAND
[96, 97, 98, 99, 100]
['T', 'S', 'T', 'R', 'T']
[2, 4, 0, 1, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
KTRSO STORK
[97, 98, 99, 100, 101]
['T', 'T', 'S', 'R', 'T']
[4, 1, 3, 0, 2]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
EVUAS SUAVE
[98, 99, 100, 101, 102]
['T', 'R', 'T', 'S', 'T']
[4, 3, 1, 2, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
FWSTI SWIFT
[99, 100, 101, 102, 103]
['S', 'R', 'T', 'T', 'T']
[3, 1, 0, 4, 2]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
UGWSN SWUNG
[100, 101, 102, 103, 104]
['R', 'S', 'T', 'T', 'U']
[2, 4, 1, 0, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
MUTBH THUMB
[101, 102, 103, 104, 105]
['U', 'S', 'R', 'T', 'U']
[3, 2, 0, 4, 1]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
ACKRT TRACK
[102, 103, 104, 105, 106]
['R', 'U', 'U', 'S', 'U']
[2, 3, 4, 1, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
APMRT TRAMP
[103, 104, 105, 106, 107]
['S', 'U', 'U', 'R', 'U']
[2, 4, 3, 1, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
IPRTE TRIPE
[104, 105, 106, 107, 108]
['U', 'R', 'U', 'S', 'V']
[2, 3, 1, 0, 4]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
RNTKU TRUNK
[105, 106, 107, 108, 109]
['S', 'R', 'U', 'V', 'W']
[1, 3, 0, 4, 2]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
AEKWT TWEAK
[106, 107, 108, 109, 110]
['V', 'S', 'W', 'U', 'W']
[3, 2, 4, 1, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
EWTCI TWICE
[107, 108, 109, 110, 111]
['W', 'W', 'S', 'V', 'W']
[4, 1, 0, 3, 2]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
TYNUI UNITY
[108, 109, 110, 111, 112]
['W', 'W', 'V', 'S', 'W']
[3, 4, 1, 0, 2]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
TLEAV VALET
[109, 110, 111, 112, 113]
['W', 'W', 'W', 'V', 'W']
[4, 2, 3, 1, 0]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
EVNMO VENOM
[110, 111, 112, 113, 114]
['W', 'V', 'W', 'W', 'X']
[1, 0, 2, 4, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
EIDVO VIDEO
[111, 112, 113, 114, 115]
['W', 'W', 'X', 'W', 'Y']
[3, 1, 2, 0, 4]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
PREVI VIPER
[112, 113, 114, 115, 116]
['W', 'X', 'W', 'Y', 'Y']
[2, 4, 3, 0, 1]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
HCUVO VOUCH
[113, 114, 115, 116, 117]
['Y', 'Y', 'W', 'X', 'Z']
[4, 3, 2, 0, 1]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
WEIHG WEIGH
[114, 115, 116, 117, 118]
['X', 'W', 'Y', 'Y', 'Z']
[0, 1, 2, 4, 3]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
WHCNE WENCH
[115, 116, 117, 118, 119]
['W', 'Y', 'Z', 'Y', 'Z']
[0, 4, 3, 2, 1]
AAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
HWCKA WHACK
[116, 117, 118, 119, 0]
['Z', 'Y', 'Z', 'Y', 'A']
[1, 0, 3, 4, 2]
ZAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
THDIW WIDTH
[117, 118, 119, 0, 1]
['Z', 'Y', 'A', 'Z', 'A']
[3, 4, 2, 1, 0]
YZAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
THGIW WIGHT
[118, 119, 0, 1, 2]
['A', 'A', 'Y', 'Z', 'A']
[4, 3, 2, 1, 0]
YAAAAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
HWTAR WRATH
[119, 0, 1, 2, 3]
['Z', 'Y', 'A', 'A', 'A']
[4, 0, 3, 2, 1]
ZAAYAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPP
ZAAYAAAABBABACCDCDBCDEEEEEEEDEEFEGFHHEFHHFGIIHIIIILKLILLKLMMLMNLOOOONOOONNOOOPPPPRRORRSRSSPTTSTTTTTTTTUUURUWSWVWWZXWYZAA
In [2]:
import itertools
for i, x in enumerate(itertools.permutations('12345')):
print('%2d' % i, ''.join(x))
0 12345
1 12354
2 12435
3 12453
4 12534
5 12543
6 13245
7 13254
8 13425
9 13452
10 13524
11 13542
12 14235
13 14253
14 14325
15 14352
16 14523
17 14532
18 15234
19 15243
20 15324
21 15342
22 15423
23 15432
24 21345
25 21354
26 21435
27 21453
28 21534
29 21543
30 23145
31 23154
32 23415
33 23451
34 23514
35 23541
36 24135
37 24153
38 24315
39 24351
40 24513
41 24531
42 25134
43 25143
44 25314
45 25341
46 25413
47 25431
48 31245
49 31254
50 31425
51 31452
52 31524
53 31542
54 32145
55 32154
56 32415
57 32451
58 32514
59 32541
60 34125
61 34152
62 34215
63 34251
64 34512
65 34521
66 35124
67 35142
68 35214
69 35241
70 35412
71 35421
72 41235
73 41253
74 41325
75 41352
76 41523
77 41532
78 42135
79 42153
80 42315
81 42351
82 42513
83 42531
84 43125
85 43152
86 43215
87 43251
88 43512
89 43521
90 45123
91 45132
92 45213
93 45231
94 45312
95 45321
96 51234
97 51243
98 51324
99 51342
100 51423
101 51432
102 52134
103 52143
104 52314
105 52341
106 52413
107 52431
108 53124
109 53142
110 53214
111 53241
112 53412
113 53421
114 54123
115 54132
116 54213
117 54231
118 54312
119 54321
In [ ]:
Content source: PhilHarnish/forge
Similar notebooks: