Last active
December 10, 2019 10:32
-
-
Save jamescookie/3fced2d8f369a0ec6438393e06b6e9b2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def input = 428122498997587283996116951397957933569136949848379417125362532269869461185743113733992331379856446362482129646556286611543756564275715359874924898113424472782974789464348626278532936228881786273586278886575828239366794429223317476722337424399239986153675275924113322561873814364451339186918813451685263192891627186769818128715595715444565444581514677521874935942913547121751851631373316122491471564697731298951989511917272684335463436218283261962158671266625299188764589814518793576375629163896349665312991285776595142146261792244475721782941364787968924537841698538288459355159783985638187254653851864874544584878999193242641611859756728634623853475638478923744471563845635468173824196684361934269459459124269196811512927442662761563824323621758785866391424778683599179447845595931928589255935953295111937431266815352781399967295389339626178664148415561175386725992469782888757942558362117938629369129439717427474416851628121191639355646394276451847131182652486561415942815818785884559193483878139351841633366398788657844396925423217662517356486193821341454889283266691224778723833397914224396722559593959125317175899594685524852419495793389481831354787287452367145661829287518771631939314683137722493531318181315216342994141683484111969476952946378314883421677952397588613562958741328987734565492378977396431481215983656814486518865642645612413945129485464979535991675776338786758997128124651311153182816188924935186361813797251997643992686294724699281969473142721116432968216434977684138184481963845141486793996476793954226225885432422654394439882842163295458549755137247614338991879966665925466545111899714943716571113326479432925939227996799951279485722836754457737668191845914566732285928453781818792236447816127492445993945894435692799839217467253986218213131249786833333936332257795191937942688668182629489191693154184177398186462481316834678733713614889439352976144726162214648922159719979143735815478633912633185334529484779322818611438194522292278787653763328944421516569181178517915745625295158611636365253948455727653672922299582352766484 | |
def digits = input.toString().split('') | |
def answer = 0 | |
int i | |
for (i = 0; i < digits.length - 1; i++) { | |
if (digits[i] == digits[i + 1]) { | |
answer += new Integer(digits[i]) | |
} | |
} | |
if (digits[i] == digits[0]) { | |
answer += new Integer(digits[i]) | |
} | |
println answer |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def input = 428122498997587283996116951397957933569136949848379417125362532269869461185743113733992331379856446362482129646556286611543756564275715359874924898113424472782974789464348626278532936228881786273586278886575828239366794429223317476722337424399239986153675275924113322561873814364451339186918813451685263192891627186769818128715595715444565444581514677521874935942913547121751851631373316122491471564697731298951989511917272684335463436218283261962158671266625299188764589814518793576375629163896349665312991285776595142146261792244475721782941364787968924537841698538288459355159783985638187254653851864874544584878999193242641611859756728634623853475638478923744471563845635468173824196684361934269459459124269196811512927442662761563824323621758785866391424778683599179447845595931928589255935953295111937431266815352781399967295389339626178664148415561175386725992469782888757942558362117938629369129439717427474416851628121191639355646394276451847131182652486561415942815818785884559193483878139351841633366398788657844396925423217662517356486193821341454889283266691224778723833397914224396722559593959125317175899594685524852419495793389481831354787287452367145661829287518771631939314683137722493531318181315216342994141683484111969476952946378314883421677952397588613562958741328987734565492378977396431481215983656814486518865642645612413945129485464979535991675776338786758997128124651311153182816188924935186361813797251997643992686294724699281969473142721116432968216434977684138184481963845141486793996476793954226225885432422654394439882842163295458549755137247614338991879966665925466545111899714943716571113326479432925939227996799951279485722836754457737668191845914566732285928453781818792236447816127492445993945894435692799839217467253986218213131249786833333936332257795191937942688668182629489191693154184177398186462481316834678733713614889439352976144726162214648922159719979143735815478633912633185334529484779322818611438194522292278787653763328944421516569181178517915745625295158611636365253948455727653672922299582352766484 | |
def digits = input.toString().split('') | |
def answer = 0 | |
int inputSize = digits.length | |
int i | |
for (i = 0; i < inputSize - 1; i++) { | |
int next = inputSize / 2 + i | |
if (next >= inputSize) next = next - inputSize | |
if (digits[i] == digits[next]) { | |
answer += new Integer(digits[i]) | |
} | |
} | |
int next = (inputSize / 2) - 1 | |
if (digits[i] == digits[next]) { | |
answer += new Integer(digits[i]) | |
} | |
println answer |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def input = [ | |
[3751, 3769, 2769, 2039, 2794, 240, 3579, 1228, 4291, 220, 324, 3960, 211, 1346, 237, 1586], | |
[550, 589, 538, 110, 167, 567, 99, 203, 524, 288, 500, 111, 118, 185, 505, 74], | |
[2127, 1904, 199, 221, 1201, 250, 1119, 377, 1633, 1801, 2011, 1794, 394, 238, 206, 680], | |
[435, 1703, 1385, 1461, 213, 1211, 192, 1553, 1580, 197, 571, 195, 326, 1491, 869, 1282], | |
[109, 104, 3033, 120, 652, 2752, 1822, 2518, 1289, 1053, 1397, 951, 3015, 3016, 125, 1782], | |
[2025, 1920, 1891, 99, 1057, 1909, 2237, 106, 97, 920, 603, 1841, 2150, 1980, 1970, 88], | |
[1870, 170, 167, 176, 306, 1909, 1825, 1709, 168, 1400, 359, 817, 1678, 1718, 1594, 1552], | |
[98, 81, 216, 677, 572, 295, 38, 574, 403, 74, 91, 534, 662, 588, 511, 51], | |
[453, 1153, 666, 695, 63, 69, 68, 58, 524, 1088, 75, 1117, 1192, 1232, 1046, 443], | |
[3893, 441, 1825, 3730, 3660, 115, 4503, 4105, 3495, 4092, 48, 3852, 132, 156, 150, 4229], | |
[867, 44, 571, 40, 884, 922, 418, 328, 901, 845, 42, 860, 932, 53, 432, 569], | |
[905, 717, 162, 4536, 4219, 179, 990, 374, 4409, 4821, 393, 4181, 4054, 4958, 186, 193], | |
[2610, 2936, 218, 2552, 3281, 761, 204, 3433, 3699, 2727, 3065, 3624, 193, 926, 1866, 236], | |
[2602, 216, 495, 3733, 183, 4688, 2893, 4042, 3066, 3810, 189, 4392, 3900, 4321, 2814, 159], | |
[166, 136, 80, 185, 135, 78, 177, 123, 82, 150, 121, 145, 115, 63, 68, 24], | |
[214, 221, 265, 766, 959, 1038, 226, 1188, 1122, 117, 458, 1105, 1285, 1017, 274, 281] | |
] | |
//part 1 | |
println input.collect { it.max() - it.min() }.sum() | |
//part 2 | |
def findY = {list, num-> | |
list.find { num2 -> | |
num != num2 && num % num2 == 0 | |
} | |
} | |
println input.collect { | |
def x = it.find { num -> | |
findY(it, num) | |
} | |
x / findY(it, x) | |
}.sum() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
enum Move { | |
RIGHT, | |
LEFT | |
} | |
enum State { | |
A, | |
B, | |
C, | |
D, | |
E, | |
F | |
} | |
class Instruction { | |
int writeValue | |
Move move | |
State next | |
} | |
def SI = [ | |
(State.A): [new Instruction(writeValue: 1, move: Move.RIGHT, next: State.B), new Instruction(writeValue: 0, move: Move.RIGHT, next: State.C)], | |
(State.B): [new Instruction(writeValue: 0, move: Move.LEFT, next: State.A), new Instruction(writeValue: 0, move: Move.RIGHT, next: State.D)], | |
(State.C): [new Instruction(writeValue: 1, move: Move.RIGHT, next: State.D), new Instruction(writeValue: 1, move: Move.RIGHT, next: State.A)], | |
(State.D): [new Instruction(writeValue: 1, move: Move.LEFT, next: State.E), new Instruction(writeValue: 0, move: Move.LEFT, next: State.D)], | |
(State.E): [new Instruction(writeValue: 1, move: Move.RIGHT, next: State.F), new Instruction(writeValue: 1, move: Move.LEFT, next: State.B)], | |
(State.F): [new Instruction(writeValue: 1, move: Move.RIGHT, next: State.A), new Instruction(writeValue: 1, move: Move.RIGHT, next: State.E)] | |
] | |
def exec(tape, cursor, state, SI) { | |
def instruction | |
if (!tape[cursor]) { | |
tape[cursor] = 0 | |
} | |
instruction = tape[cursor] == 0 ? SI[state][0] : SI[state][1] | |
tape[cursor] = instruction.writeValue | |
return instruction | |
} | |
def iterations = 12368930 | |
int[] tape = new int[iterations * 2] | |
def state = State.A | |
def cursor = iterations | |
def counter = 0 | |
def instruction | |
while (counter < iterations) { | |
counter++ | |
instruction = exec(tape, cursor, state, SI) | |
cursor = instruction.move == Move.RIGHT ? cursor + 1 : cursor - 1 | |
state = instruction.next | |
} | |
println tape.sum() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int max = 289326 | |
int sideCounter = 4 | |
int increment = -1 | |
int x = 1 | |
boolean skip = true | |
int skipCounter = x | |
int incrementCounter = x | |
int i | |
for (i = 1; i <= max; i++) { | |
if (skip) { | |
skipCounter-- | |
if (skipCounter == 0) { | |
skip = false | |
} | |
} else { | |
increment += 2 | |
incrementCounter-- | |
if (incrementCounter == 0) { | |
incrementCounter = x | |
sideCounter-- | |
if (sideCounter == 0) { | |
sideCounter = 4 | |
x++ | |
} | |
skip = true | |
skipCounter = x | |
} | |
} | |
} | |
println i-1-increment | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int max = 289326 | |
int numberInStraight = 1 | |
int straightCounter = numberInStraight | |
def numbers = [1, 1, 2, 4, 5, 10, 11, 23, 25, 26, 54, 57, 59] | |
boolean holdStraight | |
boolean straight = false | |
boolean nearCorner = false | |
boolean afterCorner = true | |
boolean corner = false | |
boolean incrementStraight = false | |
int counter = 10 | |
def current = 59 | |
while (current <= max) { | |
if (afterCorner) { | |
current = (numbers[-1] + numbers[-2] + numbers[-counter] + numbers[-(counter + 1)]) | |
counter++ | |
afterCorner = false | |
straight = true | |
} else if (straight) { | |
current = (numbers[-1] + numbers[-(counter - 1)] + numbers[-counter] + numbers[-(counter + 1)]) | |
straightCounter-- | |
if (straightCounter == 0) { | |
holdStraight = false | |
if (incrementStraight) { | |
numberInStraight++ | |
} | |
straightCounter = numberInStraight | |
incrementStraight = !incrementStraight | |
} else { | |
holdStraight = true | |
} | |
if (!holdStraight) { | |
counter++ | |
straight = false | |
nearCorner = true | |
} | |
} else if (nearCorner) { | |
current = (numbers[-1] + numbers[-(counter - 1)] + numbers[-counter]) | |
nearCorner = false | |
corner = true | |
} else if (corner) { | |
current = (numbers[-1] + numbers[-counter]) | |
corner = false | |
afterCorner = true | |
} | |
numbers += current | |
} | |
println current |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def input = [ | |
"una bokpr ftz ryw nau yknf fguaczl anu", | |
"tvay wvco bcoblpt fwzg sfsys zvuqll mcbhwz ovcw fgdy", | |
"ynsocz vid rfmsy essqt fpbjvvq sldje qfpvjvb", | |
"yvh nxc kla vhy vkbq cxfzgr", | |
"kljv ymobo jlvk ebst cse cmlub tavputz omoby psif", | |
"ebfuvvu paqgzri uvvubef hglk jvn gzeln bdl ziqgpra bzcfa", | |
"tclq ytw tclq tezcqys", | |
"qae eofr yzwcwqf wqm ytcdnc pxnmkw", | |
"krryi irykr ycp lbeed ykrir lhq rdd tyujwd", | |
"hms pii lxoa dchsvz bepjwst bllxkqg hsm yrdj myzvju msh lwnnc", | |
"yxqh hqxy xkn ljjsqjh jjljshq", | |
"mhgsehj urbvnvf gbz ykxsd hsmgehj wtoc ujpfaos eir vifog tsy kdo", | |
"wfruf wwijme pxbbsvf asmgs ccbn vwtc mkhah oxxfh", | |
"lxqy jzvcvd cfgg uahxrwr dqmaqr bwzm wruxhra lrb lmk", | |
"jspgxo yuhgni njzqtn zglkzz ybc itj orqr zgqwuoo mjagh erll srqrk", | |
"cbrtnbx ukblei ienmdm sinzq lytyliz mma lizylty zeumwgu", | |
"aeggz eljcry buqdeog dvjzn ilvw arz vep kxdzm mvh szkf", | |
"imn sfty ugg flqq nydky mni bkqzlok wye lehwlmp xeyfmj", | |
"beyv oamrpkc tebdkwv zlq jes mqvif sej qpsnmjz edvtbkw", | |
"hylmacl wwlra xntnvg ppvb bzof cymllha", | |
"qktxomf ngfpuz qqz malc zxuqz szg zis vzro rfpgk", | |
"phru sxlg qzqlw uej vmd omzga jue", | |
"drzgojf ttqdqar weikik wvrjtxi gbj jramqh nlwoj drzgojf bgabmn xqlaeun", | |
"aiuohu pca apkmv cpa kmvpa nmdn", | |
"gelymv eto itcnuhn ote teo", | |
"oxiz xzio kqu wwgow", | |
"picoyb coibpy acsw ehlirq deyz gymqvz opicyb vuet lrl", | |
"zerg rezg miwtjgw gezr cui", | |
"mlh qlu ktil tnlgnrk bfqbk pgg qxeyd noadmjo nonlsh eqxdy", | |
"yqqaq yqqqa xod oss", | |
"mkotw bznvs xowoofq sebp wsgpsmn fytcpc vvmzr vmzrv xwtxz zrvvm", | |
"dvs twhz teqmlow oqg sjetxd aku cwl qfvrkex mndsio hfg", | |
"itdl qwdagkk wli tdil vlgur dyl xvfm", | |
"wlmyd dwmlx zhmqd zqmhd edzsvmz yclg umpq", | |
"petva gazw byrca pvaet epkoqh nlp vqfl vatpe", | |
"rykn ckr dijkme kmiedj ozlh deikmj", | |
"kuecjh sfqv pojfzf fjopzf fjpfzo amxtc", | |
"hri gglmial lrwbyc memgszu hir cfwlg ylcrwb", | |
"rxrfbtv pwpra fngt auh rapwp zrruuq uah", | |
"cevc utfd ysrfcw nnlg fnqtx aua htteunu mrjhhj", | |
"tvnxznj mvpagt nqmxvnl mutn ntmu eybh vkqeaj frayclp", | |
"ygktzxo lzwwy qsipu nwb jdmw pahao paow mwjd uivqbnj woap nyyogcc", | |
"log zihz rsmx ixfr xwvd osg zxc gol ufnbig", | |
"dogve cnb osa xbafl vefr nxlw yjgquui", | |
"ucyl aaoae ktjvi fyps xvjhpbh iiur tuc", | |
"pqt jasxg ehhs lzjzzzl sqmmj vwyva eklbtv hksanb fuesnd oyw fuesdn", | |
"uankv wesi frhpau qiucu lim uzbdapf ciwjd tifbqxh tfbtsdi", | |
"vgjd izpofu fqjpcct phuz", | |
"cfg cfg rgahl frm emn pbfsmgy frm jemwqgn sfpm azunntj igl", | |
"daps hpe fqg err sapd dci vbzlqx gsigq eyp rre", | |
"iuqyqdy djprdj mgtkdxr pwmkzv wmkvzp hppisd pidphs", | |
"rlr rrl vhevh cucprc xki urte lrr zfc xrqydzk ipjkyxj kytul", | |
"jwbkaee rgyjl rjljbwe ppq plp pfts ijd ckpvmw mbdrqh zolt lzmr", | |
"alw law awl wknavtb esklsbj wvssyai", | |
"aqy ldf qdht soxkg qtfipe nsdm aqe rtlc fbqrk ius gybbhxr", | |
"xteov wgqoqim nlz szlj oxevt xwb", | |
"tmgdst fyn oul tsohzbq ltmxji fgops gatssx zxdzfc talb", | |
"zkvjpu jnhtc nxs jqv pyoqz zsj ckwd xot ykai", | |
"fxfarre yjbxvj lqfaglo mbxuv bmuxv bxumv", | |
"yrhi uosldj hryi fwres ycygw ycvxze zevxyc iyk", | |
"yphev xisbai xdb hzrbg ayxbhdx qnvbus pwc", | |
"wytqraw yvurj erqckl rvrvda xsh gsd bxtm acxle gpndk", | |
"kpvjtu vacggk oabcuoq qusf zitqpgn pbyq ocabouq ntpgizq gaiiry dke", | |
"frz ceozajo ljltawq tjepzp iflv", | |
"zntejm dkfgc ysno noys sony muy", | |
"qdnyvvw oykq bnmldt zjgauw pviurd cbcnl tnkhq ebsey bccln arvwe", | |
"iqazt xidjgom wcrdz itht lfh ifzwkj rwqxhy ervcgmt vojg lzntz ezg", | |
"tlcxioh qvvkan wpi ody", | |
"mhsy dwm hyms yegvvc", | |
"hbkvi wvemc uwxgqf pwrgu wcy wxqfgu qkzppc vxcwdwd rcgp ivjd wmevc", | |
"upc ucp cpu unmr pyod", | |
"bqfew ebwfq paccwh phgc fchhr jrnio", | |
"abh bjalls bdtac zzvt totdlc yptqmgu rpcin bch cqklqly", | |
"bsnss qcsgi tegyz lqoqkpf qvatlyu ibza mzfotsk lye oqqf mnor", | |
"lzrxca stkbn axhr wckbip bsntk ahrx", | |
"oricdw cnpte dbz nqx xloxc bdz fdsl uyvgi nvoy ezbi", | |
"nlcqye ofta jcvqvtg yxduyh btawc tjgvqvc tcvqjvg", | |
"nji znctdfm kkmp pmt ikhl jjoubc xnp zdctnmf covvmsh ydh ircplcm", | |
"yafkuk yasqsyt ytqayss nusgb ukfyka", | |
"yogcf emg jlkd blupemf axg wihhrb ysernt yznhz", | |
"gmc yyqtgp use lohoit", | |
"lclwa ojjkm rxr rrx", | |
"punyfv iphw ddbc jghx lrssszc bepexv sicpy syicp lszrscs vrqjb", | |
"rjanra juh hljdmad scu usc baifu ijs suc bgdbbv", | |
"ogs hehi lgiwowc wwezznc ogs lorcl naunpll wlmal ajcbj ciujw", | |
"slenm xxod vhf amhts", | |
"mrrduda mrrduda lwecwjv lwecwjv vvzmjla cjipv", | |
"ixnv invx inmzz aoxghpv", | |
"ulyvfrf zsup zfryjy xoo agdsd giw papa ljtu rzbjiq wrex", | |
"bzpv svpuyov mklrct uzox", | |
"fxs iypd uaqch kxazj ksjyv", | |
"uxaommf xtq uubbfk bmlq kdhgjzg oxwpag itfij irmkjx ggod sddcyo bopn", | |
"lch plmvfni qbjr dnu zjcod qlwax gejmyj gxjqm mfzkb gejmyj", | |
"yoa thrfbto wposvrm amulogu mcqzfax fjquli oay", | |
"kywj kqqhney ozuljxz wqwfte ubo mjj anhhg aphy ocfnef yhin ywnx", | |
"vxuledm wllj obqtsrr jwll uvmelxd xvj gbwte", | |
"hevc bitwu ydw ywd btiwu iuether gfe", | |
"dzn ssmfpel wbbdeyt xge hrfi", | |
"zebz ifhq euto ppfnrwc winkkj", | |
"utuly wtdt iahpe ihtxwmh zxun bqluj hsaxgcs ytluu jlfnnuv drxlctr myhp", | |
"kwxgy hreul rsnh wdmsx kkajywb", | |
"bond djq kccazc zvzcie hndm myx cmhyhkc ove ord dqj", | |
"zcong tekgn pbzs ywqgqgu eizrx ypydeku yqyjdjp dwsu zxire zcgon iggnvf", | |
"tkioh hflkm fsjz gisjbi otikh", | |
"ccdqqm fdabbne fyd lbyqm cyzgtd puitvjz nluf hirrpxd tgxrg vvl", | |
"hjnygbz fnu twwbp xqw pfdlt uoalyme rsd muayeol ezcq", | |
"kubeooi bxgwoun paogjs twvwlji opsajg higbdfi aazo evmj", | |
"sfipxe mqbkmrn plwqd zvq nmvom fyfbs nbs qkrbmmn eym kqnrmbm", | |
"ruhsp hurps mqws umm sphru", | |
"ksjs pgpxh qozg enplxbn oqzg rvjnaje sjsk", | |
"rbwbvog mhgtgg uld twrqz rbf kpop", | |
"lwho lohw ylhd dej lydh vsfffsm", | |
"icljgu gluijc vthqx orynv xhvqt", | |
"biav elxkct mtaw nlafk snyr cbqdwim blim rtrqmc wze cxktel", | |
"fgpeia ebkhga azlfsr bsj pipvwsd nry bayrjzl ftth ynr mfhd", | |
"ymlowur nighqgk yjv pyxf nan xamb ohm jvy owrxbg icbz", | |
"iyyt linaqu httt zyfeo udap mllq pdxo lpl djhqaou zkit llp", | |
"dxspk yge kcqjqpz ulb hoe mfx nwayo", | |
"rdnmmh gyqd qhxrzj dgizu lyittbv txngpdg fiu mwd ndp oks vxnxybi", | |
"eul ztpe evnz yxx iuwon rkbbsw liy mqhxt", | |
"qahp zwn ualtk txbt cbthj xchqy pirucp povdwq", | |
"mqwu mwww muiafa miaafu hzripx wmww", | |
"auw hyyi ylewfi ihva jknbrry voxzooq xaos xymv qzzjw hjc", | |
"enpb jqa ajciy cbeopfs tqrlqj ecudb gso cyjai gxoet", | |
"yohkjj yohjjk xapawgo rtgnjj", | |
"lnlxxn nxllnx vhjrev uoew zts smkd kynlrg", | |
"bkblpr vgafcy alju aiyqe eebtsyu buve hdesodl pspbohw", | |
"aacmw qpndwo tcwsfqy qecnms wondpq sto", | |
"wdsyxe edsxyw jnzruiw pfqdrhi", | |
"pfgxekl vswgxhb qyn mykn jimiatq zkcz jimiatq kaexgxm mykn", | |
"xegwn upudt dew uqjrcl abyof hbtiko wxgne sorgno etm", | |
"xzojs zxsjo szjox gumjtwi", | |
"gttngkk bwdgce bhuw fgo rcbf byw", | |
"ngtzwqx ptx xodmy ctmtf oioahmm qajlhje jzilpk cvypp ijaefz", | |
"arlx slcugvm hyuo zoptsh emyr tndx rroecp tdnx xea rtkpd", | |
"sfckdx ktyrjju ruwjtp zhqznj vncun", | |
"oqqh xpc itrdg gtrid hoqq tuo yijh ncp suvck jic", | |
"brrlqu twdt urblrq twtd", | |
"brfuh arwtkpu mzlj wdyqk", | |
"pmag dtwnva nect azld axqrwy apgm xbv gdq ienubsy andvwt", | |
"hqb qbh gxdl mwjn cmfsmik", | |
"yiwma utlor qxjfjsn aomlvu gxp ryj rfkdsw kuguhyi qxxpg", | |
"ifq wcvcgly jdalgzx lgcycwv rajmnqw", | |
"latakk yxxbw evy vey", | |
"odkvw ojgveb jhg qwhkyoh btvu qbfot nouv owgtsi pdwbmfn pmvcv dnqbo", | |
"tmka qqnty knz swi fyvmt ikcdu jfjzsfu dshgi cosacuj szjjuff", | |
"eanet uua fbztk bzkft", | |
"jepi hyo jgzplr jyqk zzcs iepj hfamvu bfgbz sjsnf lprgzj", | |
"mlca ywko mtg vkfv ojka zbelq qkaujs simt kafq qtycfzo", | |
"sqh omv llvra ecvxmtx dpnafv llvszx xzlsvl quj ufnhvod faraf fivmnl", | |
"pvxlls fzeoav ahgv uhq nodcr cohy vqisgaj jsfcyur dbohh", | |
"ztccbwk okv vok kov ywel", | |
"xyu cmaikc jgqu ozccdzk ybn yoeq fky aetrkj eyoyvla laiu cermo", | |
"sssnb kxly mgvaz jpffkq bysbwwu rfnkm eycp ipyd hyi wjew", | |
"obdfqmh flkm semednj iafewg lvh uwa ciepe", | |
"zmldp ykffe gtehz qlmvule edrtzg prund oagwto qia bvyxur", | |
"kjok neno qbxh wqgkkt ympclso poyclsm cajgnnn", | |
"paqili kur sfit jbqchzx bhjqzxc", | |
"fhghm ubtaana qbn autnaab aaaunbt vmz", | |
"exlrl hfnpq zgdwx smix nyg ogccrhj iimhhwc uhcldo oydwxp kqc jxxpycv", | |
"wtdqjfh ialoqr zeej ipoh qtjdwhf wdhqftj", | |
"jcgug cmtvmu ynhnilj txlv uemowyu cvrool oolcvr njr cxqntdh", | |
"uhtwtp tgnc jmmjl utiu jfxtsoz cxwqcz", | |
"qntxl lyownp tsp tps mixyge rqfqumc bxjiry zmaj azjm", | |
"abt bat tftvm nyjs jyns", | |
"hzsdh pwthfvm cedg hzsdh rsxtehn owh cedg", | |
"hcoiny aqbeme eeuigt pocpvox tiugee rwb tvgmyc ojg hgdaf", | |
"mzlwcfc uoobo bouoo tvgvmiu evsfkm popgm evmfsk ehxvits vebxbmd qhmz jzj", | |
"mypgg jbpx vgeb ahvjl zbm ancdzfy wytkcq", | |
"bivscw zmzmjxu jzm fwb ujefxp jzsiskp cgx atcj sszikjp cxg nqvxga", | |
"vvurbxp iry zlz gfnlpuy npyugfl", | |
"fpmee mhj iul lui liu", | |
"xjoesn ggsdc vnisnmw kyxmmv xphfq", | |
"zcsml ngzlpy udaoab eotbv ylca bfmums izx", | |
"pdi bpyoep cofsy qazl oaovek fvfbe sotc lfdmaea smvs", | |
"zajm bskaqhj qxyiptb bdyeuqr dqjrekn iywj", | |
"hzhky hukvpve iqcbwju nyiwb rvutxlb hyuah urnhxg savicaw hexr ptedk", | |
"qndji wrr sin ljogf ncrb zvt tvz", | |
"kvfke tjpzhrl zvd doq kxyw fdgr oqd egkybdh rqpfxks nja", | |
"escstpv ccc ryzdv gxkjuyt gkhw jxnfda awpzg csestpv", | |
"cpcd onxeae nimbrpt zyji qnuo ktxgwbj vtjfglz skcozd zgii zgii nimbrpt", | |
"lwq iue hfbv hgbg aeqc", | |
"vzgbod yjkoc ckt bpiaz", | |
"eyco ecoy uzousjp faxj utu yoec", | |
"fhqdi myd tvex bzizkcx pifcfhz fczhpif eofzv bqzd knbhbgj dok ffcizhp", | |
"qlqlgmz hofmnc cwtk ahgnpne acn prwdh hwdrp rfofhl atavrf afkcbk", | |
"sgl apyfr pwxzptv osuwy vmqqh soyuw lqilked oinhh", | |
"eglqdox gcxfxql ejtnwu wvho can eyu uetwnj elgdxqo atvpkk eailsnn cwosyn", | |
"mylxhuj kbc apnllw qbmtj sqy hxtnvoe ins iyudo aagezrq nsi ikvn", | |
"lpmzo tkdeg zilkm vdkmtf yulbdd dkfmtv", | |
"fzrv grq zfvr ychga gqr", | |
"vdjxx wew pdxgp cjywsc meoffrj pgpdx chxmw eizgz ruea", | |
"iaklyhx btqqik tbiqqk ynmq laxykhi qatrnsh lnmtm plz", | |
"sfogup jtdsx tsxjd wwzkyy wzywky vgdsgr", | |
"paupqb kyy bccklmr vopviup lctcxza yyk yky", | |
"gduuia doek hqcr upvb szeewnu rrrdz", | |
"lhnsaf lut kzf allu dvj tyngx zkf aqsgz rtkzzdz", | |
"xxqj msg xxqj ezmm tmyji msg cco tain ctpel", | |
"pvcfzv rhn hlhxyu bghzzpx dlhvr hrvdl lhuxhy", | |
"npzhkp voghdv rvezqff hvgvdo jndf gpa wevrwpu", | |
"faixq aecax hxdouer yqlngzd grf wid iwd cce xnmmr", | |
"ifqwiah dib ibd dtvkwqj mpn dtwjkqv kyntq xwlv", | |
"rwoiz dja cvv lvza kfdblq bgtwgh ongdub wggthb lvaz", | |
"xajf eyasx rupsyqx wubjwx bsrqi ripghci sbzxp sbz dhooax", | |
"ydnv tvhwgp uvrh yryhl yxdlwa ladwxy awi mkwyn ghvpwt", | |
"qrl vwdvwic ocbhpi bcmz dor lrq hokg gokh", | |
"adz echnlju ebnmw twjl cfw loq fqklyyq clgqq jtgpsu wltj", | |
"vwlgisb murtsw ldkacqv wxfcke vcqkald ldhh gsl kpzn", | |
"itnvo lyddd saewfse spnri vtmst iblx", | |
"qsgv qni wvqiih mneg lkpb quhbkyi", | |
"efwaaa huu fslzwpc uuh szflwpc", | |
"sgmj ajh vcwpcua enltaks aquooh bwoda txbuve", | |
"vbe astgezx xqbxkdj evb bev yuuesdc fvohzq", | |
"gpn oqxfz pbwibjw gljdbf gbldfj sis dpk iss", | |
"pha ebybvye ntxhs wcuce", | |
"odnnywv qpcjll aslxqjm injfs vkbturz atxi", | |
"zzncfj kbhk jzzvnwf kqipx qkxpi rzb czfnzj", | |
"ygu vqpnxkw trdtv rrte", | |
"hrutley ljxuuq yonbpmk hmpc etyrhlu", | |
"odxp fpvizzx dxop jjbr skhxq mpzawhe zptdxuu erxk adbbuk zfzipvx", | |
"qjovasi yutjpg rcp bykpctm fqmmg pckbymt hqj", | |
"ssqc cype tkowxb fbh rsluu zjk scrukwv pkuexk qlgjtdq oulrke", | |
"bkcd nnf hdj sdlweyr uyf kmvzq", | |
"sgeg moy png blv bblree ufe uqknuqd lnjwbh", | |
"snpex hrbcfok pffv cwrvhcs fpk uprhn gbpy zkxyi esug ccnnj", | |
"bmwue dugcrdu uifiy clid rdmodec jodp hti xptj tpopl vuwhdyi hnoq", | |
"cwlkg qsz nnp lfyk pwn dpe oeuzp jusxxkq qlnchc", | |
"tsmkvge pxauyc cxypua boi hybq rzf iioyi rtedkc gjmk iob mqb", | |
"cvip wgbjhe ulwg jckkwd gdu bmaoisp", | |
"drpl xbliszf rpld ngnvgxl xnrd xsmd oetrcmn xvfohp mtocren", | |
"habmf dmfxq qitw xxtybla cxvb colcvpj sowoeuh bhmfa plccvjo naftjgw", | |
"cix soo icx ahx cdrjyxe htcnp", | |
"acoksaf cgahlg tdj euchwnj bdn lunouq aewrk uktre kklwqy lnouuq", | |
"ibsel hwjbah vxuk bjxa dvzbpq tffqvo bjax qfoftv", | |
"iynms tzv jakuuw cmz cjnyr ddibtd gcb", | |
"tmgerk pvwizc lxoma ergmtk xmg loaxm", | |
"ajazon yjwt viyemnk wobzwwm jcucn nopymyq znaajo qcjtmlq ccjun ywvt oqczod", | |
"kdhgnv kdnvgh rpyrxx xpyrxr", | |
"qftmshx hrbr kcggxw jwtuk qxbzkn", | |
"ddi fjekwxs xxua cmmkrso", | |
"ptrsv favvfh innnnx nninnx", | |
"kzsnd pnf evtazgw wmjk gvxp bslajo", | |
"nphqtka umlxu ymw whqiab whqiab vwigkz pevtps", | |
"vhje cnu uzfzum rwucy mxr wyrdqfi gnkuwz dkrwc otfc vbfc", | |
"ubtzio vlijsst anruj qyntadb fnic klz ywqq fnic vlijsst", | |
"rprj ybyqawb tgeieih nzcr rjpr bjfpozh tpevsx flvjdq", | |
"kvqqzvm cfdm wzjmkq sbcfx vzmkvqq", | |
"zqtt elpg eglp uoe glep", | |
"lqv madhtch xevl fal ijmx chcpra lzl afl cndbvnq", | |
"yjx jyx xjy otwklfj", | |
"cur egsdzaz ocbx wvky coxb pgiysbh lclhvy gfu oxbc vqyjvhh", | |
"gtd pytdaz kecsku nkiud ytt bmgobx tyt pfleji ebqlifv lqp ytzadp", | |
"bopfdvy eovszvw krgu jhuhyqi kaczafr krgu zlfxtl", | |
"yixprs zqai oprgw vcsjoc pgorw ypx ijo urjcjqv", | |
"estg oqnhw xgwajp mpbsag ibzi", | |
"zggbt jmmtkru sye ybd ztggb", | |
"tzryuqb blyxnnu sjpmf yxe zimf uyzqtbr qbyrtzu", | |
"rzivz rxn invxqd nazw efzun bwnw ywx rfuda jhnoww mketav", | |
"zxfw zcaqi qaciz ktefiwk xwzf", | |
"ntougl fvyaxfr obml obml bjkm lgsqj yfcggdu rqcpgt ntougl nveto", | |
"rma dakifg pvfc ticvff iffctv difkga", | |
"wpnt eclov vmmoqh qvw mljlvnj hxrx", | |
"ijnpo uhgxrfe xxopw xuzwyd powlpo ctduj eepw gubnepv", | |
"rxcmve myxckxk ecid nxe xevrmc juzaonr ilkx zpb pbz mvgos yzr", | |
"yfecm wqkh defqqa mnzgx nwe ixxg rjdhe new", | |
"awztgx vqgnfd iwcakr ajaiwn jiwnaa uqfrim wrgbjon ufqrmi vdu yjwy gwkdc", | |
"vrqf yzmvnr jkjji ghya pdlye ygha qlcm twmkex frqv", | |
"hjb xgypw vtr mgj asa owcuks fnllp ommrhng senv iix", | |
"usw iyuatv ondiwh neac ttge tzw bvjkfe neac usw", | |
"qwehwhj idrwo vex zopkjd lrcc sfqyz smte qrfh lccr qwjhewh vlb", | |
"efnlhsj ltm xirn nctwio cin", | |
"zocc cpfo czoc oiz tftk", | |
"rlzvqe inivone kptyumn eatw urjxc aetw", | |
"qavvqa jvvc yux cvvj", | |
"bfr fcpc xpkphcf irak bfr nuhsooj nniugf bfr gllq ipo", | |
"ekd dydxs rnmgb dek yowk", | |
"ipdll wdgx gjiigd uleiwg buvv vdhuzg gigidj gkyigmx lpdli lzyode fqdpvms", | |
"ycna rhyz bsipz lit rmc mrofb cyan mrc wujk", | |
"tjrk cwdsvf srkdjy lsyvryj nko syjvlry fgqq srdykj pgb koh dyle", | |
"sflcxt wmgdgej akllaoa bbsvve nsxnt nsxnt kgm akllaoa btqbez", | |
"bzmoci agemx mdtiol pyohvf zwtx aqblx oibmcz ypcmz lfg ckssn ozx", | |
"cuojke joekcu eusr dxqk xxwob klpsm", | |
"byspz lyunt eojrx ubh rjxoe ypzsb", | |
"ibok bkrtut wzcdk ppm qekhvy aupaic vswwul lmlxrv ainigy sasurbx", | |
"jeigcyc cycgjie resio ncz", | |
"xvxr lmlaje ebmtn cvms xrvx vsmc", | |
"cfjbffj xvo hpsbu nfm jhlsk mnf fmn", | |
"xncxo iwuon voj aebv jks nynzl hwjwo womejo ugzmr tdfaep olpdiaf", | |
"jlnusc hgpprf nulcjs kwiwypu kitjjbj snlcju", | |
"buqzm kpuoxel ajlqke qqdur jecuibn leajqk qudrq usi", | |
"ahbnjf uuzecdv yfyrsxv eoqey oonue vyyrxfs jixmvao", | |
"wjdi cfgurdl usdnlk jmao qnus cicxnux vtdxxkx nusq", | |
"mlvfz twu unj mar qpiz fhjczpz ytl npwjys ppq koa", | |
"ippdky pvwthzj qlkhl pvwthzj", | |
"kfm lcedomr xgdkrzo hfxyoe rafcby uwe pzjyuja weu nso erdwc fjvc", | |
"peep oufzlb fsgn kxj uge xvufb zsnrxss lere gfsn gvwajkj fmh", | |
"mexvi kgkktz kgkktz auyln ghvqc mexvi", | |
"wit qxtewrk qdaz oljeb wowb suergyt hxq pfnfbei rdu qrxkwte fyw", | |
"qjjzkd oxedeu uoxbehs zder vvjnn ocxkiz wkblzy eyzksc waiiqo fut raak", | |
"dhojys qkusuxs kzicui dcsxo", | |
"hsnexb yoz inza gqxtbc rya jqfe ufzlqva", | |
"scpquf gbloz ceol eclo qpvzavo rwfnxa", | |
"jyg edqf vdpsihl edqf", | |
"mbyjg yjgbm mgybj mhgi grw", | |
"ler oxssrel jhw jwh sfa hdhlo gng auzoan", | |
"hmkuis iaxf muhisk ikshum", | |
"eodbpo prajasi zsu hyb npr tbcntup uzs bxchne", | |
"zpyr kxmvz frlzwnb tzqrw vdh ndbwqmu cadwsv adq bzfnrwl qfgf", | |
"dybnn dmarc mknr fovokgj ukrp cuwag", | |
"khweq eljs rllijp pizevm lwws kehqw mkjcu otqodz", | |
"fvsrb kzbjbcc kzbjbcc mee dhyedb kzbjbcc", | |
"cnlmjd dvnd vhlvsa rsrtc scrrt tqhx vke jqmxpd udkjqc qxriw pfqpk", | |
"tyureg urteyg rutyge rmoihs", | |
"pccxeak tkmyane qqggpr tbdmpi ieb", | |
"wjucbi wjm hais pcxjd kkzh qns hmf mhf mnsv ifigsc", | |
"lqeyr pnopcig cpgoinp pncpigo mjfkjus cko zedvvyq", | |
"ofsnspv goj wqm ynolb qczly brl lrupzg buof zladwte", | |
"xzn zxn yaseulw qwhxb easyluw vvlmh", | |
"aiybip ydfczwh wkl rjsu xreokl qov mko pna fkfu", | |
"zjlwozs nxke ozwlzjs jybx jpsxp qtkll idsrad savpoe", | |
"xph lpvkmvy afq uqhg qqjgm smg tmhem mxdyqx bvhot lpvmkyv", | |
"jxkkzil pkjheow fewr ggbfy fuol cuzud wnx fxujfwh srjsmic", | |
"lzbjx vfx sncis xuv unoa nlgs stdhf oibxsgk uhogsb", | |
"hfqzkms bzyfnz npcd yhfdo myqukug pjq adle sqkfhmz", | |
"czhainb iazcnhb hhaqr cyrwj zzow luuvt zdyhnh uppysr", | |
"fyw dulbxa drewqsr tldlaac kyaw datclal ylplup hdzbj", | |
"kiiv tly gua lfg", | |
"gphbvwc lqdd jqja ffpkz hafal eiapksw wsikpea vphgbcw lkcpm zjxcx", | |
"viapp rxt vdgbm ezphp pcqr bll mklgx epzhp", | |
"favz bwmczgg zoyns pens wpgi mrwxel", | |
"ozwjjn kbzaozc cuaa igbfyq swi uypx bczaozk pyux odvawqx", | |
"npnpw nwppn egnpj fkzh wppnn", | |
"asu mlqmwa npewa cjluw qmalmw newpa fznx dzypi yiy", | |
"hleh usw bgmgscg cqc fijfuw idtyh cgmsbgg zjhr wus hymbju", | |
"tmre fvm cgowgb eduyfla ttez vdzp vtmtaog ezxsfi gyxgzi pvzd", | |
"acvarlu hkmfzdg jsnil hpv wjj rljpk pygl wjhhohk rkplj spvgx psgvx", | |
"wyz rvuobq kbmhaf bec bec", | |
"zosyz psuo lgihdo mjtftk fjkttm ddmcd", | |
"pqm qpswpb opviwxg ppqsbw waco jpx", | |
"yzgumgq kqv hqjghnl jixhoyg ufer kvq lzi rojm gbhvsd urd tuy", | |
"sxc jndqc ozpex wkchpu tmwv utcxzd piecpma cmppeia", | |
"ifjc lttj tltj rxmgxqa jcif lzhxkg zqb mdq kbjavv", | |
"isyxn zjbj uiw avziqxf zpezazx iuw", | |
"rjaudu amtpuk gufogys xiqs", | |
"gau sndrkv cmiolti cdxm ikkcisu xusnfbp jxffy ffcizj psye sgd", | |
"mvx onzmy oynzm mwfgvs", | |
"mrdg roanty dljs jlil gzcj dqitnfb gxb vzzqf ooweeh pgs oyntra", | |
"yna xgok fvbdl xgko udqp sorfo hmhl yan", | |
"kycl ule blupejp kycl fhpkoe pqkptw cfzpv nkncl", | |
"snugkyw zfdbsfs aehb olq kkoi xpsvy jqcspf lajjyu jtm", | |
"hifhfa mii clukcbc fhhifa wcts tgai vvqsyr kclcbcu", | |
"ordjftj dokk hdhytwc fjodrtj ojrjfdt san ajxrwy ked jfrqc", | |
"eylx cohd biswq xgiibz gzcptbf eylx icunv bfg jqanbv rntp sbfkiey", | |
"kub gdpbdms qnnto bit visqop", | |
"tywk clicj daics cbuewkx yyjjjka vxzk afsdyqg", | |
"bmxzll wqjnyr mxlzbl yutkaa qmpz hiqkf lqqqle jagj qlqelq", | |
"jgdeatg qubj jsu bhgbm swmgy lwgnuh qjbu dqwiikp mgwys", | |
"ryisldg asrrhz vxvrnk ibjr kebyx dwbx qdrpa tgakt", | |
"dfvgzk hifan dpjdnqc ncnvf xmqjjao npjq vobt evtaety kvufds pcugx oyjo", | |
"ezionjg ioznegj cykxy igeojzn ezm", | |
"dkv dkv vfqyl dkv dtjhrem", | |
"xfgh brsjcdw auvq fibb gcbecl", | |
"eet qdnrymr ndqmyrr tpfqxoi kbkxw", | |
"qhmaj maukf uygg hqmaj tfmtv irao wsari", | |
"ofoywus wxs leemkn wfko dwzqv txg qsiiiss aiiffe fadmdq zjtaovt", | |
"fgfms oazi sam msgff qif evxca reho", | |
"gpzhy qxh sco qeax wtabxwv sjd oev", | |
"xsmpi wskvku xspmi smipx", | |
"ghgf tbpeun qdivuvq dump umdp khxcxtx laljpv lownp egovve", | |
"vhmu eziabt hnz neko nkz hfmizn", | |
"vqhb lax zzyf lxa lik jrqynr rgcos", | |
"zjgbfzv ieufyz kjxad qxeuewx", | |
"ufl drkaac hoyic pqutop wqzdk eewabsr mqspcr ewarbse dzqkw", | |
"bgatanj xmddwv mwlmw scgzboo myignm lkfl fsqr", | |
"xkrx otjzfk wek dpbwk cromg fclmhg pkvw wsln", | |
"yyqjs lifg gifl cfv lfig fycza", | |
"dfup fkfeiqq rcmuv dly iforzi lngkjc rzifio oiifrz mlhor puwm qrthoa", | |
"nzfaeto punt rtmlg dwdk hyig", | |
"mds ueoyclh lxb axgea wqt wwqqglf tqw yvzji ryr dst bojf", | |
"ayoj yzj lyctgnc woxz gqltw lkzkwte wysb mjyeu hrwso", | |
"gymmvtt lhskza lsb nhlijnt men zphurrw oftksy zxs ykerwue hnijltn iknqyz", | |
"xuaxkc lgzeef fwb nlzzhjj lsieg qdr ews rue rdq", | |
"xnf lljcmod kyuercp kvlvd lkvh ncn afaq", | |
"bjytofa ltz mkyy bwt uxca somiz rhgdg keaqu ybr", | |
"aipljn qpq nilajp udgkchc dirvxg rrbmi mxfxkk kmfxkx", | |
"sfzjemk hjsvnmb hfd hprfmvg pbhkc", | |
"cvxi srj ucy yuc euswuns jpox", | |
"tajlnn ivuecv fdfce rakjq bfuxirh eibde tajnln nlajtn", | |
"ndvm mlnhy bfqlzn nmdv ohto", | |
"jysyvwy xbcyt lbbm osoye swwtwa emfznci qnzc qsgk", | |
"xcm jbqsuo xmc mtrk bojuqs", | |
"ukshrrh xhfl ooxgq vadlcrg ydva hugplg mnqbd wkyouq", | |
"mnmqys bhws megar krgoke modxe krgoke clovh dlo", | |
"ejl qzc agxph jcn zcq zqc", | |
"jgh yhh hjg jhg", | |
"tarm jboyg gbyjo pgalg xugzt bph mart", | |
"yur wrrahr fnnfqu rwhrar cdq", | |
"mukod gueg guge epalg xjkctt", | |
"hub hbu hbzul buh sqfl", | |
"xyrly lvpitr xfzn jjcl uvcnz dnpdyzq ifaiwe zlvzcx", | |
"wxzsf tgd khvwp cmd mzv bsvjvjm wvhpk ublnqyz mvbjvjs peishcb", | |
"zunmk hxpney nphxey znmku", | |
"bfxlgur wftcw xfkf fsik xkff ffxk", | |
"sxyjzr ugcscx uiovqx ldzhord xgxbfph ldzhord prdhg rhdhzd ugcscx", | |
"udg drb apyjq dgyevo fuxjhg", | |
"qshbe aigfdp wyvz xfcos wve dgfrufw dwimmb jfh wfrjbzk nwgrigr sbrpbb", | |
"ahpn xnzeof wxbv chxpcu jmso age ojsm bqonfki hqhrkw", | |
"mfupm vvig ndqbbm jlw", | |
"ejqh ebcrytj zpiqtpp ogznd", | |
"wkwkae odq rsrnqk nslczz hiyyhur kuw mjbuwll vduvod ryhuhiy swo tsos", | |
"znkufyx jejrdno knr wkx ikrlly tnxtj", | |
"iizdiw iizdiw hukep rwj eaq ptm klta rwj onaz", | |
"znb egqy qqnc igqr ikza ojgzkr xaen kurb pyckxvt wqx", | |
"pbohpw bphowp dajwdpp kotevs", | |
"hmuvxu zdnguk jhcmj gccyxiu cxgiycu uyxcgic akxi demeff", | |
"zjr lupzwcy puva rzj", | |
"cdn wee iqkbhl jwxo nhl cqd mqgqf ltdfg", | |
"phwco ggcj cggj ergpqmc kcz", | |
"aryjl wqwmkc aklktpz kptnroc mckqww", | |
"jadydt atjdyd tajdyd owswsgm", | |
"dshqt kacoge sdqth ylobih", | |
"kdnik knkdi dinkk xwvqa gvii", | |
"cifbkpt zye xhwnrhm fctibpk sbn pdqry emkye kzyjpa plzkc btkfcip gcchi", | |
"kekfr fufp dfy eqebgko obbn nuh", | |
"zixfbus skuf bea gimbqq caubhto eba uvkovz xisfzub peukmyn", | |
"okihcgh gazrc slee vlnwyg geviex eesl nmnvk rcbv ycupyw", | |
"tcvlgqs wxe lusvwzy unr yzluwvs wsylvzu zkwth qdykv", | |
"hyenkj ugao vlwgb putcepr lyeccs fqdotx burf aqew fje rfbu", | |
"uhmnc zgnkarz gylqawm abl zimcz qbs zzmic", | |
"pxkbpn zuxlwtt rlbhegv zlxuwtt ooxpr pgjx", | |
"leg wavgps fcplfpc xvxih ueskmi dvu wbiq nvtia pwjojw usiemk ojwwjp", | |
"zmrpknx xrfpq avque tvoyqp", | |
"lyposyj mckyoub sqbl olpsjyy hjafzi wmojb nvezofd", | |
"yflxrg egi aij qvc yflxrg typbs yflxrg kliexy eqnj jqrr", | |
"gggt sht kdajvz sht gkqwaot sht vout", | |
"ahl aucpih feig man umtchcv ceqabr tfptb", | |
"ftlywun voaorf kde ilwt hlpoe pksqxyh vpg cxo xgq fdkkl sgxhnq", | |
"zzekhfi akb lupta sgtd qapznzf lgidsx lidsgx akgmq ettuwjq xyumf", | |
"dxhpku lwoxpim gwb lhjmoh gxqapd ntmvc rvwwszg pvin lwoxpim coubc", | |
"qia bxmremo rjf vaeio eqexwz wuoz sguf bsbusof xqeewz", | |
"iczzz krf hbq tsgrih mzjabrt sfnwrm djignf zwac cwaz dgc nsrfmw", | |
"yvarsva zzpbp yai und kkbinr zlyj nyxxof ggrgu vyk eib", | |
"nepzm yrrgr vrlhbv hykmiog natrqx jvpq nbyhe zuo grx nwl", | |
"cfboeev hcn yfobyx cqvlo obctww xxaux ofybxy wouguq avuztl xmgqq xyofby", | |
"tikv uvzp oxopqy reh uzvp wefka vli kied gngks vbz thfsxyt", | |
"exxvknp pucbdyl dboto tzat qze xyinygz mhzl ubahr ekxbtk", | |
"jcz ufszbi pknsfgb ivok ijau okxolj etecn aurun zsa gbxs uryx", | |
"ypnb ousd osg mvset ipffzdn dfinfpz ltescx", | |
"taeoct aoetct aocett ttda fcdqnxv", | |
"bimtlk ssax bmrifkr vfxdmq hglp rgzr zpvk zhxtq rndwy mmr arkr", | |
"bwvdb axxbhzk nwfmbbu kzuc sahv cvas wdac acsv", | |
"xavkwou yvx ouwkxva otbe uzr mmw atq yiy ghavd qta pqlhv", | |
"omzht vsdsc zhtmo hmotz", | |
"eqt wtveez syift shtfnc hmckjxa apwbvn yme okdl hbihdtv hxahns eetvwz", | |
"rokdg ndjw hprxjc viys mbcctod dbvd", | |
"lhzb fyxf xaslmi sjd vqp grxhmfe snetfv mgivd uaknj givkdi", | |
"gxkxl kqcdnl rna jhcuepd npiedg djcpheu huce njryw bjluhq bvedvl kqxu", | |
"sogh uym atpzuwx vjgbe xgrvkg thgbyn mptcebt rkro", | |
"tnpxw uxrqxd lajmsmr tnnlt vrvbf deret hkmvrs eubvkn kks hjq", | |
"rcdoa zfja vod supip dvo", | |
"zbxdo xglqv how mgoq jqrdou pwrminc lidi nfs xglqv lidi", | |
"ldmnp dnqn ahhr tha mvsbsfh rpm rgus faf tjash", | |
"ewrdol jqhfpf rckj mrxlwj redjg bmxprx grla", | |
"rhr jksebwa vtu skwaejb vut", | |
"wrx iqvrjh atrt xrw vtqo tkcasd xedjh zkqrh vvhj", | |
"owc qlzygar uajwwe obzl inxawur", | |
"crbtrf phvy nzipo rctbfr trrcbf", | |
"vwuun wcfhhzo vxxjdt fbf bqtmmhs bffqcna", | |
"wkxfxmv zmrkyh sggw whwcw zukynw", | |
"lsdiy lnbn kblxi qfyib irfl mymrr zqbl", | |
"gwdkeu ghn afry zxoz fary uzntlnk kee xtnop ptnox zngoran", | |
"lgs lsg sgeseiz gsl", | |
"erpoqpi svtnv vsogl uym amzxbs", | |
"jtmodqx yjcsfcl zosugm jrekfdw xxbdqnx fcha", | |
"vio tlfxokx xaoq pydeiq glxsuzm honifvf maiuzsy uizsyam eco", | |
"ophcui saka qyt ltti syw", | |
"qff qff sde ryv", | |
"eiii jazx nlehtx tnhvxl rzvsjo qkupif feypppe tefxr wdjmlc", | |
"pdrr mwuy wccd rxla drpr enbbap", | |
"pclml ubwdbz hfudj gdpujfm ovabv", | |
"uink ffebi wdvhqzs qiympf lqxihty vnsp wdvhqzs hutxkcs lxfuos hutxkcs", | |
"fycoaw palkpz yrkg kappzl ncjym mergg kryg", | |
"eqy npvgh ghafkro piqnogb polacs qye hnvpg", | |
"dxyy udhmz jij tqsuic qxz erctv", | |
"urum nmbr cgek eetmhj gxr oxgukf wzdmvi oibzt fxkoug rcrywcr rglx", | |
"jkp ofej waibl opqhmww ifnczcg jdtkbc lil isc ill mylvuv", | |
"vqbcosk yhhsy gasmj bspx peakt cjtekw hvzo ywe qcvbosk ohzv qddt", | |
"edq llbvsx vedyvlm gou wkecank rkgf ziyrr belgo tbz", | |
"wbome vhzf ztk zaxiu ywjb supuf beq sxq spuuf pufus", | |
"femu ymkdoew kjynct aia", | |
"yjymr orovqj aremii licw bdtnc", | |
"uyade fbx duaye ujtvpn", | |
"yzvp pvzgjp yofcvya gvkkoh cafyvoy mhsm okhkvg", | |
"xuh qkaf dmi imd tzmlce mqkxj qilrc dim cadotvy", | |
"azpqgb kyc aflgyaf laagffy kesmk jzyzaer taf bpkbzdg", | |
"ogd dbdlh dqt zaaloh", | |
"exal vgnfx omu omepvwf szcwq snz bptite bzqyxl khmblyc sse emg", | |
"yqcbwsn aihhf tqck tcqk wqwqy cfez xahpn", | |
"qqbuf lil ies tqu pyxhqp mnfuk azj", | |
"vwma rzdtgl mxbasw nwgjav mwav", | |
"itpjfq rrgyt hralwm fqrig btwcod", | |
"ydjd kmk fvwr wrfv yvhw mkk", | |
"xbsxub yhsj xzbuf ace xubbsx fzuxb vxk", | |
"ttsist vubpf mhwkmtx vlj hdsva kmmhtwx ukxr upfvb tbma fxsrnxl hzwufho", | |
"wckjvz unmtev egxts ihw topvw ptowv rnihhmq", | |
"gpdtl kcric nwg ssbs qah aarp ydsdty ngw", | |
"lzhxbbq oktvcw xbasqe owtmwgp koa gumjie sodwrp hqsw aqh dtgsbb", | |
"xjbyy mxfxa ogvk nqiy qyni ldqwryj niyq jjixc", | |
"uhbul daccgva xtiz dim uhbul yjmakv yjmakv", | |
"huo esajup ouj oju ujo", | |
"eeeu hwvsk jfkmds okhi pogskfm itdlbll", | |
"lpyubo dylpfb iehwug decj ntidy cuygyg lalkb iutu oxgm imn", | |
] | |
//part 1 | |
println input.findAll { new HashSet(it.split().toList()).size() == it.split().size() }.size() | |
//part 2 | |
println input.collect{it.split().toList()}.collect {it.collect {word->word.split('').sort().join()}}.findAll { new HashSet(it).size() == it.size() }.size() | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def input = [1, 2, 0, 0, 0, 2, -2, -2, -3, -3, -7, 0, -1, 0, -10, -8, -12, -8, -3, -6, 0, 0, -18, -17, -11, -18, 1, -7, -10, -4, -18, -8, -26, -15, -24, 0, -8, -17, -15, -24, -7, -21, -15, -19, -30, -40, -44, -23, -3, -25, 2, -31, -20, -45, -51, -50, -34, -4, -33, -41, 0, -49, -43, 0, -62, 1, 1, -32, -50, -22, -10, -60, -13, -46, -57, -40, -28, -33, -34, -13, -40, -5, -49, -17, -25, -71, -5, -16, -23, -58, -69, -22, -28, -84, -70, -71, -73, -87, -8, -11, -99, -65, -27, -32, -48, -87, -96, 1, -58, -101, -94, 2, -52, -34, -22, 2, -25, -7, -36, -66, -84, -100, -45, -65, -69, -52, -5, -4, -93, -100, -7, -13, -50, -87, -87, -4, -119, -25, 1, -41, -58, -24, -12, -15, -39, -140, -40, -136, -88, -141, -112, -43, -68, -67, -128, -23, -24, -90, -56, -71, -146, -46, -41, -76, -54, -38, -144, -53, -1, -97, 0, 0, -70, -60, -171, -12, -97, -147, -21, -174, -108, -101, -91, -56, -76, -13, -177, -1, -40, -2, -177, -136, -168, -126, -5, -175, -177, -144, -104, -174, -4, -172, -114, -69, -18, -24, -157, -47, -110, -6, -155, -79, -157, -93, -93, -114, -77, -148, -32, -100, -192, -144, -123, -192, -65, -220, -143, -1, -40, -149, -69, -230, -202, -69, -52, -112, -175, -72, -69, -168, -198, -181, -156, -37, -179, -168, -81, -51, -205, -2, -104, -25, -199, -83, -176, -115, -174, -204, -207, -127, -161, -219, -27, -107, -160, -141, -34, -39, -182, -46, -41, -90, -267, -234, -48, -72, -49, -110, -266, -167, -194, -124, -183, -184, -108, -49, -130, -166, -198, -87, -196, -183, -275, -130, -275, -39, -70, -143, -257, -22, -53, -12, -93, -30, -141, -32, -239, -284, -186, -211, -160, -145, -21, -167, -258, -67, -56, -262, -272, -19, -194, -244, -95, -261, -27, -109, -271, -7, -146, -328, -266, -207, -76, -204, -273, -177, -159, -68, -231, -215, -75, -264, -27, -342, -298, -338, -178, -268, -303, -78, -283, -149, -147, -209, -146, -147, -282, -131, -204, -129, -319, -166, -256, -114, -267, -211, -15, -194, -53, -114, -236, -127, -33, -316, -123, -180, -234, -131, -107, -21, -209, -174, -174, -24, -1, -281, -367, -251, -42, -17, -158, -33, -181, -26, -286, -235, -262, -1, -374, -121, -253, -215, -19, -114, -8, -372, -89, -185, -50, -71, -130, -248, -274, -9, -99, -66, -402, -256, -294, -313, -256, -36, -229, -64, -47, -32, -259, -178, -278, -416, -334, -286, -229, -377, -50, -424, -359, -182, -41, -270, -96, -372, -1, -100, -45, -88, -111, -373, -247, -185, -356, -66, -246, -157, -326, -196, -258, -325, -218, -43, -224, -429, -461, -159, -101, -21, -187, -416, -154, -416, -311, -54, -189, -379, -375, -300, 0, -405, -170, -478, -119, -451, -121, -30, -304, -320, -218, -369, -294, -41, -328, -482, -42, -200, -254, -409, -260, -447, -196, -156, -394, -142, -180, -376, -316, -323, -455, -262, -360, -143, -318, -242, -226, -382, -211, -493, -443, -14, -231, -304, -168, -396, -100, -201, -187, -209, -49, -45, -150, -309, -275, -449, -523, -260, -366, -222, -483, -234, -209, -398, -247, -343, -266, -456, -396, -528, -232, -241, -482, -417, -362, -406, -503, -164, -146, -198, -285, -23, -133, -506, -159, -203, -70, -35, -410, -209, -482, -304, -45, -550, -27, -6, -117, -121, -143, -265, -196, -179, -334, -77, -253, -526, -276, -437, -212, -276, -253, -414, -192, -48, -53, -28, -24, -139, -554, -534, -82, -35, -237, -447, -274, -125, -377, -404, -101, -241, -166, -192, -120, -469, -461, -534, -222, -409, -363, -211, -477, -300, -491, -506, -512, -344, -554, -31, -617, -49, -268, -63, -143, -512, -115, -299, -344, -453, -573, -590, -330, -342, -347, -3, -46, -344, -423, -561, -411, -95, -9, -323, -354, -523, -523, -526, -573, -162, -281, -578, -326, -475, -506, -319, -190, -15, -193, -586, -430, -166, -72, -160, -530, -233, -626, -345, -253, -413, -152, -217, -672, -675, -498, -417, -104, -25, -114, -283, -187, -314, -51, -88, -217, -311, -408, -148, -420, -615, -221, -454, -461, -213, -131, -115, -326, -244, -561, -133, -50, -434, -544, -616, -418, -302, -366, -202, -624, -302, -241, -158, -494, -321, -555, -136, -601, -363, -246, -630, -705, -121, -427, -91, -453, -664, -271, -210, -155, -573, -232, -349, -152, -208, -233, -395, -185, -121, -291, -149, -11, -263, -55, -488, -78, -155, -447, -667, -556, -730, -406, -454, -382, -496, -568, -235, -374, -200, -475, -513, -275, -423, -95, -643, -434, -144, -527, -418, -577, -564, -211, -485, -122, -387, -484, -212, -129, -763, -268, -83, -428, -518, -394, -784, -223, -549, -232, -175, -566, -569, -329, -300, -3, -563, -571, -369, -753, -111, -609, -461, -514, -514, -174, -800, -702, -808, -780, -708, -774, -811, -518, -741, -404, -364, -48, -74, -228, -333, -380, -90, -813, -457, -275, -414, -281, -723, -101, -123, -438, -657, -406, -779, -161, -825, -715, -79, -358, -183, -554, -716, -596, -56, -39, -505, -268, -425, -609, -69, -92, -7, -44, -10, -681, -86, -30, -225, -551, -213, -335, -829, -817, -804, -74, -109, -732, -781, -401, -370, -40, -526, -694, -336, -859, -294, -682, -264, -325, -27, -679, -135, -82, -711, -570, -159, -179, -604, -41, -580, -403, -540, -262, -69, -329, -5, -879, -345, -632, -367, -183, -38, -80, -63, -448, -832, -656, -774, -292, -474, -596, -862, -842, -16, -107, -243, -647, -782, -336, -785, -816, -78, -416, -712, -810, -389, -264, -304, -847, -520, -619, -161, 1, -584, -719, -486, -516, -360, -747, -363, -672, -134, -177, -894, -778, -582, -766, -769, -114, -843, -287, -493, -30, -620, -467, -141, -206, -437, -367, -426, -799, -943, -508, -594, -545, -61, -829, -844, -589, -775, -409, -28, -726, -452, -261, -613, -106, -441, -496, -643, -606, -742, -408, -321, -260, -333, -328, -751, -21, -768, -36, -265, -936, -697, -702, -924, -89, -215, -896, -216, -477] | |
//def input = [0, 3, 0, 1, -3] | |
def pointer = 0 | |
def jump = 0 | |
def jumps = 0 | |
//part 1 | |
while (jump != null) { | |
jump = input[pointer] | |
if (jump != null) { | |
input[pointer] = jump + 1 | |
pointer += jump | |
jumps++ | |
} | |
} | |
println jumps | |
pointer = 0 | |
jump = 0 | |
jumps = 0 | |
//part 2 | |
while (jump != null) { | |
jump = input[pointer] | |
if (jump != null) { | |
if (jump >= 3) { | |
input[pointer] = jump - 1 | |
} else { | |
input[pointer] = jump + 1 | |
} | |
pointer += jump | |
jumps++ | |
} | |
} | |
println jumps | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//def input = [0, 2, 7, 0] | |
def input = [4, 10, 4, 1, 8, 4, 9, 14, 5, 1, 14, 15, 0, 15, 3, 5] | |
def states = [] | |
def stop = false | |
while (!stop) { | |
def max = input.max() | |
def index = input.indexOf(max) | |
input[index] = 0 | |
while (max > 0) { | |
index++ | |
if (index == input.size()) { | |
index = 0 | |
} | |
input[index] = input[index] + 1 | |
max-- | |
} | |
if (states.contains(input)) { | |
stop = true | |
} else { | |
states.add(input.clone()) | |
} | |
} | |
println states.size() + 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//def input = [0, 2, 7, 0] | |
def input = [4, 10, 4, 1, 8, 4, 9, 14, 5, 1, 14, 15, 0, 15, 3, 5] | |
def states = [] | |
def seen = false | |
def seenAgain = false | |
while (!seenAgain) { | |
def max = input.max() | |
def index = input.indexOf(max) | |
input[index] = 0 | |
while (max > 0) { | |
index++ | |
if (index == input.size()) { | |
index = 0 | |
} | |
input[index] = input[index] + 1 | |
max-- | |
} | |
if (states.contains(input)) { | |
if (seen) { | |
seenAgain = true | |
} else { | |
states = [] | |
seen = true | |
} | |
} else { | |
states.add(input.clone()) | |
} | |
} | |
println states.size() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def input = """ | |
ifyzcgi (14) | |
axjvvur (50) | |
tcmdaji (40) -> wjbdxln, amtqhf | |
yjzqr (73) | |
smascq (97) | |
hyehtm (7) | |
oylvq (136) -> witry, cvlod | |
csyiik (34) | |
zivjpfo (23) -> lcchgb, bhqlq | |
ggfmiv (94) | |
vpltn (41) | |
gzxnn (171) -> mqodhde, djvkd | |
bsfygp (75) | |
dnrjb (9) | |
ohdnhx (261) -> tgiou, lndczw | |
frcrd (56) | |
cldaag (31) -> orbcuzi, teyakvf | |
vphlxz (26) | |
nljmcv (47) | |
xcxqa (6759) -> znely, rtsbgwx, hilafgl | |
hywzja (81) | |
ytxcti (60) | |
igzvp (68) | |
uzvsml (34) | |
keusrg (27) | |
tlmfw (45) -> pehflc, lefxyzt | |
hjmtrw (6772) -> cblhmk, zzflc, xsztla, iitbuxz, tckyc | |
ahjlf (1474) -> ejvipa, xhzyzer, pzwtjfj | |
egszxz (14) | |
skmuo (1607) -> rxsihsa, vsslzfp | |
ifyja (32) -> rvixnmq, aumrixf, wbenaek, jkkwtd, ywnsmem, mmhtyd, xmzzrgs | |
dwnokzu (311) -> xinfpy, lwvfsu | |
txbgfm (33) | |
roqfxg (62) -> wrhnq, rskara | |
autjn (29) | |
hnedp (10) | |
owxawf (60) -> twoyl, sikmtaj, lvptmrf | |
jensj (281) | |
sglkjsh (66) | |
eeziziu (34) | |
qjuuu (83) | |
iebulx (297) -> mqcflzv, nafrmeo | |
lhfuku (159) -> syzcti, ynhvfvx, ckegba | |
mxnlv (61) | |
emtjcx (60) | |
jspui (58) -> chlpx, xjkquk, afyxhh | |
nmikggy (64) | |
vatflrk (6) -> uxbhu, gekygl, xdyrvy, wesoooi, esphpt | |
jfcoc (41) | |
gyepcnc (6) | |
atbiby (80) -> aqtog, qjsvs | |
ygnkwn (52) | |
piexct (65) | |
uitfx (39) | |
rdvciwk (55) | |
jkgnvbn (23) | |
xpewzk (45) | |
vlqyxe (337) -> rosfnb, vphlxz | |
bmdgthp (215) -> kyfuyaf, tzrqqk | |
czafdho (24) | |
emuwzd (102) -> ifyzcgi, edotax | |
fwabsk (14) | |
uftnfv (53) | |
ndkcn (39) -> mkjuq, ghcgz, cxpwfir, lxwvf, nsghrq, vyvrn | |
srzfd (77) | |
gqhnstx (870) -> xmedt, brzucfh, layqazp | |
bdnjn (57) | |
pbckxv (14) | |
fbpbs (74) | |
zwutlym (92) | |
lzeud (290) -> igkrktn, oixlcn | |
gjctf (27) | |
azmneyd (60) | |
wbenaek (253) -> gdunxee, vgiqvsi, bmlkhaf | |
orpjw (72) | |
dgyulo (9) | |
qklqozd (125) -> otikjx, wuvhyc, dwejsn | |
waiwj (47) | |
bnevesk (256) -> dmglcj, blnwcb | |
yqnjd (50) | |
vvkkkpb (39) | |
ciprksz (84) | |
hblux (91) | |
dfywz (60) | |
jeiqx (26) | |
zdissfg (7) | |
mriqcjy (66) | |
eydak (49) | |
qwxwd (49) | |
plhlj (64) | |
nqgbp (67) | |
ewwfzg (70) | |
djzjiwd (44600) -> zszzkl, hrnrjrt, hjmtrw | |
mtflvu (71) | |
shesfq (143) -> ohdnhx, uhnqr, zdglrh, ripilxo, gfszte | |
huzokb (298) -> mnqii, mieqti | |
ohuvsf (83) | |
wcdibhx (196) -> xvwvc, ncmad, jkgnvbn | |
fxlbc (184) -> mdqeh, kmvcmg, sonvcww, pcckqq | |
lnknp (91) | |
swugafb (504) -> ryazls, vmkeu, fewrzd | |
pmadd (97) | |
mprgtb (42) | |
lorxjw (62) | |
welidg (97) | |
zzbad (30) -> npccgnv, yqnjd | |
dwejsn (40) | |
fvivo (225) -> worqh, yjzqr | |
zuawuo (111) -> jktlfu, uhvtpfy, ivlus | |
ikaol (26) | |
mmhtyd (220) -> yekmflj, nmikggy, xepgx | |
hujjten (37) | |
htqps (36) | |
dlobfkw (44) | |
fxrijc (57) | |
xgfad (33) -> zivlnu, ipsst | |
pafiy (17) -> dhtxpbb, dgcecu | |
cblhmk (1108) -> ggmhxx, tysdkgl, rrvbwb | |
kioga (93) | |
ljhlxc (83) | |
qsvbb (56) | |
uaffk (61) | |
lvptmrf (58) | |
hebhue (11) | |
eefyyr (10) | |
wyylpt (184) -> oneoorw, cfbaj | |
vmboh (90) | |
ghcgz (195) -> tajfmq, yzufk | |
jjhrmi (190) -> qhubjd, uycop | |
teduvv (25) | |
xjadrfg (28) | |
ugcccv (67) -> wehdeq, gyepcnc | |
psdzpg (38) | |
hyhbu (593) -> sblfh, ekvdv, iicpkf, xidtz | |
satjdgz (60) | |
cjbdxts (34) | |
gdunxee (53) | |
fqswta (47) | |
iwouvid (81) | |
iqbdxb (67) | |
ozbjpiq (16) | |
ysafyj (97) | |
lcchgb (82) | |
wkamonm (19) | |
waqca (61) | |
bbeyl (9) | |
rkfspx (17) | |
nggtuh (64) | |
jmypc (20) | |
yfegso (122) -> yhsmjfq, jzmacb, autjn, werkz | |
zirysk (72) | |
rtsbgwx (251) -> cbmqx, hvmlb, rsstvn, jtyurkp, gmkvgf, qkawtfu, ggwtf | |
yxgwsj (14) | |
xmgqmv (84) | |
lncmhi (48) | |
orclyi (30) | |
bjwny (94) | |
zehkwy (69) | |
mzajj (92) -> nljmcv, waiwj | |
ffsehyc (17) | |
agelbfq (343) -> iuchai, qynrx | |
dgcecu (86) | |
wtqxei (61) -> afywb, dqbfloz | |
vlmihf (32) | |
lovox (77) | |
cmvofka (30) | |
ttbuzrh (96) | |
vsunxw (196) -> pdbykx, dnynny, pqjua, jhnujj | |
skfnp (97) | |
upuybrd (300) -> dnrjb, rfknc, bbeyl | |
cpmebw (60) | |
wkmtw (59) | |
rpvwtq (5) | |
jenfafh (58) | |
pubtxq (51) | |
xlkwyg (55) | |
iltoh (22) | |
ctaazgn (103) -> hywzja, pywmbis | |
zxhqlfy (26) | |
dklujy (76) | |
khgvmj (66) | |
yfnkp (33) | |
edsjbi (37) | |
brtomr (75) | |
siqcu (15) | |
kxdehcg (13) | |
vmkeu (315) | |
momda (90) | |
pocvrcs (6) | |
sonvcww (17) | |
nemrt (91) | |
ldbkyg (75) | |
jsrrt (22) | |
ifuvyo (180) -> zvszwl, utewfcr, dtmbf | |
kfzqw (80) | |
iyfyi (41) | |
tykwy (44) | |
twgjdmg (24) | |
qface (27) | |
ygkdmh (74) | |
sblfh (120) -> gglxj, fqswta | |
gbldz (49) -> xitcp, jpynea | |
hmjpa (122) -> elovaun, uijgiu, apxgf, nlacdac | |
wsixz (14) | |
vgegr (83) | |
fggyk (46) | |
kjoru (16) | |
ixqrl (22) | |
gklehu (84) -> sazbmjz, piexct | |
xxego (33) | |
jxfimbl (95) -> nvpdisw, kioga | |
vymmkdf (116) -> ofqbu, sboms, obbpd, czafdho | |
jpwtbds (1608) -> zwutlym, qntzr | |
xsztla (828) -> cmdizw, qxkhq, nfcbi, rtutzu | |
wtfliw (87) | |
lbxrh (94) | |
ybioco (29) | |
yvdhwyh (102) -> xpewzk, hdxrbzc, vsaejz, pudso | |
eauxeyl (53) | |
skuazsw (70) | |
jlcie (99) | |
ckmftuc (21) -> khixdho, ihzsljz, uvkxner | |
yuikqm (68) | |
dqbfloz (87) | |
zofjia (133) -> gshsx, ntkpthi | |
vyvrn (173) -> lrjbgd, vwojto | |
tszockk (729) -> ctaazgn, gqbwc, wcdibhx, cujimpt | |
ydqqgrw (15) | |
hcxwql (398) -> lpoejf, cmvofka | |
gjedup (5) | |
arelp (195) | |
aonfn (235) -> kzkfcn, eefyyr | |
lsgbe (99) | |
gunvu (99) | |
kasaf (34) | |
imohij (13) | |
khwbzl (1131) -> zlbnkdc, ljmrml, roqfxg | |
nwikfyc (80) | |
khtegw (91) | |
epggt (90) | |
yapaib (175) -> gunvu, ymdmn | |
saawhdk (12641) -> vwvowk, ilcsp, vatflrk, iajts | |
qoetrb (15) | |
ztmmr (147) -> ypkhqlq, uitfx | |
uqfbnlo (69) | |
sgrhs (249) -> zymggc, wnvrg | |
hqjinj (101) -> skuazsw, ewwfzg | |
vmpnccn (73) -> bidhw, qriyeb, xsyzhcf, ehjjbu | |
vqddcl (71) | |
yffeit (76) | |
xvzinl (99) | |
znzbkh (16) -> swnan, tbioyr | |
gnjit (23) -> dhfagjw, xxnpoe | |
qojhhod (1789) -> sjdanf, hmjpa, szglq | |
aluqao (313) -> lyhlx, ouhuptm | |
ipysrdj (222) | |
worqh (73) | |
tsxfibs (46) -> yfnkp, edjlm, txbgfm | |
pcumn (420) -> qwcyozf, dskuj, anoxh, dkmkdfd, fkapr | |
mejwrm (139) -> oxsewk, zsknxq | |
aynpyne (44) | |
sikmtaj (58) | |
sbfprua (70) | |
wwofru (53) | |
nmuxe (88) | |
uuvtlk (74) | |
rqisvrh (2703) -> bvmgt, gbxxpd, ffinat, ympbbx, uimoc, shesfq | |
ehjjbu (89) | |
cbmqx (163) -> bnlbs, psdzpg | |
naekrk (70) | |
cvnrr (17) | |
pwnqyt (133) -> zijzutq, yvdhwyh, vbmyyrh | |
sagyrje (49) | |
efuysje (97) | |
pzwtjfj (74) -> oyienb, ozbjpiq | |
ggmhxx (42) -> fhhgts, cepxc, zwzxy | |
bhfui (13) | |
chlpx (87) | |
hmlbrz (55) | |
oneoorw (90) | |
kyfuyaf (79) | |
kiylza (88) | |
fghxbc (99) -> fozagvz, wqgssb, kqqsq, oijwjli | |
qgxgzo (14) | |
cubqfzc (184) -> qwmqci, dmvcduz | |
lcqfe (61) | |
xypffi (11) | |
qntzr (92) | |
mkjuq (181) -> jdiczst, edsjbi | |
dhtii (62) -> kfzqw, lbozpy | |
amtqhf (99) | |
ixknk (37) | |
iuapj (162) -> gzfrn, wqtuhe, fndyvvn, zjveu, iebulx, agelbfq | |
khtooum (53) | |
aecsfp (72) | |
fcdcdh (88) | |
junfev (18) | |
pxfrz (91) | |
xratfed (6) | |
gwbfat (26) | |
cvcblhv (73) -> jbnns, glkjrrs | |
sdfvrod (114) -> lcqfe, uigcn | |
xkfkucf (951) -> skbrota, pwvahdb, odpqjr | |
okkvefs (820) -> fpuscxk, zhdioii, gzxnn, koxnez | |
dgosy (59) | |
yhvndwy (27) | |
pefzsea (86) | |
xaogy (131) -> ixknk, ykvss, hujjten | |
nvpdisw (93) | |
lmkwafp (56) | |
cwnvk (51) -> tvdsktm, pwzsq, plhlj, ayqbj | |
phbtrm (171) -> hmmjjct, xzvln | |
mrmbyj (53) | |
jibemf (87) | |
tysdkgl (20) -> mrwbv, llkaoeh | |
fpuscxk (147) -> ypdumo, lvdrrk | |
ejkumeu (235) -> xypffi, nvcafwu, cvdows | |
uijgiu (38) | |
cjjynt (264) -> rkwhbhr, axjvvur | |
nobfn (236) | |
svanha (62) | |
nuxxmd (53) -> lybaepp, eolqn | |
vsaejz (45) | |
hbbpuc (238) -> thrvlt, ziiqv | |
tbley (31) -> nvfca, nojly, nguafeb | |
bkkwe (70) | |
tywzxwb (24) -> lbhlxqa, dklujy, vzxktth | |
ezqeusd (71) | |
qwcyozf (115) -> igzvp, vtefqb | |
xpwxo (80) | |
layqazp (39) | |
hwdtvvc (40) | |
pwnxw (69) | |
jobwpao (181) -> pqgiox, uloppmh | |
wrhnq (87) | |
amsfvm (53) -> nqgbp, bcldmsg | |
dfxjjzr (190) -> udaitd, sdktm | |
cnwzxpy (65) | |
kpvbt (85) | |
ifbhg (62) | |
cpeonw (27) | |
rsizei (20) | |
gmkvgf (63) -> tykwy, dlobfkw, aynpyne, vaovit | |
bjiuus (56) | |
bwpeux (17) | |
szrkuzi (27) | |
ygvpk (33701) -> saawhdk, svthizp, abamn | |
mjtji (35) | |
rqvvv (50) -> pzbxpou, rxzfdg | |
pozua (128) -> vljjqbw, hmlbrz | |
hmjueiq (79) | |
hdxrbzc (45) | |
twway (181) -> orclyi, hmdxion | |
jocmdmv (72) | |
lacddy (68) | |
lsxjl (94) | |
edotax (14) | |
gmirjhi (62) | |
iwicpur (10) | |
uigcn (61) | |
ynhvfvx (32) | |
ugavy (91) | |
jbgxcj (48) | |
zdglrh (239) -> csrww, haqaohl, gskveo, qoetrb | |
lmlsog (62) | |
sazbmjz (65) | |
ymeoz (24) -> lbxrh, lsxjl | |
hhqmsd (34) | |
ykmfoah (245) | |
lfdefc (30) | |
qynrx (53) | |
znely (919) -> qcmnpm, yjutt, yqgesx | |
cauig (58) | |
gvamhux (71) | |
hqqingt (13) | |
fiynt (72) | |
tyysd (63) -> cjjynt, lzeud, wyylpt, pewxc, ibevwow, fvmeeas, uksnrfx | |
igkrktn (37) | |
pzbxpou (87) | |
dllzp (59) | |
iblvki (11) | |
vaovit (44) | |
tcpduh (212) | |
btpvxq (56) -> urktg, ifnkl, hbbpuc, casmwo, ylqvuk, dblmcye, zvpboy | |
xxnpoe (67) | |
sboms (24) | |
whvvemg (83) -> tafss, vnfigul | |
ljjyy (64) | |
qvdid (70) | |
koxnez (71) -> bolpsk, pefzsea | |
elgtk (40) | |
wesoooi (87) -> pmadd, welidg | |
tiikt (92) | |
eadvs (797) -> ofnewz, neywe, qklqozd, ykmfoah | |
sreke (34) | |
clqqyi (51) | |
kuufl (1074) -> aonfn, cgrima, lhfuku | |
qswoy (7) -> bklfmch, xpwxo, eoustfr | |
rakfg (91) -> fiynt, opdtk, qkhvu | |
zvgsa (59) | |
gskveo (15) | |
clbbi (27) | |
ilcsp (844) -> pafiy, phbtrm, nwupf | |
blnwcb (17) | |
udaitd (23) | |
aewmad (73) | |
tvdsktm (64) | |
zavcu (25) | |
gglxj (47) | |
jmrlaxf (48) | |
sppxnti (48) | |
zhdioii (243) | |
olepfo (98) | |
ezsnmw (14) | |
hsmjm (25) | |
xmuxsr (44) -> bjiuus, qqjly | |
kmvcmg (17) | |
zuoeh (7782) -> hbaxtai, pmefov, zfteizz | |
sqxrad (80) -> marord, jbgxcj, xsmyok | |
vrbcn (34) | |
ibevwow (308) -> cvnabd, pbckxv, xrunic, ezsnmw | |
rqilp (25) -> quwfos, vekxdqh | |
ojfzokk (99) | |
bjwvw (209) | |
sygjhzp (36) -> hsxhyf, knqxdq | |
pjvnmqn (43) -> azoutv, jwhcmc | |
qqjly (56) | |
iezyfwf (20) | |
wrlkfij (55) | |
wuvhyc (40) | |
aqgtml (51) -> wywxu, tiikt, uwnwp | |
fhjysp (164) -> czvyrzi, nbmnwsq | |
rmlru (71) | |
bdiiv (15) | |
tlxekcp (42) | |
lbozpy (80) | |
uksnrfx (224) -> bkkwe, sbfprua | |
gmuwpyi (90) | |
zsqzm (64) | |
evhhfo (5) | |
xdyrvy (189) -> wyois, cwkdlil | |
gbxxpd (82) -> rynmge, hngao, vlqyxe, jhyjqxq | |
nzhqepw (60) | |
zfteizz (59) -> ytvjxq, vhoasjq, fwwub, xglsp, cubqfzc, nfucnzx | |
ulragq (39) | |
jgrsa (269) -> ukfsn, kptjhtd | |
uisnk (2228) -> tbley, eqkot, tlmfw, gnjit | |
chyhykz (59) | |
zjveu (437) -> qhyfphs, bfwnv | |
syliku (78) | |
syzcti (32) | |
nnmayb (85) | |
zdqmuey (209) -> ibkfqok, lhmgw | |
myopc (16) | |
cifdyio (74) | |
nguafeb (42) | |
dbczwnr (15) | |
vxede (10) | |
ouhuptm (52) | |
sdyox (93) | |
slahk (43) | |
skbrota (217) -> toeyz, gjcibb | |
hbaxtai (851) -> zynpp, ylbaxtu, rfwaq | |
hvdfq (112) -> imohij, pwetqid | |
zgfqdv (15) | |
dpqxfp (209) | |
arskvgv (88) | |
bqywl (157) -> ooufod, clqqyi | |
ymataqq (22) | |
krwgy (109) -> dllzp, xqpfvwx | |
ohsyhln (53) | |
ofqbu (24) | |
ccpnopa (59) | |
bfkbp (156) | |
bolpsk (86) | |
tckyc (456) -> dzfclsm, sqxrad, qkrpzl, ppcsoo, rqvvv | |
qbftkij (204) -> rtcfcyn, vlmihf | |
bpcnzi (82) | |
rhacrz (27) | |
wzbqh (306) -> xratfed, fjcobs, enlctw, pklcmix | |
qqnmzb (1723) -> mzyqoc, soirl, dhtii, ahbcl | |
tuvehcz (17) | |
yzufk (30) | |
xsmyok (48) | |
tgiou (19) | |
izvtqsa (84) | |
ooufod (51) | |
rfwaq (80) -> nmuxe, ttofoep | |
lpoejf (30) | |
oykwsk (76) | |
wdipy (92) | |
jbnns (93) | |
qcxiehu (312) -> eeune, gbldz, ztmmr | |
vsslzfp (91) | |
uimoc (30) -> crhojk, ejkumeu, lovaf, fhjysp, uxbrs, qbftkij | |
phtghp (3945) -> rpjozji, swnafht, swugafb, guyrnpn, evbtz, hyhbu | |
svthizp (1149) -> saddwx, olhnx, uisnk, iuapj, btpvxq, iovxjv | |
xvwvc (23) | |
ovpzt (139) -> dfywz, emtjcx | |
uatlbrq (17) | |
hmpisyb (41) -> igdtz, lnmhw, ttpmzgm, dkxzsaq | |
pehflc (56) | |
iedfk (49) -> ydqqgrw, bdiiv | |
nomeb (112) -> mmfuve, lxudoaz | |
ffuqr (90) | |
gsgwqk (204) -> ddraicf, dgyulo | |
igqle (222) | |
jhcwkl (41) | |
yfusbw (76) | |
lpsafeq (51) | |
lklqxg (83) | |
lofayaa (22) | |
itqwz (113) -> rhacrz, keusrg | |
xbidr (74) -> pozua, gisiv, skpux, tcmdaji, gorpw, yfegso, waakcx | |
pnouux (9) | |
ryazls (221) -> zhpfgzv, rvpxob | |
bxwng (53) | |
xwkyrer (8691) -> srnnjbb, qcxiehu, gqhnstx, ghdbwu | |
nbmnwsq (52) | |
cxfsoh (53) | |
gdylf (74) -> jlcie, hewatw, sdpsl | |
vksyy (96) -> wfpzhfz, phsmt, zuwaw | |
qekxzsx (87) | |
qzglav (42) -> ubxvdq, aqvtgi | |
xsoqzbe (1068) -> llgbz, itqwz, yxzlpnj | |
lndczw (19) | |
perzy (46) | |
oigsk (38) | |
uytsra (106) -> hkgxpgh, gzxddd | |
zszzkl (72) -> ifyja, cdqdm, rwmdbn, exwzzr, leyikdx | |
wfvjnxf (93) | |
pklcmix (6) | |
cvpuwrb (82) | |
ileugiu (225) | |
defbun (57) | |
fbzvm (72) -> vgexqw, cejtpyf | |
aduikk (133) -> kmfel, paopwt, hdjzg, qckzqv | |
shlfz (3932) -> swcvn, obwkzhc, pcumn | |
yhjhgu (57) | |
vgiqvsi (53) | |
iajts (451) -> izzzyqd, fegaac, jagdwg, mblvpm | |
kxwbdvm (1104) -> mzajj, ubuge, ddguar, znzbkh | |
rynmge (25) -> ecwjaw, zdqsmv, aodoc, pxfrz | |
bqxnoid (31) -> aqgtml, qprenhy, upuybrd, sgrhs, flptbw, mxwbp, boszym | |
kqqsq (37) | |
xrunic (14) | |
vqnyvr (57) | |
lvdrrk (48) | |
bamxvq (86) -> zywvdda, ygnkwn, taxrkif | |
xkzvo (33) | |
vhoasjq (226) -> uogva, tuvehcz | |
hkgxpgh (46) | |
zocwx (35) | |
qhyfphs (6) | |
coselm (44) | |
ypbrxyq (206) -> siqcu, kqicqf | |
ffgzg (151) | |
ujuunj (64) | |
iuchai (53) | |
ykvss (37) | |
ovszp (64) | |
helyfoo (65) | |
pryhgj (81) | |
fxhqq (29) | |
eeshl (30) | |
qzftgbx (44) | |
ppcsoo (26) -> gwqgewp, lsgbe | |
xinfpy (53) | |
ddraicf (9) | |
xidtz (126) -> azuoza, coselm | |
ipsst (23) | |
wzvzgg (60) | |
fqqyipa (200) -> eeshl, cxqeyt, qkhqrq | |
jpyvpw (20) | |
xhzyzer (82) -> pawvr, dckbvlg | |
boszym (129) -> rqrhrnz, beewze, evqibrc | |
kabqu (38) | |
sdpsl (99) | |
bekguie (31) | |
klovr (30) -> kihqh, wafjqj | |
zklbfdg (47) | |
ccter (84) | |
wzqanwj (240) -> zavcu, hsmjm | |
uxbrs (94) -> qekxzsx, odqns | |
dzxpqj (22) | |
csrww (15) | |
wwxak (108) -> vbmqj, ugavy | |
etfbuu (22) | |
miwst (40) | |
iiugq (15) | |
cuprzhk (40) | |
waakcx (238) | |
faijmsh (35) -> rwakmo, nwikfyc | |
cvlod (76) | |
sjgvkg (1566) -> cldaag, bjwvw, dpqxfp, dgdtt, ujbzq | |
ixxww (61) | |
mipqe (91) | |
xitcp (88) | |
lxudoaz (51) | |
ibkfqok (19) | |
ulchkal (55) | |
qubli (60) | |
tsamaj (1171) -> axgndac, vbuvkx, uqeag, qyurm, lzypz | |
mmpnppi (60) | |
prlvn (63) | |
ddwursx (245) -> sdwrx, jtfylv | |
aljgr (62) | |
glkjrrs (93) | |
vwftcva (46) | |
ylbaxtu (144) -> frcrd, shjxje | |
jqpdpr (14) | |
yzhvrx (90) -> viqvtzw, twway, zwzzce, hqjinj, mejwrm, yyursb, gfigt | |
iqoxkhd (91) | |
locrtxl (2681) -> xsoqzbe, oxoocfp, ndkcn, vmeubf | |
fbmajm (58) | |
rylaxjf (90) -> ojfzokk, iksaub | |
wyois (46) | |
ecwjaw (91) | |
alhlvth (36) -> zirysk, orpjw, zdxscz | |
jlofqwz (13) | |
sdktm (23) | |
bjvuicy (217) -> xjyyfe, rahgf, qqllir | |
hepkop (7311) -> xkfkucf, xbidr, yvgkdi | |
gqbwc (25) -> ytxcti, qubli, cpmebw, wzvzgg | |
yojcz (201) -> rkjuz, rmlru | |
obwkzhc (86) -> vksnq, tijwlva, szcozjr, krwgy, pnhpv, ydiicdl, kskts | |
cdqdm (2502) -> wnfqsa, jbqmy, hvdfq | |
gjcibb (23) | |
igdtz (83) | |
phsmt (112) -> jqpdpr, bmnsmqz | |
hdjzg (77) | |
jukxlr (29) | |
oajdx (61) | |
ktayld (179) -> skfnp, xwjmsjr | |
dkxzsaq (83) | |
utewfcr (50) | |
jljjai (14) -> fhycptc, olepfo, armfpvt | |
gnughzp (5) | |
oyienb (16) | |
kqicqf (15) | |
ggvwlp (80) | |
vlbivgc (13370) -> xcxqa, aeatvub, pwmrau, rqisvrh, hepkop, ogmoqb | |
kczlit (64) | |
mblvpm (124) -> fbmajm, ofwbsgp | |
wehdeq (6) | |
fegaac (206) -> ffsehyc, sapwhr | |
qpsirr (15) | |
gisiv (80) -> hmjueiq, unqui | |
xjkquk (87) | |
rsdub (61) | |
gzxddd (46) | |
oxsewk (51) | |
ahfdt (234) | |
wafjqj (80) | |
mhjeza (93) | |
bljkg (12) -> yivjj, cxcyrd, lorxjw | |
fkapr (39) -> wwofru, weyfsg, khtooum, ohsyhln | |
dtfdn (71) | |
zxgrq (25) | |
rlfqf (63) | |
hvisx (68) | |
laopkn (40) | |
zvszwl (50) | |
gorpw (55) -> jnrnwos, rsdub, uaffk | |
skmbdhz (54) -> scqtkga, xdojlm | |
ecaiau (424) -> rakfg, ddwursx, nsbzfgy | |
bfwnv (6) | |
uhvtpfy (47) | |
zafggcz (17) | |
qkrpzl (170) -> kjonvut, clbbi | |
bvmgrs (75) | |
iicpkf (16) -> vhkydm, htecpc | |
rbuwrpw (17) | |
funnv (5679) -> cdlzi, fpfpv, bqxnoid | |
flkkr (74) | |
brzucfh (39) | |
lfavcfd (72) | |
dmvcduz (38) | |
izdhn (1183) -> uytsra, xxmtvr, bljkg | |
hrnrjrt (9135) -> kuufl, khwbzl, tocvooe | |
eiatt (291) -> gfhummb, jsmde | |
czvyrzi (52) | |
ypkhqlq (39) | |
egxzjn (81) | |
qzzlmw (319) -> szrkuzi, cpeonw | |
xepgx (64) | |
iftyxdd (79) -> xmaqelf, htqps | |
rskara (87) | |
uytsdd (292) -> hyehtm, zdissfg | |
mqodhde (36) | |
ylqvuk (48) -> shdgsk, fcdcdh, kiylza, arskvgv | |
gisrnfs (23) | |
vntsex (77) | |
rwmdbn (2136) -> xmuxsr, bfkbp, ibjdru, ttvfha, zhohes | |
fhhgts (38) | |
opdtk (72) | |
beewze (66) | |
leyikdx (1995) -> ewswf, gaashgh, cwnvk | |
kcbwrrr (631) -> wzbqh, sysdxvb, huzokb, ifuvyo, ghakp, rqqlzs | |
jwhcmc (72) | |
mqcflzv (76) | |
ofwbsgp (58) | |
hiyswbt (889) -> ileugiu, suuhqpd, yffhk, htstksc | |
armfpvt (98) | |
zsknxq (51) | |
pewxc (246) -> rmexd, wkmtw | |
lhmgw (19) | |
qwmqci (38) | |
hioofm (319) | |
cujimpt (137) -> ovszp, zsqzm | |
htstksc (169) -> wsixz, egszxz, gzjut, rutqzk | |
quwfos (85) | |
tcjqw (81) | |
orbcuzi (89) | |
sybpg (49) -> sdyox, dwrwuoq | |
qyhvc (16) | |
sadnqcp (62) | |
zihpcn (232) -> jukxlr, louebj | |
zxygs (208) -> njvkdrp, hqqingt | |
gyoqtcg (77) | |
emwblax (49) | |
hewatw (99) | |
qxkvfid (53) | |
kglsx (74) | |
yhfpq (56) -> cxyfam, mjumixz | |
zivlnu (23) | |
xsyzhcf (89) | |
howlyws (206) -> gwyljq, xhhwwso | |
uycop (59) | |
yhxlzc (91) | |
isqvoex (30) | |
bklfmch (80) | |
tvrxaw (106) -> qdqtw, qpsirr, dbczwnr | |
lkreb (72) | |
kxyfb (90) | |
jnrnwos (61) | |
mxbrva (72) | |
qkhqrq (30) | |
gfhummb (40) | |
zwzzce (221) -> ahqfu, gjedup, evhhfo, rpvwtq | |
rrvbwb (34) -> wcmyn, haclvfu | |
enlctw (6) | |
yeaic (61) | |
otipr (480) -> gdrxgji, fonrd, wqoae | |
qxkhq (143) -> ixqrl, jsrrt | |
wbqeo (22) | |
iugsida (64) | |
azuoza (44) | |
yxemuyq (19) | |
fyouz (18) | |
bnlbs (38) | |
hilafgl (59) -> hmpisyb, ktayld, yapaib, bmdgthp, qzzlmw | |
shdgsk (88) | |
rnqgy (34) | |
kmwxj (92) | |
hmmjjct (9) | |
mefmo (46) | |
lwvfsu (53) | |
fixwkec (84) | |
haclvfu (61) | |
werkz (29) | |
iovxjv (1204) -> uhwnr, ypbrxyq, dfxjjzr, pxkypf, nobfn, tkdvenx, sdfvrod | |
dmglcj (17) | |
qprenhy (221) -> cxfsoh, mrmbyj | |
qmwmbsk (804) -> tmoui, amtayi, wgqpt, xaycmtu, kztkif | |
zywvdda (52) | |
ntkpthi (6) | |
jkkqxfr (1135) -> nomeb, fbzvm, gklehu | |
muptknj (66) | |
uwnwp (92) | |
ggwtf (213) -> vkaay, kxdehcg | |
afywb (87) | |
xglsp (94) -> ljhlxc, htpblzv | |
elovaun (38) | |
qhubjd (59) | |
exwzzr (1542) -> bchixdc, fphmu, hcxwql | |
xhhwwso (43) | |
uevxbyn (170) -> ucaee, yuikqm | |
pqgiox (50) | |
edjlm (33) | |
ypdumo (48) | |
ehhbjt (26) | |
cxyfam (98) | |
bhqlq (82) | |
abamn (8) -> tsamaj, qojhhod, kcbwrrr, ttfyrk, qqnmzb, tyysd, sjgvkg | |
sjdanf (49) -> ldbkyg, brtomr, qwfvm | |
wcjnjpf (57) | |
xzvln (9) | |
citaywz (64) | |
aqtog (66) | |
khdbe (9) | |
vksnq (85) -> vqddcl, ezqeusd | |
fkwbo (91) | |
jefjzvl (73) | |
azoutv (72) | |
aqvtgi (90) | |
vlyof (97) | |
gwyljq (43) | |
xmedt (39) | |
rsstvn (75) -> bpcnzi, cvpuwrb | |
vekxdqh (85) | |
toeyz (23) | |
pvyvx (99) | |
pwmrau (9594) -> roogi, ajcbzv, pwnqyt | |
qahzrif (63) | |
gzjut (14) | |
mzyqoc (194) -> yxgwsj, fwabsk | |
tkdvenx (44) -> sppxnti, lncmhi, jmrlaxf, qmati | |
vtefqb (68) | |
yekmflj (64) | |
pdbykx (14) | |
fpgyyu (67) | |
qjbbyb (26) | |
izzzyqd (186) -> djvfa, qrrvi, junfev | |
lsire (61685) -> locrtxl, shlfz, ycpcv | |
vbuvkx (204) -> tlxekcp, pxdkes | |
ahqfu (5) | |
cjxyp (81) | |
aeatvub (10983) -> hghjsk, vksyy, otipr | |
jhnujj (14) | |
cxpwfir (63) -> mhpzrw, txwzysl | |
gcydgf (22) | |
zlbnkdc (92) -> lfavcfd, lkreb | |
lrjbgd (41) | |
casmwo (246) -> nsbnixe, vntsex | |
rqqlzs (270) -> lfdefc, isqvoex | |
xtqthxs (44) | |
kjonvut (27) | |
mptovq (19) | |
dwrwuoq (93) | |
ziiqv (81) | |
vnfigul (38) | |
jpynea (88) | |
rplcrt (90) | |
flptbw (159) -> xmgqmv, ciprksz | |
nojly (42) | |
jbqmy (86) -> zxhqlfy, ehhbjt | |
ozhydny (40) | |
zzflc (92) -> rnyndr, eiatt, fvivo, gdylf | |
jktlfu (47) | |
njvkdrp (13) | |
qyurm (76) -> eauxeyl, nrwmjk, qxkvfid, rjmuly | |
bjyraf (7) | |
zhpfgzv (47) | |
qfcetm (30) -> iqoxkhd, gptyqwd | |
dhfagjw (67) | |
qriyeb (89) | |
ucaee (68) | |
djvkd (36) | |
scqtkga (54) | |
yvgkdi (992) -> pjvnmqn, kgoyufq, zivjpfo, amsfvm | |
zsukqjo (90) | |
hfmaqp (94) | |
gxsxqwt (20) | |
marord (48) | |
uloppmh (50) | |
iktmpdq (34) | |
wnvrg (39) | |
cxiturs (95) -> ttoer, jpwtbds, yykkph, yffpvf, ahjlf, yoxetv, okkvefs | |
fewrzd (24) -> efuysje, olrgu, rtmiw | |
swnan (85) | |
xdojlm (54) | |
dhtxpbb (86) | |
roogi (100) -> cesnj, wsvfkr, hzhcl | |
yffhk (143) -> jfcoc, vpltn | |
ffinat (630) -> avyoy, tywzxwb, zuawuo, vsunxw | |
txrfl (81) | |
eoustfr (80) | |
bxmcg (249) -> epggt, gfjsie | |
kdeqm (99) -> qjbbyb, ikaol | |
lfsvtih (97) -> aylxc, bekguie | |
qkhvu (72) | |
zzfcq (7259) -> balknnd, iiqzvha, kzzfvt, ecaiau | |
kebhn (106) -> iktmpdq, sreke, cjbdxts, ehlnex | |
ljmrml (178) -> fxhqq, ybioco | |
asozcan (96) | |
ceeotg (53) | |
fonrd (12) | |
fvmeeas (88) -> wdipy, khnjt, kmwxj | |
cejtpyf (71) | |
wsvfkr (193) -> liznr, yytpewc | |
evdwf (31) | |
wqgssb (37) | |
uhnqr (247) -> oncexf, jeiqx | |
xzmdis (24) -> yhjhgu, vqnyvr, taacpu | |
tafhilv (11) | |
mhpzrw (96) | |
cgrima (79) -> xvayjwv, eyxccr, xtqthxs, qzftgbx | |
nrwmjk (53) | |
yjutt (47) -> jocmdmv, iaoyb, aecsfp, mxbrva | |
cxcyrd (62) | |
fwwub (146) -> defbun, wcjnjpf | |
sapwhr (17) | |
ihzsljz (46) | |
zmkwnv (66) | |
yytpewc (50) | |
xdctkbj (83) -> zuoeh, tnqram, funnv, zzfcq, xwkyrer, cxiturs, phtghp | |
kptjhtd (86) | |
pcecbrn (66) | |
sdwrx (31) | |
dfiyju (49) | |
gxddhu (133) -> itlwpm, bdnjn | |
zvpboy (76) -> txrfl, egxzjn, iwouvid, cjxyp | |
fndyvvn (85) -> khtegw, aocfuj, mipqe, lnknp | |
ozvtqp (53) | |
kxizh (74) -> yojcz, uafhv, wnpnfiv, kivyltn, jxaorvd | |
zwzxy (38) | |
rkjuz (71) | |
jagdwg (46) -> ytiljvt, smascq | |
rutqzk (14) | |
zymggc (39) | |
afbzsz (148) -> vzcklke, ggvwlp | |
ymdmn (99) | |
twoyl (58) | |
lqcutyt (74) | |
nlacdac (38) | |
otikjx (40) | |
rxzfdg (87) | |
huvihu (49) | |
cfbaj (90) | |
lqlyf (59) | |
apxgf (38) | |
nqicerc (62) | |
iksaub (99) | |
avyoy (252) | |
kzzfvt (94) -> aluqao, oherzyz, dwnokzu | |
uqeag (162) -> prlvn, xtaoisd | |
crhojk (40) -> yffeit, yfusbw, oykwsk | |
oxoocfp (237) -> igqle, eukgf, qzglav, ipysrdj, gsgwqk, kevlq | |
aylxc (31) | |
khnjt (92) | |
ytvjxq (260) | |
xkxqc (64) | |
ogmoqb (8) -> uqmgmst, hiyswbt, qmwmbsk, skmuo, tszockk, kxizh, thbwh | |
nvfca (42) | |
xaycmtu (67) -> cnwzxpy, helyfoo | |
kklbcs (74) | |
wqtuhe (341) -> myookpi, gqikhhw | |
unqui (79) | |
vhkydm (99) | |
zcomxf (40) | |
hsxhyf (63) | |
rwakmo (80) | |
uogva (17) | |
cesnj (57) -> hrokzl, rtgobsq, kmfsmp, chyhykz | |
rtcfcyn (32) | |
qckzqv (77) | |
oixlcn (37) | |
iaoyb (72) | |
idrror (34) | |
bcldmsg (67) | |
lbxdtms (281) | |
adbxp (35) | |
qsjqlp (74) | |
mjumixz (98) | |
rtmiw (97) | |
jzmacb (29) | |
umgch (64) | |
rpjozji (279) -> faijmsh, xzmdis, arelp, guvke, rqilp, eqpuuzs | |
xvayjwv (44) | |
vgemekb (53) | |
odpqjr (263) | |
hekibe (63) | |
xmaqelf (36) | |
ivlus (47) | |
rkwhbhr (50) | |
pawvr (12) | |
crcrimv (57) | |
ukfsn (86) | |
nfcbi (117) -> zocwx, mjtji | |
qwfvm (75) | |
jfieeor (96) | |
eolqn (91) | |
bgehlas (6) | |
ruozk (10) | |
gqikhhw (54) | |
pqjua (14) | |
jtyurkp (239) | |
wjbdxln (99) | |
paopwt (77) | |
fefuzon (126) -> jenfafh, cauig | |
ifualyn (93) | |
npccgnv (50) | |
nvcafwu (11) | |
htecpc (99) | |
uxbhu (175) -> bxwng, ozvtqp | |
gzfrn (365) -> mprgtb, qkicc | |
qlwhsix (71) -> bjwny, ghapm | |
uvkxner (46) | |
kmfel (77) | |
ytiljvt (97) | |
cxqeyt (30) | |
yyursb (93) -> lqcutyt, uuvtlk | |
mpijr (88) | |
rpqbv (23) | |
oginzo (24) | |
sydjg (10) | |
ehlnex (34) | |
ukqmhyc (25) | |
gshsx (6) | |
nafrmeo (76) | |
ifwmfdm (114) -> jibemf, wtfliw | |
rmexd (59) | |
ujbzq (41) -> izvtqsa, ssnhc | |
scxdo (56) | |
bvmgt (1203) -> xqncgyu, tsxfibs, zofjia | |
vkaay (13) | |
pxdkes (42) | |
witry (76) | |
ttpmzgm (83) | |
pxgkg (69) | |
vwojto (41) | |
jcise (35) | |
tbioyr (85) | |
wnpnfiv (55) -> tehat, ttbuzrh, jfieeor | |
ejxib (53) | |
htpblzv (83) | |
dgdtt (155) -> qface, yhvndwy | |
weyfsg (53) | |
aodoc (91) | |
vmeubf (759) -> sygjhzp, ilhib, ldgyqh, uewdyd, skmbdhz | |
pwetqid (13) | |
pudso (45) | |
ibjdru (136) -> dzqqgbm, qivxs | |
rtgobsq (59) | |
kqiuy (81) -> ffuqr, rplcrt, gmuwpyi, zsukqjo | |
gfszte (23) -> pxgkg, zehkwy, pwnxw, uqfbnlo | |
ngxtfhu (25) | |
fphmu (62) -> jpvxzcn, xvzinl, pvyvx, lxgvhy | |
yxzlpnj (85) -> iyfyi, jhcwkl | |
khixdho (46) | |
pjjmau (353) -> hktzoq, oigsk | |
ttofoep (88) | |
fhycptc (98) | |
nsghrq (105) -> bvmgrs, bsfygp | |
hmdxion (30) | |
nsbzfgy (167) -> mplhwo, qvdid | |
hngao (361) -> olhfbr, qgxgzo | |
iitbuxz (1186) -> eexmf, emuwzd, zzbad | |
ywnsmem (246) -> qjuuu, ohuvsf | |
qjsvs (66) | |
uuyfecv (9) | |
uafhv (223) -> azmneyd, mmpnppi | |
aocfuj (91) | |
kaghlc (34) | |
eionkb (1079) -> hxmcaoy, sybpg, jfhqrla | |
hzhcl (127) -> vgegr, lklqxg | |
ssnhc (84) | |
ttfyrk (2158) -> xnxsdq, ffgzg, tvrxaw | |
nvfqmkw (96) | |
qrrvi (18) | |
ajcbzv (55) -> jjhrmi, jljjai, afbzsz | |
ydiicdl (93) -> iqbdxb, fpgyyu | |
eyxccr (44) | |
gdkjoit (56) | |
urktg (196) -> pxgcbfi, lacddy, hvisx | |
wuclmu (64) | |
rosfnb (26) | |
osjsm (87) | |
kgoyufq (133) -> holen, gjctf | |
kihqh (80) | |
xjyyfe (25) | |
gyfbgkr (16) -> gyoqtcg, lovox, srzfd | |
bidhw (89) | |
wfpzhfz (78) -> zyfwjxs, evdwf | |
rnyndr (149) -> kklbcs, ygkdmh, cifdyio | |
xqncgyu (25) -> nzhqepw, satjdgz | |
hvmlb (141) -> qwxwd, huvihu | |
txwzysl (96) | |
suuhqpd (48) -> ccpnopa, lqlyf, fxpoal | |
djviima (31) -> qyhvc, kjoru, myopc | |
ddguar (116) -> adbxp, jcise | |
wptyd (87) | |
obbpd (24) | |
anoxh (63) -> hfmaqp, ggfmiv | |
llgbz (167) | |
mhxheb (167) -> rkfspx, uatlbrq, cvnrr, bwpeux | |
yybnbso (89) | |
lxgvhy (99) | |
yffpvf (1698) -> pwoyfeh, zklbfdg | |
ttvfha (156) | |
tocvooe (99) -> fqqyipa, zihpcn, wzqanwj, wajnseu, bnevesk, wwxak | |
taxrkif (52) | |
rvixnmq (376) -> fyouz, nsnqedk | |
uhwnr (60) -> zjzgs, mpijr | |
djvfa (18) | |
rjmuly (53) | |
pnhpv (227) | |
sjaax (190) | |
amtayi (29) -> qsvbb, scxdo, inlrm | |
vbmyyrh (142) -> uwjowb, naekrk | |
gomcbqb (203) -> lofayaa, iltoh | |
oijwjli (37) | |
wajnseu (20) -> kxyfb, vmboh, zguzlx | |
hghjsk (348) -> fixwkec, gcowt | |
dzqqgbm (10) | |
guvke (19) -> brjgwq, kejtzg | |
jpvxzcn (99) | |
mplhwo (70) | |
dblmcye (325) -> bffnszc, zxgrq, ngxtfhu | |
ahbcl (178) -> hebhue, edlved, tafhilv, iblvki | |
liznr (50) | |
pwoyfeh (47) | |
jdiczst (37) | |
ejvipa (38) -> kpayh, uzvsml | |
oherzyz (53) -> yhxlzc, fkwbo, ziyyc, dlfmj | |
kivyltn (303) -> vxede, pjazwiy, ruozk, sydjg | |
szcmb (176) -> bjyraf, bvypab | |
ofxzyhr (22) | |
xmzzrgs (266) -> aewmad, jefjzvl | |
gdrxgji (12) | |
ziyyc (91) | |
wgqpt (29) -> evcveie, ccter | |
yykkph (63) -> gyfbgkr, fghxbc, qswoy, gomcbqb, tubhp, zdqmuey, gxddhu | |
yoxetv (1724) -> eeziziu, kaghlc | |
xqpfvwx (59) | |
fxaglf (49) | |
shjxje (56) | |
cdlzi (1615) -> wtqxei, mhxheb, nuxxmd | |
zytau (43) | |
ghakp (232) -> sagyrje, fxaglf | |
lbhlxqa (76) | |
bchixdc (431) -> khdbe, uuyfecv, pnouux | |
olhnx (1796) -> vymmkdf, qfcetm, atbiby, tcpduh, ymeoz | |
bvypab (7) | |
hregcx (66) | |
aucjw (62) | |
bmqhvfv (40) | |
fpfpv (1564) -> fxlbc, alhlvth, yhfpq | |
lzypz (220) -> rnqgy, csyiik | |
ujjoydl (38) | |
rfcbs (197) -> oajdx, yeaic | |
cmdizw (31) -> ydzibri, syliku | |
iiqzvha (1325) -> hnedp, iwicpur | |
zdqsmv (91) | |
neywe (59) -> lmlsog, svanha, sadnqcp | |
teyakvf (89) | |
inlrm (56) | |
kpayh (34) | |
spwqxpy (79) | |
ofnewz (83) -> pryhgj, tcjqw | |
knqxdq (63) | |
jtfylv (31) | |
jhyjqxq (363) -> jlofqwz, bhfui | |
kmfsmp (59) | |
kskts (115) -> gdkjoit, lmkwafp | |
hktzoq (38) | |
tajfmq (30) | |
zdxscz (72) | |
pywmbis (81) | |
yhsmjfq (29) | |
kzkfcn (10) | |
mieqti (16) | |
mxwbp (235) -> fggyk, mefmo | |
thrvlt (81) | |
wqoae (12) | |
yivjj (62) | |
aumrixf (40) -> ifualyn, kgqzrt, mhjeza, wfvjnxf | |
gfigt (211) -> iiugq, zgfqdv | |
cepxc (38) | |
vzxktth (76) | |
locto (240) -> oginzo, twgjdmg | |
vopqzha (10) -> kglsx, qsjqlp, flkkr, fbpbs | |
lxwvf (72) -> ixxww, mxnlv, waqca | |
zuwaw (84) -> tbaads, xjadrfg | |
oothjv (71) | |
tubhp (141) -> uftnfv, vgemekb | |
wywxu (92) | |
uwjowb (70) | |
pwzsq (64) | |
eexmf (130) | |
ldgyqh (30) -> mriqcjy, khgvmj | |
ewswf (307) | |
tbaads (28) | |
rxsihsa (91) | |
dtmbf (50) | |
tzhwvzt (89) | |
qivxs (10) | |
nfucnzx (68) -> nvfqmkw, asozcan | |
znwmvr (63) -> ymataqq, etfbuu, wbqeo, gcydgf | |
kejtzg (88) | |
eukgf (112) -> rdvciwk, ulchkal | |
skpux (146) -> vwftcva, perzy | |
uewdyd (152) -> uamqx, gnughzp | |
dnynny (14) | |
guyrnpn (413) -> bqywl, cvcblhv, ovpzt, qlwhsix | |
lnmhw (83) | |
llkaoeh (68) | |
ydzibri (78) | |
gaashgh (307) | |
vbmqj (91) | |
uqmgmst (1336) -> kdeqm, znwmvr, iftyxdd | |
tijwlva (187) -> gxsxqwt, yjrfr | |
fozagvz (37) | |
tafss (38) | |
dckbvlg (12) | |
oncexf (26) | |
jkkwtd (142) -> jhwrcb, pbkplz, momda | |
evqibrc (66) | |
mrwbv (68) | |
hrokzl (59) | |
soirl (206) -> uqjfarv, myqre | |
ubuge (186) | |
rtutzu (73) -> crcrimv, fxrijc | |
pmefov (983) -> gibdxij, whvvemg, lfsvtih, ckmftuc | |
tnqram (7095) -> kxwbdvm, rhcxf, nihiexp | |
dzfclsm (186) -> yxemuyq, mptovq | |
pjazwiy (10) | |
mnqii (16) | |
uqjfarv (8) | |
xnxsdq (76) -> ukqmhyc, teduvv, lmhamlz | |
lnwcryv (62) | |
lovaf (94) -> osjsm, wptyd | |
rhcxf (84) -> jgrsa, egtruqh, kqiuy, aduikk | |
evcveie (84) | |
lyhlx (52) | |
zjzgs (88) | |
brjgwq (88) | |
wnfqsa (138) | |
balknnd (377) -> kebhn, bamxvq, xaogy, fefuzon | |
ayqbj (64) | |
zynpp (67) -> qahzrif, rlfqf, hekibe | |
szglq (194) -> iezyfwf, jmypc, rsizei, jpyvpw | |
ocppbp (26) | |
wuknah (36) -> kczlit, nggtuh, umgch, xkxqc | |
ifnkl (324) -> kabqu, ujjoydl | |
eqkot (33) -> aljgr, lnwcryv | |
yjrfr (20) | |
cvdows (11) | |
lybaepp (91) | |
jxaorvd (343) | |
zkpfzio (145) -> vrbcn, kasaf, hhqmsd, idrror | |
evbtz (297) -> ifwmfdm, rylaxjf, oylvq, locto | |
srnnjbb (51) -> zxygs, rkwquj, owxawf, ahfdt | |
viqvtzw (117) -> gmirjhi, aucjw | |
nsnqedk (18) | |
wiapj (55) -> djzjiwd, lsire, vlbivgc, xdctkbj, ygvpk | |
jhwrcb (90) | |
zdnypzo (66) | |
eqpuuzs (149) -> gisrnfs, rpqbv | |
kevlq (156) -> xkzvo, xxego | |
fxpoal (59) | |
dlfmj (91) | |
pbkplz (90) | |
qdqtw (15) | |
qkicc (42) | |
axgndac (156) -> zdnypzo, sglkjsh | |
gptyqwd (91) | |
cwkdlil (46) | |
tmoui (91) -> ceeotg, ejxib | |
xxmtvr (154) -> ofxzyhr, dzxpqj | |
zijzutq (90) -> wuclmu, citaywz, ljjyy | |
xtaoisd (63) | |
szcozjr (215) -> bgehlas, pocvrcs | |
jfhqrla (155) -> miwst, elgtk | |
nsbnixe (77) | |
haqaohl (15) | |
eeune (31) -> ysafyj, vlyof | |
vgexqw (71) | |
ghapm (94) | |
swcvn (1105) -> sjaax, szcmb, klovr | |
lmhamlz (25) | |
louebj (29) | |
fjcobs (6) | |
holen (27) | |
qryui (49) | |
olhfbr (14) | |
wcmyn (61) | |
dkmkdfd (173) -> vvkkkpb, ulragq | |
odqns (87) | |
xwjmsjr (97) | |
rqrhrnz (66) | |
uamqx (5) | |
rkwquj (92) -> gvamhux, dtfdn | |
ncmad (23) | |
lefxyzt (56) | |
qcmnpm (335) | |
kgqzrt (93) | |
ttoer (916) -> howlyws, wuknah, bjvuicy | |
rahgf (25) | |
mdqeh (17) | |
ghdbwu (863) -> ifbhg, nqicerc | |
thbwh (832) -> rfcbs, hioofm, jspui | |
gfjsie (90) | |
mmfuve (51) | |
vzcklke (80) | |
bffnszc (25) | |
saddwx (1569) -> bxmcg, vmpnccn, pjjmau | |
bmnsmqz (14) | |
qkawtfu (111) -> ujuunj, iugsida | |
edlved (11) | |
pxgcbfi (68) | |
gekygl (247) -> zafggcz, rbuwrpw | |
egtruqh (389) -> ocppbp, gwbfat | |
rvpxob (47) | |
ympbbx (1243) -> spwqxpy, iedfk, ugcccv, djviima, xgfad | |
pxkypf (54) -> hblux, nemrt | |
qqllir (25) | |
tehat (96) | |
gibdxij (121) -> ohsvn, wkamonm | |
itlwpm (57) | |
rfknc (9) | |
ekvdv (44) -> kpvbt, nnmayb | |
gwqgewp (99) | |
cvnabd (14) | |
dskuj (165) -> slahk, zytau | |
yqgesx (175) -> zcomxf, bmqhvfv, hwdtvvc, laopkn | |
vljjqbw (55) | |
qmati (48) | |
afyxhh (87) | |
ubxvdq (90) | |
ckegba (32) | |
sysdxvb (66) -> zmkwnv, pcecbrn, hregcx, muptknj | |
nihiexp (930) -> vopqzha, uytsdd, uevxbyn | |
myqre (8) | |
nwupf (109) -> cuprzhk, ozhydny | |
tzrqqk (79) | |
pwvahdb (85) -> yybnbso, tzhwvzt | |
gcowt (84) | |
ohsvn (19) | |
zhohes (46) -> wrlkfij, xlkwyg | |
ripilxo (299) | |
vwvowk (1293) -> dgosy, zvgsa | |
bmlkhaf (53) | |
kztkif (55) -> mtflvu, oothjv | |
ycpcv (72) -> izdhn, yzhvrx, eionkb, eadvs, jkkqxfr | |
zyfwjxs (31) | |
esphpt (85) -> emwblax, dfiyju, qryui, eydak | |
jsmde (40) | |
zguzlx (90) | |
pcckqq (17) | |
hxmcaoy (235) | |
taacpu (57) | |
ilhib (60) -> pubtxq, lpsafeq | |
myookpi (54) | |
olrgu (97) | |
swnafht (44) -> lbxdtms, jensj, zkpfzio, jobwpao, jxfimbl | |
""" | |
//part 1 | |
def map = [:] | |
input.eachLine {line-> | |
if (line) { | |
def group = (line =~ /(.+) \(\d+\)[ >-]*(.*)/)[0] | |
def name = group[1] | |
def balanced = group[2] | |
if (balanced) { | |
map.put(name, balanced.split(', ')) | |
} | |
} | |
} | |
map.each {k, v-> | |
if (!map.find {k1, v1 -> v1.contains(k)}) { | |
println k | |
} | |
} | |
println 'done' | |
//part 2 | |
class Tower { | |
String name | |
def holding | |
int weight | |
String toString() {name} | |
} | |
def towers = [] | |
input.eachLine {line-> | |
if (line) { | |
def group = (line =~ /(.+) \((\d+)\)[ >-]*(.*)/)[0] | |
towers.add(new Tower(name: group[1], weight: new Integer(group[2]), holding: group[3] ? group[3].split(', ') : null)) | |
} | |
} | |
def findWeight | |
findWeight = {tower, allTowers-> | |
if (!tower.holding) { | |
[tower: tower, weight: tower.weight] | |
} else { | |
def towersAndWeights = tower.holding.collect {h1-> findWeight(allTowers.find{it.name==h1}, allTowers) } | |
def weights = towersAndWeights*.weight | |
if (weights.findAll{it==weights.max()}.size() != weights.size()) { | |
println "Unequal weights: ${towersAndWeights} for $tower.name" | |
} | |
return [tower: tower, weight: tower.weight + weights.sum()] | |
} | |
} | |
towers.each {tower-> | |
findWeight(tower, towers) | |
} | |
println 'done' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def input = """ | |
yxr inc 119 if nev != 6 | |
piw dec -346 if tl != 4 | |
cli inc 165 if nev >= -5 | |
nev dec 283 if xuu > -2 | |
tem inc 745 if qym >= -9 | |
xuu dec -104 if cli == 165 | |
h dec 192 if u <= 5 | |
ln dec -616 if ej > -7 | |
tem dec -555 if ar > -5 | |
tem dec 687 if tl > -8 | |
h inc 120 if re < -8 | |
bq dec -410 if ej > -4 | |
re dec 476 if tem == 613 | |
ej dec 686 if cli != 163 | |
ar dec 676 if tl > -6 | |
nfo inc 633 if s == 0 | |
tl inc -471 if tem > 607 | |
bb inc 157 if piw > 342 | |
cli inc -830 if piw != 342 | |
piw inc -645 if ar >= -674 | |
bq dec 304 if piw != 356 | |
u inc -274 if bb != 147 | |
yxr inc -520 if ec >= 1 | |
ec dec 631 if bb > 147 | |
ar dec 732 if s >= 0 | |
foz inc -617 if bb == 157 | |
qym dec -197 if ej == -686 | |
bb dec 111 if h <= -199 | |
ln dec -585 if re != -476 | |
foz dec -181 if nev < -280 | |
foz dec 989 if xuu != 106 | |
ec inc -930 if ec <= -626 | |
foz dec 862 if s >= 5 | |
tem inc 241 if xuu == 104 | |
ar dec -460 if h >= -201 | |
cli inc -317 if cli == -665 | |
bb dec -483 if h > -194 | |
tem inc -718 if tl <= -466 | |
ln dec 362 if hb == 0 | |
qym inc 95 if hb > 3 | |
piw dec -463 if ln < 246 | |
xuu inc 159 if s <= 5 | |
ec inc -710 if cli < -977 | |
bb inc -98 if xuu >= 260 | |
qym inc 159 if bb >= 540 | |
acc inc 610 if fe <= 9 | |
ar dec 381 if ej < -695 | |
acc dec 807 if nev > -284 | |
foz dec 926 if h < -188 | |
tl inc 279 if ar != -957 | |
ec dec -39 if acc < -191 | |
u dec -110 if piw == 346 | |
ej dec 980 if ar == -948 | |
ln dec -165 if hb < 2 | |
nfo inc -370 if tem > 128 | |
ar dec -886 if ar < -947 | |
bb dec 624 if ej == -1666 | |
tl inc 36 if ec > -2227 | |
yxr dec 320 if cli <= -976 | |
tem inc -808 if ar >= -52 | |
cli dec 213 if h >= -198 | |
ej inc -141 if nev < -281 | |
bq inc -736 if yxr > -211 | |
u dec -742 if nfo > 258 | |
bq dec -727 if ar >= -64 | |
u dec -248 if bq > 89 | |
xuu inc 431 if yxr > -203 | |
hb dec -407 if hb >= -7 | |
ar inc 789 if acc >= -197 | |
yxr inc -753 if piw <= 350 | |
piw dec -973 if yxr >= -956 | |
xuu dec 457 if ec <= -2228 | |
bq inc -201 if bq >= 97 | |
bq dec -923 if ar == 727 | |
cli inc -560 if piw < 1329 | |
ej dec -150 if ar != 733 | |
h inc -198 if nev == -283 | |
u inc -388 if piw == 1319 | |
hb inc -212 if s < 8 | |
xuu inc -988 if ej < -1653 | |
ec inc 58 if re >= -485 | |
hb inc -126 if xuu < -741 | |
ar inc 534 if nev == -273 | |
fe inc 668 if s <= 7 | |
tem dec 25 if h >= -390 | |
u inc -632 if tl > -198 | |
u dec 721 if bq > 813 | |
piw dec -299 if foz >= -2348 | |
hb inc -407 if ej > -1663 | |
h dec 563 if foz == -2351 | |
bb dec 362 if fe != 670 | |
nev inc -512 if bb != -437 | |
fe dec -419 if yxr < -948 | |
tl dec 576 if ej > -1665 | |
acc dec -510 if xuu > -759 | |
s dec -108 if u < -906 | |
xuu dec -407 if xuu < -748 | |
yxr dec 771 if bb > -454 | |
u dec -879 if tem != 110 | |
bq inc -759 if u < -27 | |
s dec -295 if qym < 364 | |
qym inc 807 if xuu == -344 | |
h inc 545 if hb == -338 | |
ej inc -896 if s != 394 | |
s dec -961 if yxr > -1723 | |
s dec -142 if nev != -799 | |
s inc -692 if ln != 427 | |
ar dec 152 if tl == -763 | |
acc dec 304 if piw != 1328 | |
ar inc -532 if piw != 1324 | |
bq inc 124 if tem < 109 | |
h inc 480 if nfo == 268 | |
xuu dec -291 if ej >= -2556 | |
hb inc -56 if nfo >= 257 | |
ar dec -656 if bb > -447 | |
tl dec -458 if ec <= -2167 | |
xuu inc -100 if hb <= -397 | |
nev dec 384 if foz <= -2344 | |
acc dec -779 if acc == 9 | |
u inc 949 if h != -416 | |
xuu inc -865 if nev < -1182 | |
nev dec 317 if bb < -434 | |
foz inc -786 if bq > 51 | |
xuu inc -901 if ej >= -2557 | |
nev dec 750 if h != -398 | |
qym dec 783 if re != -480 | |
bb dec 54 if cli < -1752 | |
tl dec -803 if yxr < -1724 | |
s inc 690 if xuu != -954 | |
piw inc -667 if s != -151 | |
foz dec -946 if cli <= -1757 | |
h dec -885 if re == -486 | |
ar inc -765 if re < -468 | |
h dec 340 if ec != -2170 | |
fe dec 440 if tl > 492 | |
re dec 398 if hb != -384 | |
xuu inc -49 if fe > 641 | |
s dec 623 if qym != 375 | |
piw inc 429 if ec == -2174 | |
ej inc 747 if hb != -394 | |
xuu inc 761 if nfo > 255 | |
re inc 519 if yxr != -1716 | |
nev inc 863 if tl <= 499 | |
qym inc -357 if foz > -3138 | |
tl dec 186 if u < 915 | |
s dec -442 if nev < -1373 | |
bq inc -999 if ec == -2174 | |
cli inc 735 if acc > 781 | |
ar dec -983 if nev >= -1389 | |
cli inc 285 if u < 917 | |
xuu inc -970 if h >= -747 | |
bq inc 716 if tl < 310 | |
xuu dec 984 if bb > -503 | |
h inc -881 if ej >= -2546 | |
u inc 719 if fe >= 646 | |
u inc 396 if hb > -393 | |
ej inc 734 if acc != 784 | |
fe inc 581 if re <= -350 | |
piw dec -69 if hb < -384 | |
ec dec 540 if acc < 798 | |
cli dec -615 if foz <= -3130 | |
ln inc 261 if foz <= -3130 | |
acc dec 739 if ar > 1065 | |
ln dec -520 if qym > 19 | |
re inc -260 if bq != -230 | |
ln inc -28 if h > -750 | |
hb dec -794 if s == -325 | |
nfo inc 79 if ln < 1176 | |
acc inc 173 if ec == -2714 | |
yxr inc 756 if re > -616 | |
re inc 415 if fe >= 1219 | |
hb dec -701 if u < 1638 | |
xuu dec -325 if re != -200 | |
ln dec -552 if piw != 1157 | |
yxr inc -568 if qym >= 17 | |
tl dec 756 if ec <= -2712 | |
nev dec 430 if xuu <= -1219 | |
bq dec -580 if yxr >= -1533 | |
ej dec -357 if bb >= -493 | |
ec inc 722 if ej >= -1822 | |
tl dec 168 if nev == -1813 | |
bb dec -393 if foz >= -3130 | |
cli inc -298 if s == -328 | |
h inc 885 if yxr != -1536 | |
nev dec -188 if cli < -427 | |
yxr dec 41 if cli > -416 | |
qym inc 748 if u == 1632 | |
re inc 457 if nfo > 339 | |
yxr inc 781 if piw < 1153 | |
qym inc 628 if cli != -417 | |
bq inc -476 if piw < 1142 | |
bb dec 547 if nfo >= 341 | |
s dec 590 if piw == 1150 | |
piw inc -804 if nfo != 342 | |
ar dec -838 if xuu == -1226 | |
ec inc 224 if h > 132 | |
ec dec -963 if ln >= 1731 | |
xuu inc 109 if u <= 1638 | |
s dec -191 if fe >= 1220 | |
ln dec -718 if h >= 133 | |
u dec 46 if nev >= -1811 | |
nfo inc -56 if s < -718 | |
nev dec -346 if ar != 1905 | |
h dec -501 if hb != 306 | |
acc dec 651 if bb >= -1039 | |
xuu dec 714 if ar > 1905 | |
qym dec 304 if piw <= 1157 | |
tl dec -62 if foz < -3138 | |
h inc 448 if qym != 1095 | |
hb inc 780 if tem != 112 | |
hb dec 332 if tem <= 114 | |
s dec -447 if acc != 226 | |
s dec -560 if ej > -1829 | |
nev dec -435 if piw == 1150 | |
nev dec 259 if piw < 1155 | |
tem inc 293 if nfo == 286 | |
hb dec 656 if s < 284 | |
hb inc -484 if acc < 213 | |
ln inc 831 if s < 280 | |
hb dec -394 if ec != -1771 | |
nfo inc 124 if h != 628 | |
ln dec -675 if yxr < -754 | |
bb dec -69 if hb == 494 | |
ln inc -139 if re <= 261 | |
nev inc 325 if yxr >= -753 | |
tl inc 551 if foz != -3137 | |
bb dec -598 if nfo != 413 | |
qym inc 771 if s >= 271 | |
tl inc 903 if ej != -1820 | |
fe inc -388 if re != 250 | |
ln dec -163 if ej != -1827 | |
nev dec -209 if re <= 261 | |
bq inc -59 if h == 638 | |
ej inc 793 if yxr < -749 | |
ec inc -224 if s >= 276 | |
ln inc 895 if foz <= -3132 | |
acc dec -681 if ec < -1989 | |
tem dec -161 if hb == 493 | |
ar dec -436 if nfo >= 408 | |
u dec -56 if re != 250 | |
nfo inc -497 if hb < 495 | |
ec dec -874 if acc > 911 | |
bb dec 988 if xuu == -1838 | |
nfo dec -257 if fe > 836 | |
ec inc -332 if foz >= -3146 | |
u inc 697 if u <= 1691 | |
ej dec 777 if bb <= -440 | |
nfo dec -99 if bq > -277 | |
acc dec 552 if tem <= 573 | |
fe dec 74 if ec == -2317 | |
qym dec 829 if foz >= -3146 | |
bq dec -149 if ec <= -2324 | |
u dec -99 if hb == 493 | |
yxr dec -546 if tl > 288 | |
u inc 261 if cli >= -412 | |
ej inc -341 if tem < 574 | |
ec inc -83 if ar <= 2346 | |
ec inc 847 if xuu <= -1830 | |
re dec -364 if xuu < -1839 | |
yxr inc -483 if ln <= 4033 | |
tl dec 965 if tl == 286 | |
re inc -63 if tl >= -674 | |
cli inc 708 if acc < 352 | |
xuu dec 494 if ej > -2154 | |
tl inc 8 if foz > -3131 | |
ec inc 983 if nfo == 170 | |
bb inc 486 if cli < 292 | |
ar dec -461 if ec >= -586 | |
yxr dec -852 if hb < 500 | |
u inc -874 if acc < 355 | |
xuu inc 883 if re > 266 | |
xuu dec 809 if ec == -577 | |
tl dec 144 if ej > -2145 | |
u inc -363 if fe >= 839 | |
bb inc -194 if piw >= 1150 | |
ln inc 780 if fe != 835 | |
cli inc 213 if re >= 256 | |
xuu dec -718 if hb >= 491 | |
yxr dec -730 if u < 1251 | |
nfo dec 1 if hb > 491 | |
ar inc -556 if nev > -1085 | |
ej dec -275 if bq < -128 | |
nev dec -578 if foz != -3137 | |
h inc -391 if h == 638 | |
foz inc -291 if bq >= -134 | |
bb inc -123 if fe == 840 | |
tl dec 72 if bq == -133 | |
qym dec -155 if yxr < 831 | |
re inc 515 if s < 289 | |
nfo dec -313 if ar >= 2242 | |
cli dec 486 if tl < -904 | |
bb dec -844 if ln >= 4810 | |
hb inc -551 if tem == 565 | |
ec inc -28 if yxr <= 828 | |
cli inc -673 if h >= 241 | |
re dec -937 if bb > 562 | |
ec inc 214 if bb != 571 | |
piw inc -142 if ar > 2240 | |
ar dec 750 if tl < -898 | |
re dec -844 if ej != -1877 | |
bq inc -17 if qym <= 1200 | |
acc dec -154 if foz > -3429 | |
piw inc -13 if cli > -175 | |
cli inc -374 if acc > 497 | |
acc dec -751 if ln != 4821 | |
xuu dec 821 if bq < -142 | |
nev dec 867 if bb < 565 | |
qym dec -883 if hb != -65 | |
h inc -289 if ln <= 4818 | |
hb dec 839 if s <= 282 | |
cli dec 662 if ar > 2253 | |
nev inc 975 if acc < 1249 | |
foz inc -459 if nfo != 479 | |
tem inc 721 if ar < 2244 | |
hb dec 645 if bb >= 561 | |
cli dec 973 if bq <= -148 | |
qym inc 937 if piw <= 1003 | |
bq inc -548 if tem != 561 | |
nfo dec 98 if nev != -1082 | |
u dec 789 if bq >= -688 | |
u dec 389 if acc <= 1258 | |
bq inc 818 if qym <= 3020 | |
acc inc 224 if nfo < 492 | |
ln inc -739 if re >= 2547 | |
re dec -364 if fe != 843 | |
piw dec -836 if piw > 991 | |
foz inc 484 if cli < -1519 | |
ln inc 869 if hb < -1533 | |
piw dec 872 if yxr <= 834 | |
bq inc -1 if bq >= 113 | |
tl inc -649 if u >= 854 | |
ec dec -447 if bb == 566 | |
ar dec -702 if u < 861 | |
s inc -445 if bb <= 574 | |
xuu dec 323 if cli <= -1523 | |
foz dec 589 if ln <= 4947 | |
s inc -399 if nfo != 484 | |
cli inc -704 if acc < 1481 | |
yxr dec 712 if hb != -1534 | |
nev dec -347 if nev <= -1087 | |
ln dec -801 if foz > -4480 | |
xuu dec -549 if h >= -47 | |
re dec 127 if xuu > -2692 | |
hb inc 96 if fe <= 845 | |
acc dec 159 if hb >= -1451 | |
bq inc 754 if u >= 865 | |
u inc 23 if yxr > 106 | |
re dec 940 if nfo <= 489 | |
qym dec -599 if ar >= 2948 | |
qym dec -481 if nfo == 482 | |
nfo inc 767 if cli <= -2225 | |
bb inc -174 if ec == 56 | |
tem inc 615 if ec <= 55 | |
tem inc 845 if re > 1848 | |
hb inc 940 if tl > -1543 | |
bq dec -892 if xuu >= -2686 | |
bq inc 996 if bq >= 117 | |
re dec 456 if u < 885 | |
ln inc 879 if s < -568 | |
s dec 605 if ar >= 2941 | |
foz dec 585 if hb > -1449 | |
ej inc 980 if ej <= -1866 | |
re dec -409 if foz <= -5059 | |
tem dec -394 if nfo != 476 | |
yxr dec -765 if ej <= -888 | |
ec inc -540 if fe < 843 | |
cli dec 758 if foz != -5056 | |
nfo inc 846 if re > 1802 | |
re inc 800 if nev < -1078 | |
nev dec 2 if yxr < 883 | |
piw inc 282 if acc >= 1313 | |
h inc -993 if ln <= 5741 | |
ar inc 594 if tem <= 1804 | |
h inc 502 if h >= -45 | |
xuu inc -73 if acc <= 1326 | |
re dec 116 if piw >= 1243 | |
bq inc 62 if u <= 880 | |
acc dec 166 if fe <= 846 | |
ec dec -441 if re > 2612 | |
re inc 214 if re != 2602 | |
u dec 410 if s < -1160 | |
ln dec -701 if piw <= 1244 | |
tl inc -126 if nfo <= 1330 | |
fe inc -861 if tl <= -1669 | |
ar dec -998 if yxr <= 882 | |
fe inc 629 if ln > 6445 | |
hb dec -407 if foz <= -5071 | |
s dec 654 if acc <= 1161 | |
bb inc 304 if fe <= 615 | |
xuu inc 979 if cli == -2969 | |
cli inc -973 if fe == 607 | |
cli inc 859 if tl <= -1665 | |
tl dec 257 if foz > -5064 | |
bq dec -253 if hb != -1446 | |
s inc 82 if fe == 611 | |
h inc -462 if xuu == -2761 | |
nev dec 231 if bq <= 1123 | |
fe inc -719 if re == 2817 | |
nfo inc 553 if ec != -484 | |
nev inc -457 if nfo != 1318 | |
fe inc -936 if piw <= 1247 | |
nev inc -615 if ar > 4539 | |
fe inc -267 if ec >= -475 | |
qym dec 336 if tem > 1802 | |
ej inc 442 if foz > -5064 | |
qym inc 864 if h < 0 | |
nev inc 565 if foz >= -5057 | |
tem inc 257 if ej <= -457 | |
hb dec -202 if piw > 1243 | |
bq dec -192 if ar != 4550 | |
foz dec 374 if ln >= 6454 | |
tem inc 381 if ej != -454 | |
ec dec -630 if ej == -438 | |
foz dec -821 if acc > 1161 | |
nev dec 903 if bq != 1315 | |
re inc -677 if ej > -448 | |
re inc 588 if u < 473 | |
xuu dec 114 if foz > -5062 | |
acc inc -804 if ec > -492 | |
nfo inc 728 if cli == -2120 | |
xuu dec -258 if foz > -5064 | |
tem dec -370 if ln < 6450 | |
acc dec -717 if ej != -442 | |
ec dec 262 if qym > 4613 | |
nev inc 31 if u >= 468 | |
xuu dec 84 if re == 2728 | |
u inc 457 if xuu != -2697 | |
acc dec 251 if acc != 1068 | |
tem dec -745 if acc <= 1076 | |
tl dec 581 if tem <= 3304 | |
s dec -730 if hb <= -1444 | |
ec dec 409 if tem < 3293 | |
acc dec -884 if acc >= 1077 | |
acc inc 160 if bb < 706 | |
ar dec 110 if nfo != 2058 | |
ej dec -349 if fe < -1038 | |
s inc 681 if s >= -1096 | |
cli inc -712 if fe < -1043 | |
nfo dec 693 if u != 924 | |
ln inc 170 if xuu != -2702 | |
bb inc 759 if tl > -2518 | |
ln inc 647 if tem > 3296 | |
ej inc -35 if re >= 2734 | |
qym inc 710 if nev < -3258 | |
xuu inc 304 if fe == -1052 | |
piw dec 237 if xuu >= -2707 | |
tem dec -683 if hb <= -1441 | |
piw inc -297 if re >= 2733 | |
nfo dec -836 if bb == 1455 | |
s inc 901 if u <= 921 | |
bb inc 780 if bq == 1307 | |
xuu dec 467 if yxr >= 878 | |
acc dec -24 if h < 6 | |
ec dec 412 if foz >= -5054 | |
ec inc -990 if fe == -1047 | |
nev dec -940 if nfo != 2208 | |
ar dec -670 if qym == 5339 | |
foz inc 391 if hb != -1438 | |
yxr inc -86 if acc <= 1260 | |
qym dec -36 if piw < 1008 | |
nev inc -21 if yxr == 788 | |
piw inc 581 if hb == -1446 | |
bb inc -355 if bb != 2232 | |
yxr dec 238 if ar < 4441 | |
tem dec -974 if cli < -2826 | |
xuu inc -237 if s <= -406 | |
ej dec 51 if foz <= -4661 | |
cli inc -416 if h < 6 | |
fe inc 23 if s < -407 | |
bq dec 598 if ej <= -152 | |
cli inc -15 if piw > 1584 | |
foz dec -781 if nfo < 2209 | |
u inc 17 if bb < 1883 | |
xuu dec 799 if ej >= -157 | |
bb inc 914 if tem != 4960 | |
foz dec 853 if fe != -1024 | |
piw dec 628 if nfo != 2199 | |
qym dec 303 if xuu >= -4207 | |
bq dec 854 if yxr >= 549 | |
hb inc -123 if xuu >= -4211 | |
bb inc 767 if nev <= -2318 | |
s inc 482 if nfo > 2196 | |
yxr inc 185 if bb < 3570 | |
yxr dec 683 if bq != 444 | |
fe dec -316 if ec >= -1733 | |
bb inc 368 if s < 78 | |
tl dec 132 if yxr != 63 | |
yxr dec 357 if bq == 453 | |
fe inc -256 if ec > -1744 | |
xuu inc -193 if ej <= -142 | |
xuu dec -605 if cli != -3263 | |
ar dec 571 if u != 945 | |
nfo inc -430 if nfo < 2209 | |
hb inc 236 if hb > -1564 | |
ar dec -460 if fe < -1278 | |
tl dec -127 if bq > 449 | |
s inc -343 if nfo > 1764 | |
fe inc 761 if nev < -2326 | |
piw dec -136 if xuu != -4391 | |
cli dec 639 if yxr >= -301 | |
tl dec -524 if ar != 4890 | |
ln dec -75 if ln < 7269 | |
ln dec -376 if tem > 4956 | |
yxr inc -317 if yxr >= -297 | |
tem inc 593 if ej == -149 | |
cli dec 297 if ar < 4894 | |
ej dec -576 if xuu <= -4395 | |
bq dec -681 if s >= -277 | |
ec dec -404 if u >= 939 | |
xuu dec -82 if yxr >= -292 | |
nev inc -661 if u <= 954 | |
yxr inc 941 if foz > -3896 | |
ar dec 559 if ar < 4895 | |
re inc 470 if tl <= -1981 | |
qym inc 423 if hb <= -1564 | |
ec inc -353 if cli >= -4208 | |
qym inc 166 if nfo < 1770 | |
ln inc 110 if h > -4 | |
bb dec 459 if nfo < 1776 | |
tem inc -466 if ej > 418 | |
tem inc -223 if fe < -1271 | |
bb inc 361 if qym > 5650 | |
fe dec 698 if nfo <= 1768 | |
h inc -761 if acc >= 1258 | |
tl dec 307 if cli < -4195 | |
ec dec -428 if bq == 1134 | |
ec inc 200 if u == 945 | |
fe dec 999 if re >= 3198 | |
ej dec -150 if ej != 429 | |
ar inc -19 if bb < 3822 | |
cli inc -271 if piw == 1721 | |
piw inc -317 if nev <= -2985 | |
xuu dec 732 if xuu == -4393 | |
ar dec -738 if bq != 1133 | |
cli dec -925 if xuu >= -4400 | |
tem dec -336 if acc == 1261 | |
xuu dec -396 if tl < -2291 | |
tem inc -726 if xuu < -3995 | |
xuu inc 586 if yxr < 643 | |
nfo inc 554 if re >= 3194 | |
ln dec 425 if s < -276 | |
s inc -678 if h >= -2 | |
acc inc -669 if u == 945 | |
nfo inc 136 if re <= 3207 | |
nev inc -486 if fe > -2272 | |
acc inc 146 if yxr < 650 | |
bq inc 637 if u != 945 | |
bq inc -562 if u < 949 | |
fe dec -164 if tem >= 4128 | |
ej inc -868 if ec > -1058 | |
foz inc -646 if ej < -295 | |
u inc 960 if bb < 3825 | |
ln dec -6 if ln > 7826 | |
bq dec 972 if acc > 723 | |
piw inc 958 if fe != -2115 | |
ln inc 179 if ln <= 7830 | |
foz inc 206 if bb <= 3828 | |
u inc -789 if bb > 3826 | |
nev inc -597 if ln <= 8005 | |
nev dec -112 if yxr <= 642 | |
ej inc 670 if s <= -942 | |
ec dec 623 if qym >= 5652 | |
bb inc 35 if nev != -3470 | |
u dec -50 if ej != 379 | |
ar dec 952 if tl != -2306 | |
tem inc -92 if re == 3192 | |
yxr dec 866 if qym == 5652 | |
nfo inc -457 if bb != 3876 | |
tem inc 395 if fe != -2125 | |
acc inc -37 if piw > 1711 | |
tem dec -647 if fe <= -2113 | |
tem dec -546 if xuu > -3422 | |
piw dec 219 if acc < 699 | |
ar dec -392 if piw == 1502 | |
s inc 330 if bq > -407 | |
bq inc -508 if nev <= -3473 | |
ln dec -333 if cli != -3545 | |
ln dec 42 if ec > -1683 | |
acc inc -247 if ln <= 7966 | |
foz inc 563 if tl <= -2287 | |
ej inc -390 if ej <= 384 | |
acc dec 659 if acc != 443 | |
xuu dec -293 if ej >= -18 | |
qym dec -169 if yxr > -217 | |
cli inc 778 if ln >= 7960 | |
xuu dec -179 if u != 163 | |
nfo dec 600 if ej == -11 | |
ar dec 261 if piw > 1492 | |
re inc -889 if yxr > -228 | |
h inc 37 if xuu != -2943 | |
ln inc 148 if tem > 5731 | |
bq dec 564 if piw == 1502 | |
piw dec 822 if ar != 4242 | |
xuu inc -35 if nfo != 1402 | |
u dec -284 if cli > -2777 | |
ar dec -521 if yxr >= -225 | |
bb dec 412 if yxr <= -222 | |
piw inc -199 if tem != 5715 | |
bb inc 331 if qym < 5653 | |
bq dec -359 if ec > -1687 | |
acc inc 298 if bq == -605 | |
bq inc -69 if tl < -2305 | |
h inc -626 if h == 8 | |
qym dec 609 if s <= -619 | |
fe inc 165 if nev < -3456 | |
xuu inc 690 if ej != -15 | |
ec dec -280 if tl < -2294 | |
qym dec 829 if bq != -610 | |
xuu dec 888 if piw > 489 | |
u inc 81 if acc > 80 | |
qym dec 247 if h > -9 | |
tl dec -558 if bq < -604 | |
nfo dec 692 if ln == 7963 | |
acc inc -23 if tl > -1735 | |
xuu dec 478 if fe == -1950 | |
s dec 551 if tl < -1736 | |
ec inc -479 if fe == -1950 | |
s dec -17 if foz > -3328 | |
piw dec 351 if acc == 84 | |
bq dec -437 if re == 2309 | |
qym dec -808 if cli > -2774 | |
h dec -390 if tl == -1738 | |
foz dec 676 if ej >= -4 | |
re dec 891 if bq != -167 | |
bb dec -191 if re != 1418 | |
nfo inc 380 if s == -1155 | |
ec inc 69 if u < 531 | |
nev dec -690 if s >= -1164 | |
s dec 571 if bb >= 3776 | |
re dec -224 if hb <= -1563 | |
bq inc -252 if piw < 131 | |
yxr dec -488 if tl == -1741 | |
re inc 755 if re > 1638 | |
bq inc -208 if qym != 4769 | |
qym inc 695 if hb == -1563 | |
fe inc -157 if piw < 121 | |
xuu dec 579 if acc != 79 | |
ln dec -262 if nfo > 1086 | |
ec dec 235 if tl >= -1739 | |
hb inc 188 if ej >= -13 | |
s inc 124 if cli >= -2760 | |
ec dec -643 if nfo != 1088 | |
re dec -934 if fe > -1959 | |
ej inc -58 if s == -1727 | |
qym dec -558 if tl >= -1746 | |
ln inc -555 if ec != -1402 | |
foz inc -833 if cli != -2774 | |
ln dec -589 if cli == -2775 | |
tl inc -906 if re < 3334 | |
tl inc 552 if fe < -1940 | |
cli inc 976 if re >= 3322 | |
bq inc -101 if xuu >= -3301 | |
nev dec -217 if tl < -2087 | |
ej dec 945 if u > 519 | |
piw inc 447 if fe >= -1957 | |
h inc 905 if piw <= 586 | |
hb inc -995 if u == 521 | |
acc inc 713 if tl >= -2100 | |
ar inc -936 if ec <= -1400 | |
tl inc 199 if u < 530 | |
u dec 584 if ar != 3829 | |
tl inc 787 if fe > -1954 | |
ar inc 631 if qym >= 5325 | |
tl inc -993 if ln < 8232 | |
bq dec 900 if yxr > -231 | |
u dec -226 if ln < 8235 | |
yxr inc -966 if bq <= -1520 | |
ar inc -83 if bq < -1520 | |
bq dec 439 if bq == -1528 | |
ej inc 608 if h < 1294 | |
yxr inc 140 if nev >= -2567 | |
qym dec 685 if nev >= -2566 | |
re dec 957 if hb > -2378 | |
tem dec -851 if bq <= -1966 | |
nfo dec 421 if qym < 4649 | |
acc inc 473 if ar == 4383 | |
tem inc -407 if qym >= 4642 | |
s dec -949 if tl >= -2103 | |
h inc 549 if s >= -784 | |
qym dec -311 if xuu >= -3308 | |
s dec 751 if yxr > -1060 | |
s inc -438 if ar != 4386 | |
fe dec 734 if s <= -1965 | |
ej inc 989 if hb == -2376 | |
tl dec 84 if yxr > -1055 | |
re dec 919 if ar < 4393 | |
ec dec 314 if qym >= 4657 | |
acc dec 572 if piw <= 579 | |
bq dec -742 if tem >= 6166 | |
ln inc 891 if qym < 4651 | |
piw inc 125 if s >= -1956 | |
nev inc 530 if piw != 577 | |
ln inc 703 if nfo <= 670 | |
bb inc 741 if foz >= -4155 | |
ln inc -429 if u >= 163 | |
ln dec -47 if nfo > 678 | |
cli dec 217 if bq < -1222 | |
tl dec -485 if fe >= -2690 | |
tl dec -948 if fe == -2684 | |
nfo inc 786 if qym != 4642 | |
bb inc 336 if re != 1455 | |
tl inc -8 if nfo != 1455 | |
hb inc 173 if bq == -1225 | |
s dec -53 if piw < 581 | |
bq inc 905 if h == 1842 | |
acc inc -450 if nev < -2551 | |
ar dec 241 if s != -1914 | |
bb inc 671 if ec <= -1400 | |
acc inc 895 if fe <= -2691 | |
fe dec 776 if s == -1913 | |
foz inc -104 if nev >= -2558 | |
nfo dec 629 if hb <= -2201 | |
u dec 531 if ec < -1404 | |
hb dec -37 if yxr < -1049 | |
foz dec -586 if h <= 1848 | |
nev inc -895 if acc == 248 | |
qym dec 475 if bb <= 4461 | |
piw inc 773 if fe < -3459 | |
nfo dec -142 if cli == -2008 | |
hb inc 103 if cli != -1999 | |
bq inc 795 if ln == 9390 | |
re dec 82 if nfo <= 975 | |
u inc -275 if u != 163 | |
xuu inc -599 if acc == 248 | |
ln inc -642 if hb < -2069 | |
hb dec 874 if nfo == 968 | |
bb inc -283 if ej != 640 | |
bq inc -999 if fe == -3460 | |
tem dec 670 if tem != 6174 | |
bb inc 890 if re > 1369 | |
xuu dec 880 if foz >= -3678 | |
ar dec -702 if ej == 641 | |
h inc -43 if nev != -3453 | |
tl inc -803 if qym >= 4166 | |
ej inc 583 if foz > -3687 | |
piw inc -517 if qym != 4173 | |
nev dec -258 if tl >= -1552 | |
tem inc -18 if ln >= 9398 | |
qym inc -463 if tem == 5497 | |
nfo inc -279 if ln >= 9392 | |
nfo dec 627 if ln > 9388 | |
acc inc -544 if ej >= 1219 | |
xuu dec 201 if foz < -3667 | |
qym inc -353 if s >= -1905 | |
xuu inc -927 if tem <= 5506 | |
cli dec -347 if bb != 5065 | |
tl dec -339 if hb == -2937 | |
s dec 503 if fe > -3470 | |
s dec -187 if acc > -306 | |
hb inc 77 if ej > 1214 | |
u dec 103 if acc > -296 | |
s dec 620 if bb < 5072 | |
fe dec -752 if bb == 5063 | |
u dec 930 if ec == -1410 | |
ec inc -235 if cli != -1661 | |
bq inc -361 if cli < -1664 | |
xuu inc -582 if s <= -2849 | |
re dec 812 if acc <= -292 | |
h inc -938 if cli != -1652 | |
ec inc -830 if re > 560 | |
ec dec -888 if ln < 9385 | |
cli inc -520 if tem < 5506 | |
qym inc -224 if acc >= -302 | |
tl inc -399 if nfo >= 342 | |
tem dec 154 if foz == -3671 | |
qym inc 500 if nev < -3443 | |
tem dec 603 if acc != -295 | |
nev inc 227 if ar == 4844 | |
fe dec 658 if s > -2857 | |
bb dec 327 if xuu < -6498 | |
s inc -204 if acc <= -294 | |
s inc 393 if s <= -3051 | |
foz dec -71 if ec == -2232 | |
piw inc 247 if acc != -306 | |
tl dec 749 if cli >= -2189 | |
bb dec -17 if qym != 3996 | |
acc inc 890 if bq != -524 | |
ar dec -532 if re == 561 | |
ej dec -406 if ej >= 1224 | |
ar dec -82 if hb < -2857 | |
ej inc -685 if u <= 163 | |
nfo dec -354 if yxr < -1053 | |
ar dec -346 if yxr >= -1048 | |
ej dec -575 if hb > -2864 | |
bq inc 220 if bq != -521 | |
fe dec -843 if cli <= -2185 | |
ej inc -819 if ln > 9390 | |
cli inc 105 if acc != -290 | |
bb inc -828 if hb > -2866 | |
s dec -508 if tem != 4900 | |
re inc 153 if re <= 566 | |
piw dec 370 if foz <= -3602 | |
nfo inc 987 if bb >= 3922 | |
fe inc -10 if foz > -3607 | |
nfo inc -687 if yxr > -1060 | |
nfo inc -580 if nev == -3226 | |
fe inc -661 if s <= -2149 | |
tl inc -521 if h == 896 | |
nev dec 891 if tem > 4891 | |
hb inc -162 if cli != -2076 | |
yxr dec 696 if nev == -4112 | |
tl inc 754 if s <= -2145 | |
bq inc -457 if re >= 706 | |
re dec -926 if acc >= -286 | |
u inc 630 if re <= 719 | |
ej dec -635 if u > 791 | |
ln dec 631 if ln != 9400 | |
qym inc 470 if re >= 722 | |
ej dec 419 if cli == -2076 | |
foz dec -108 if tl < -1201 | |
fe inc -162 if cli <= -2078 | |
ar dec 385 if yxr == -1059 | |
ec inc 695 if hb < -2852 | |
re dec 535 if cli > -2071 | |
ej dec 135 if bb < 3926 | |
ej dec 13 if hb != -2860 | |
ec inc 967 if ec < -1540 | |
ar dec 713 if ar >= 5453 | |
piw inc -38 if tem >= 4887 | |
piw inc 664 if bq == -761 | |
ar dec 767 if hb > -2863 | |
ej dec 908 if re > 715 | |
nev inc 905 if acc <= -291 | |
nev inc 395 if hb < -2854 | |
piw inc 850 if yxr > -1050 | |
tl dec 290 if nfo == 61 | |
re inc -770 if xuu < -6496 | |
fe inc 828 if ar == 3978 | |
fe dec -295 if ar != 3980 | |
fe dec 431 if foz >= -3506 | |
nfo inc -433 if piw == 1853 | |
tl dec -744 if acc > -299 | |
s dec -609 if bb <= 3919 | |
ar inc 390 if ec != -1547 | |
acc inc 404 if hb == -2860 | |
nfo inc -17 if s < -2152 | |
u inc 338 if h != 910 | |
s inc 921 if s >= -2159 | |
ec inc -49 if hb > -2863 | |
tem inc -144 if tem >= 4893 | |
nev dec -847 if qym > 3985 | |
yxr dec -885 if ln < 8762 | |
cli dec 10 if u == 1131 | |
tem dec -592 if yxr != -159 | |
ec dec -594 if re >= -57 | |
tem inc 66 if u == 1131 | |
foz inc -810 if u == 1131 | |
tem dec 880 if u > 1126 | |
bq inc -604 if acc == 108 | |
tem inc 344 if acc < 114 | |
foz dec -550 if ej != 1594 | |
ar inc 849 if s != -1233 | |
nfo dec -903 if u == 1123 | |
nev dec -945 if ec <= -987 | |
re dec 715 if nev < -1019 | |
ar dec -879 if hb == -2860 | |
tl inc 432 if bb != 3926 | |
s dec 474 if re <= -767 | |
ej inc 356 if h >= 896 | |
ec dec -229 if hb != -2863 | |
bq inc 121 if ec <= -756 | |
xuu inc 428 if u == 1131 | |
ej inc 796 if xuu >= -6070 | |
fe inc 889 if fe < -3341 | |
cli dec 524 if acc > 102 | |
piw dec -360 if acc != 117 | |
fe dec 907 if h >= 907 | |
piw dec -184 if ar != 6092 | |
u dec 189 if hb >= -2866 | |
nev dec -381 if nfo < -362 | |
hb inc -568 if re == -771 | |
hb inc -365 if xuu != -6079 | |
nev dec 490 if qym == 3995 | |
u dec 311 if u >= 933 | |
hb inc 692 if yxr == -166 | |
ej dec -524 if re > -767 | |
ln dec 5 if h > 896 | |
u dec 801 if u >= 628 | |
ar dec -861 if s < -1695 | |
nfo inc -921 if tem > 4862 | |
ej inc -57 if bq == -1244 | |
re dec 726 if ar == 6957 | |
yxr dec -344 if s == -1705 | |
ln dec -300 if foz != -3764 | |
bb dec -372 if bq >= -1251 | |
h inc 630 if tl <= -321 | |
ln inc -586 if u != -161 | |
ec dec -356 if ar != 6959 | |
u dec -225 if piw >= 2399 | |
ln inc -715 if tl < -321 | |
nev inc -649 if u < -164 | |
h inc 232 if ec != -407 | |
bq dec 689 if piw <= 2399 | |
bb inc 52 if xuu == -6071 | |
foz inc 8 if s == -1705 | |
fe inc 80 if nfo > -1299 | |
ec inc 686 if u <= -166 | |
foz inc 579 if bb < 4347 | |
piw dec -551 if nev <= -1288 | |
fe dec -271 if foz < -3743 | |
nev dec -386 if qym <= 3993 | |
nfo inc 791 if hb == -3101 | |
xuu inc -206 if xuu != -6081 | |
qym inc 53 if h > 1532 | |
hb inc -238 if piw != 2955 | |
h inc 947 if yxr < 181 | |
re inc 668 if h < 2484 | |
cli dec -989 if foz > -3754 | |
tl inc -495 if h <= 2486 | |
tl dec 884 if tl < -810 | |
s inc 405 if fe >= -2107 | |
ec dec 842 if yxr >= 174 | |
h inc -451 if yxr < 180 | |
yxr inc 364 if hb < -3331 | |
nfo dec -736 if xuu < -6272 | |
ec inc 37 if piw <= 2957 | |
cli inc 839 if piw <= 2955 | |
foz dec 787 if cli <= -777 | |
ar inc 343 if hb == -3339 | |
piw dec 939 if ej != 1892 | |
piw inc -36 if bq != -1927 | |
ej dec -684 if tl != -1710 | |
acc inc 882 if h == 2030 | |
re dec 372 if acc == 990 | |
h inc 23 if qym <= 4041 | |
ej dec 446 if u >= -169 | |
foz dec 293 if yxr <= 539 | |
tl dec -526 if fe > -2110 | |
ar inc 35 if ec <= -521 | |
ej dec -839 if s != -1295 | |
bq inc -816 if ec > -534 | |
tl dec -913 if fe >= -2108 | |
bb dec 888 if acc >= 983 | |
tem inc -951 if hb == -3339 | |
ec dec -562 if qym < 4046 | |
nfo dec -696 if h >= 2049 | |
u dec -376 if yxr == 542 | |
tem dec 130 if ej <= 3429 | |
nev inc -484 if h >= 2046 | |
nev dec -902 if yxr >= 539 | |
qym inc 306 if nev >= -498 | |
bq inc -306 if hb <= -3334 | |
tl dec -807 if fe > -2113 | |
nev inc -47 if nev <= -483 | |
u dec -228 if xuu == -6277 | |
hb dec 925 if s < -1297 | |
acc dec 236 if cli > -786 | |
h inc 684 if u >= 429 | |
nfo dec 912 if u < 440 | |
xuu inc 529 if bb < 3464 | |
tl inc 143 if qym != 4354 | |
ec dec 694 if tem == 3791 | |
fe dec -542 if u < 441 | |
piw dec 433 if yxr >= 540 | |
ln dec -537 if hb > -4272 | |
acc dec 419 if acc > 744 | |
xuu dec 31 if fe == -1557 | |
ej dec -297 if yxr < 533 | |
foz inc -281 if ec <= -656 | |
cli dec 712 if tl > 677 | |
bq dec -871 if foz >= -4817 | |
bb inc 381 if ln < 8294 | |
nev inc -670 if tem > 3783 | |
yxr inc 860 if nfo < 14 | |
foz inc -120 if nfo > 25 | |
ec inc 793 if fe >= -1563 | |
qym dec -827 if qym < 4351 | |
ar inc 687 if cli >= -1495 | |
bq inc 975 if re < -1191 | |
xuu inc 177 if u != 442 | |
tem inc 363 if nev != -1207 | |
acc inc 707 if cli < -1491 | |
nfo dec -381 if tem > 4148 | |
ec inc -347 if tl != 697 | |
ej dec 995 if s > -1303 | |
acc dec 452 if bq == -2080 | |
u dec -851 if piw > 1539 | |
ln inc -993 if re != -1211 | |
nfo dec -591 if tl >= 692 | |
s dec -410 if yxr != 549 | |
yxr dec -54 if u >= 1288 | |
bb dec -733 if re <= -1193 | |
piw inc -984 if re < -1193 | |
ln dec 133 if ec >= -211 | |
acc dec -218 if fe < -1561 | |
tem inc 792 if fe > -1567 | |
bb dec 359 if yxr != 541 | |
tem inc 273 if h != 2735 | |
ec inc -714 if nfo < 401 | |
hb dec -555 if bb <= 4206 | |
nfo inc -151 if ln > 7294 | |
hb dec -635 if yxr <= 550 | |
acc inc -603 if u < 1282 | |
nev inc 705 if cli >= -1488 | |
cli inc 568 if ej < 2435 | |
nfo dec 795 if nfo >= 246 | |
s dec -996 if ln != 7289 | |
u inc -530 if nfo > -550 | |
tl dec -431 if qym >= 5171 | |
fe inc -998 if ec < -920""" | |
//input = """ | |
//b inc 5 if a > 1 | |
//a inc 1 if b < 5 | |
//c dec -10 if a >= 1 | |
//c inc -20 if c == 10 | |
//""" | |
Map<String, Integer> registers = [:] | |
def max = 0 | |
input.trim().eachLine {line-> | |
def group = (line =~ /([^ ]+) (inc|dec) ([^ ]+) if ([^ ]+) ([^ ]+) ([^ ]+)/)[0] | |
def registerName = group[1] | |
def by = new Integer(group[3]) | |
def conditionalRegister = group[4] | |
if (!registers[registerName]) { | |
registers.put("$registerName".toString(), 0) | |
} | |
if (!registers[conditionalRegister]) { | |
registers.put("$conditionalRegister".toString(), 0) | |
} | |
if (evaluate("${registers[conditionalRegister]} ${group[5]} ${group[6]}")) { | |
if (group[2] == 'inc') { | |
registers[registerName] += by | |
} else { | |
registers[registerName] -= by | |
} | |
if (registers[registerName] > max) max = registers[registerName] | |
} | |
} | |
//part 1 | |
println registers.max { it.value }.value | |
//part 2 | |
println max |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def inputs = [ | |
// '{}', | |
// '{{{}}}', | |
// '{{},{}}', | |
// '{{{},{},{{}}}}', | |
// '{<a>,<a>,<a>,<a>}', | |
// '{{<ab>},{<ab>},{<ab>},{<ab>}}', | |
// '{{<!!>},{<!!>},{<!!>},{<!!>}}', | |
// '{{<a!>},{<a!>},{<a!>},{<ab>}}', | |
// '{<>}', | |
// '{<random characters>}', | |
// '{<<<<>}', | |
// '{<{!>}>}', | |
// '{<!!>}', | |
// '{<!!!>>}', | |
// '{<{o"i!a,<{i<a>}', | |
'{{{{{<!!!>},<!e!!!\'ue!o!!!>"oo<u!}<<{>},{{{}},{<!>},<\'>,{<!!"!!!>"u!!!>!!!>,<"!>,<!>},<}!!}!!!>{>}},{{<"!>}}!\'!!u!!!!e!!!>>}}}},{{{<!>>}},{{{<{{!!,>},{<u!!e\'!>},<>}}},{<,o!!!""a!>},<!>},<<}>,{<!!!!,,!>,<!>},<"!!!>u>}}},{{{<}{!<{i!>>}},{{}},{{},<!>,<!>,<!>!!,<!!!!{}!!i>}}},{{},{{{}}},{{<ae{>,{}}},{{<!!!!">,<{\'}!!},<!>a,!>!!!>{!!e>},{{<!ao!!i!\'!>,<!!o>,<\'e}!!!>!!!>e\'!!u{>},<",\'i!!!>{>},{<uai,!!{!>},<uu!!e>}}},{{{{{<!!,a!>>}}}},{},{{{{{{},{{<au<,!!iuu!!!!!>,<>}}},{<i!>,<!>},<!!\'iu{!!o"{i,i}!{{>}},{},{{<a!>a"!!!!!>},<>,{<!!!>">}},{{{{<ae}a!!!!{!},u!!o<!!!">},{<!>,<!!!>!!!>},<ee<!\'!>},<!!!>u"ae>},{<e\'!!!>},<\'e!>>}},{<u!>},<a!>!>i,u>,{<i,!!>}},{<\'>}},{{<!ee!>},<!!!>!!!>>},<!!!>},<a!u>}}}},{{{{{}}},<!!!>>},{}}},{{{{<!>,<,,},,!>,<<!!!!<<!!<!!!!>}}},{{},{}},{{},{<o,!>},<!!}!,!>},<o!>uoa{<a!!,<a!>,<>}}},{{<\'!>},<e!>>}},{{{<!>"<e!!!>}!!!>!>u<\'i!!}\'!!!>>},<ie!>a{!{>}}}},{{{{<{i<!>}e!>},<}!!,,!>},<!!aa!>a!!!>!,{>,{{<ii!>,<>},<{e!!!>"!!o!>,<\'a!>},<u!>!>>}},{<!!!>"!>,<!<!>,<u!!!!i!>,<a!eeu!!!!!>!!e>}},{<i,}a!!{e>}},{{{<}eue!a}{"{\'\'<!,!>\'!>},<">},{}},{{}},{{},{{{}},{<\'!!,ie"e!!!!!>">}}}}},{{{<!!<<!!!>o!!!>eie<!!!>e!>"!!!!!!ie>,<!>!>!,!!u!!o!!!>!!!>,<\'"!!u!!}u}<}!>,<}>},{<!,!>},<auo!!!>!>,<{}!>,<!>,<>},{<>,<<!>},<{>}},{{{<a!>},<i!!!!!>!!e!>u>,<!>!>},<!>},<a!>!!!!!!i<ae{<!>,<!><o!!!>!io>},{{{}}}},{{<{,ii!!!>!>,<i\'{uo!!!>{a!e>},{}}}}},{{{{{<!>,<u!>!!!!a",!!,!><!!!!!>,!>,<i">},{<"!>,<!!\'>}},{{},{{<!!!>!!!>>},<>},{{{},{}},<e{!!!>!!!><u!>},<iioi!>,<!>!>},<o!!!>!<!"!>>}},{<<<!a{!e}!!\'!!<!>},<!>,<\'eoiua}\'>,<!!<!!>}},{{<!>>,{{<!!!!!>}!>!!a<!!u!!!<u"!!!>>},{{{<!!!>"i!!ae<!><i!>,\'>}}}}},{<!>!>i!>,<}!>!u<!!!!!>!<\'o!>u!!!>!>e>,{}},{{{{<!!a\'!>},<!><{u,}""!o!>},<!>,<>}},<!!!>,<!o!>,<!>,eea,!!!>i,,ue,ie>},{}}},{{<\'e",!!!>!>,<!!\'!!!>\'!>{i!,!!!>},<\'\'!>>,<!!,!>},<}uu!>"a"}!!<!>},<!>,<!>}o!!o"\'>}}},{{{{},{<!!,!!a>}},{},{{{{<"uo!!!>!>,<"!>e,<\',au\'}>,{}},<u!>},<!><a}\'ei!>"!!}a!!!>,<!>u<u>},{}},{},{{<}"!!e!>,<{!!!>!!,!e"!>},<!>},<!!!>,<!\'e>},{{<!,iuee{u!!!>i!!!>{<!!!>},<!i!>},<!!>}}}}},{},{{{{{{<!!u!>},<o>},{<!!!o!!,>}},{{{},{<i,\'<a!!"}!>>}},{<}a"u!!"\'!!<!>,<!\'!!\'"uai!!!>},<>},{<>,<}!>!>o}}!!o{!>},<>}}},{<!>},<!!!"!!!>a!!!>!>},<!>}!>,<>,{<{!!e!>,<"!!u!!!>"!!!>!a!!a<oo"!!!>!>i>}},{{{<!}!>},<}u!!!>!!!>!>},<!>},<>}}}},{{<}!>,<a,"o<!>!!!!!!"<!!e\'a\'}!>},<>},<!!!ee,\'<}e!<!>,<i\'!!!!!>u!!!>,>},{{{}}}},{{{<,>}}},{{<o,!!!>!>,<>}}}},{{{{<u!!!>>},{{<\'i!!!!!>,<!!a!>,<}e<!>,<\'>},{}},{<{<!a\'>}},{{{},<e!>,<<e!oou!!!!!!"!!i!!!!\'a!>},<,!>,<<>},{}},{{<!>,<!!e!>!>},<o<!>!!!!!!o"{!>},<>},<,i{i!>,<oaue<"e\'!!u{ue>}},{{<e>},{{},{{{{<e{oi!>,<o!!!!u>}}},<e<!ue!!oo{!>,<a{!u<!>,<"}i!!">}}},{{{<!>},<!!o!!e!e>,{<}!!{{!>,<!o!!ao}{{!>,<>}}},{{<o\'>},<,u!!o!!u>},{{<>},<\'!>,<i!!!>},e!,e!!{>}}},{{{{<\'ao>,{<!>!!""!>!u!>,<i!>a!,{u!!i!!!!!>>}},{{{{<!>},<a""oi!>"\'>}},<a<e{,,o!!"!!!><>}}},{{{{<au<!!!!!>!>,<>}},{}}},{{{{<oa!!!>iaui!,!!}>},<ia!>},<u\'u!!!>!>u>},{<"u{""u!,!!!>>}},{<!o,{!>a!o\'\'!u!>,<!!!>},<!!o!!!!!>,<>,<}<,!!o!>},<}{}{!>},<{">},{{<!!}}!>,<!>!{e<"!!,!>,<">,{<\'!<!!u!>},<!!!!!i!!u,"oo!!!>!!!>\'a}">}},<!!\'u!>},<au!>},<!!!>!>,<>}}},{{{{<a!>,<\'!>,<>},<!>,<<o!<!!!>,<!!i!>!"i!>},<}>},{{{<o}!>>,{<!>>}},{<!!!!!>!!<e!!<e<,!{!>,<>}},{<!!!!eo\'"!>,<}<}!o<!!!>{u>,{}}}},{{{}},{<"!>!ai!><\'e!\'!>!>>,{<u!>,!>!!ae!!\'e!!!>e>}},{{<!}!!u\'e{i!!\'!"!!\'<!!!>,<>},<o\'a,\'e!>,<{{aau!<{u>}},{{{{{},{<e!!"i!>!!!>u!!"""o{!>},<!!o>,{<}!!>}}},{{<\'}o,ie">}},{<!!\'{!>},<ue!>,<!!!>!!ia!>,<">,<a,<ouu"a>}},{{{{<u!>,<!>},<e!><!!!!}}!>,<!>},<}a!>},<i!!\'!i!!!>a>},<!"u!!i"ioe!!!>!!,!!ie,!>o"!>,<!>,<!<>},{{},{<o!>},<{a!!!>"{>}},{{<iu{}"!>,<"{!>i<o,e!>,!<>,<<!aa>}}},{{},{<i}!!!>>}},{{<a!i,,!e<!>},<!"i\'}"!>{ii!!!>!!,>},{<u,\'!e!!!!\'!ee!!"!!i!!!>},<}>}}},{{<!!!>!!u!>,<u!>"o<<}!>uu!!u{!!u!"!!!>>},{{<!\'!>o>},<i{ioeu!>},<{au!!!>!>},<i!>},<!>,<!>},<!!!!,e>}}},{{<!!!>},<!!!>i<o!!}}e!,i!>o!!!!i>}}}},{{{{{{<!>},<>,<\'e!a!!!o}}<"!!!>,"}!>a!!!>"e>},{{<e!>!!{"},,!>,<!!\'!!!>aa>},{}},{<!!,,!e!>!>},<!>,<"{"!!!!!!!!!>>,{<"!!!i!>},<o{""}",,!{ou!!>}}},{{},{{<!!!!!\'!>{oe<{!!<!!!!!!\'>},{<!>,<<\'e!"!>!>},<!>},<{!!o!>,<e!>!!u}!!e!!>}},{{<}o"!>},<!>},<!>!!<!u!!!>},<!>},<i!a>}}},{{{{<\'!,!!!!ii>,<<!{!!!>!!!!!>!>},<!!!>!!\'!>,<o{iuo!><!!o}!!!!!!!!!>!!!>>},<!>!>,<!>ao!!!!!>!>},<<!!{"e!!,!!{\'!!!><>}},{{{<!!!>,a!>},<!!!>>},<!!!>!!>},{<!!!!<!>,<,>},{{<}!}!>,<o!!!!!!!!!>!!!>\'!!a!>},<>}}},{<>}}},{{{{{<!>,<!>,<!!!>},<i!>"!>},<o<!!!>a!!!>!!!>!>!!,u!>>},{<<""!!,!>},<\'{<!o>}}}}},{{{{<}!>,<o!>,!>},<!!!>\'i",!>},<!!!>,<{!>,<o!>,<!>},<>,{<<!>!>,<!!!>!>},<>,<!!!!a!!a}{{!!!>\'!>,<{<<!>,<>}},{{<!!,>},{<!>,<!!ao!!!>!>!!!>!>},<,i{o!!!>"!!e!>,<!!u>}}},{{},{{},<u!>,<!!!>!!>},{}},{{{{<}\'e,}>},<>},{{<e!i{!!!>!>},<"!>},<!e!>,<{>}},{{<>,<{{!ei\'!>},<<{!>,<a!>!!">}}},{{<!>,<{!!{}i!>,<{!>"<!>,<!>!!!>!!!!!>!ou>,{{{{}}}}},{<{\'!\'<}}>,<a>},{<{{a>}},{{{<>,<!!u"!>},<!>u!!!>\'>},{{{<a!>},<o!>},<\'!!!>o!>,<!>,<{u!!{!"{!!!!!>>},{<,<!>{!a>}},{{<}>},{<!eu<!>,u\'!>},<!!!><e{e!!!{<!!!>!!!>>}}}},{{{},{<a!>,<<e!>},<!!!a<u!!!>},<!>,<i!>,<>}},{{{},{}},{<!!,!!!>},<ia!!!!!>,<!a!!!>},<i\'!>,<!!!>!>},<>}},{<\'a,!>,<!!!>!!!>,<\'!>,<<"u>}},{{<!!!>"u!!!><\'!!!>{>},{<\'!>,<}>}},{{<i!!{!!!>!!!!i,!>!!<u,u!>},<\'!>},<ao,"!!>,{<e!!<\'e}<!o!>{!>!>!!!!"i>}}}},{{<!>},<!>},<}!!!>"!!<!!!!!>e>,<!>ia!>,<!>"!>!!!>i!!!!!!u!eu"a!!,!>},<>},{<{o!>,<<"{!!!>!!o!>},<!"a!>>,{<<e,!}ao!>ui<!>!>},<\'e<!!!!{a!>!>,<>}},{<>,<\',!>iaoi!u<oe"!>>}}},{{<!>e"e!!!>},<,u!!e!>,<!>,i!!oi<>}}},{{{},<!!u!>!!!>i!!!!e!!,"u>},{}},{{{},{{},{<!>},<!a>}},{{<"o!>},<!>},<!!!>,<!,>},{}}}},{{{<!>!ei!!{!!<!!>},{}},{{},{<io{!>},<!!}!>},<!}a!>u<>}}}},{{{<!>!!!>"!>!!ua>},{{<!!!!!>{!">,{<!!\'<"\'!!!>}!!!!!>!!a!!\'!o\',!!!!!>!!>}},{{<!!"!!!>{{,!>,<!!!>!!i!!ea!!!>!!!>\'>,{<!a<!>},<!>,<eoe!"!>e<a!!}"e!>},<o!!>}}}}},{},{}}},{{{{{<!>!{!>i}!"\'!!!>iau!>},<o>}},{},{}},{{{}}}}},{{{},{<!>,<!!u!>},<!!!!<<!>,<!>auo!>">}},{{{}}}}}},{{{{{{<!>!>},<!!!>oe!!!!\'!>},<"!!!>>},<!>{!!"\'!>,<!>},<oe\'\'{\'!>,<>},{}}},{<u!e}!>,<!<!<!<"!o!!\'!!>,{{}}},{{<uia!!ee!>},<!>e>}}},{{<o!\'\'e>,<!!!>eu{"!!}a>}},{{{{<!!!!!>!>},<!><o!i>}},{{{<!!!>,<io!>,<o}ou!>,<!{!>},<!!ou!>!!!>!>,<!!>},<!!<\'!!!>,u,!>o}"!a>}},{<!>\'!!{eo\'!>},<!>!>,<e!!a!!!>!!!>{,,!!!">,{<"ioau}\'!!!!!!!>!!!>i">}}},{{{<{!!uo{i!>},<,}>}},<ie<{u<!>},<!!"i<>}}}}},{{{{{<!!!>!!i>},<>},{{{<!>},<{!!,!!a""i!!}{>}}},{{{<!>},<!>,<a!!!>,}!!!u"e!!!o>},{<!!\'{!!!>,<!!\'!>},<!!!>e,!>,<e\'!!!>oo>,{}},{<}}!>},<o\'!!!>!!!>!>},<ee!!"<!,>}},{{<!!!>u{!!e>},{{<!o!>},<e"}u!"!!}a!!a{<,!!ee!>}>},{{{{},{<!{u{!\',u!!!,>}},{<"\'!!!>!ae\'a!!!!o!!!>a!}!>,<>}}}},{{<!!!>o"i!!!>"!!!!!!!>!!!!!>},<}!!>},{}}},{{<\'!>,"!!!>},<oo!o\'!>},<o>,<>},{<auu{<!>e!>},<!!!>}\'>},{{<}"u!!!>!!,"i!>e>},<",u>}}}},{{{{<!>,<{"!!a!>,<"ou!!,a!!!>},<!!!!{>}},{{{{<!!!>,<o!>!!!!eue{!>},<!!u<>,{<>}}},{<!!<{!!!>oo!!u!>,<!!!>!!!>,<!<>}},<"eo<!!!>"!,!!!>>},{{}}},{{{<>}},{<a,!>!!!>!>},<<!>},<}o!!!>uui,"!!"i}>},{{<!!!>!!<{<!>eu!>,<a!!>,{{{<i\'eua!!!>!!!u!!!!!>!o!>,<!i"e>},{<io\'}"!>,<a!<!>!"}o\'!!!<!!>}},{<{e!!!>!!!},!>,<"">}}}}},{{{}}}}},{{{{<}!!!>eo!!!>a!e\'>,{<ui!!!!!!!!a!!!>!">}},{{<u}\'!!i\'ueo!>>},{<u>,{<o!>},<i!!{!!!>}!!<"u!!!>},<>}}}}},{{{<>}},{<!!!!!>!!{<aoo!>},<!!\'ou>},{{},{<!>},<}!>,<u,"!!!>e}!>u!{o{!>,<!!ae>,{{<!>},<o!>,<!!o>},{}}}}},{{{{}},{{<o,{!!!>!>!!{!>},<,>,{<}e,!!!>>}},{}},{{{<{!>,<!!!!ai>},<!>,<i>},{<!!!>!>,<!!,!i!>!>,<\'"!>!\'!>!!i,>}}},{{{{{<a!>,<u{{!!!o!!{ua!>,<!!"!}"!!!}!!!!\',au>,{{<!!{{!!!>>}}},{{{{<i<o!!i>},<ia!!!e!!!!!><!>,<i!!!>}!>,<ii<!!!!!>>},{{{<,!!!>,<!!<>}},{{{{<!!!!!>},<!!i!>,<!!e!>,<!!!i{<!>!!!!!>!!!><e>}},{}},{<!!e!uui"<{!>,<>}}},{{<!>,<!!!>{,aa!!u!!o!!{u>,{{{<{!!!>>}},<!>>}},{<,!>},<!>,!}"!>}!>},<"i!!!>>}}},{{<!!!>u!>},<i!>,<!>},<!!!!"!!!!"ee!!!!!>!>},<o!<!>},<e>,<e!!!>"!>!!e!>,<\',!!>}}},{<a!!}o!!!{{o"e!u!>,<a>}},{{<}!>},<}e}!!!>!ua\'>},<!>ooe,u\'!!!\'>}},{}},{{{<o{,\'!!!>o""\'>,{<!!\'e!>,<oi,!,>}},{<\'!!!>,!<<a!>>}}},{{{<,o!>,<!>},<!!!!!>,<}a,!>}!>},<iei!>,<!!>}},{<{{,!>,<>,{{}}}},{{{{{{<!>},<e,<!!u!>},<a!!!>\'\'!!!,\'o!{>}}},{<!!a!>,<{!!!!""!!!!!>\'!!oa{{!>,<!>},<>,{<",!!!>!!a!!!>},<e!!!>!!"ii<a!>,<!"!!>,{{<\'!!!!!>!>},<e},>},<!!<a!>,<"!!!>a\'!!!!<\'>}}}},{<i!\'!>!!!>},<,u\'u!>},<i!!i!!!>,<<,!!!>oai>,{}},{{<u>},<!<ea,>}},{{},<{!\'<!a!!!>!>,!>{!!!!!>u!!\'>}}},{{{<>},{<!!!>"{o!!!>!!!>},<!!!,>}},{{{{{{<{!!a{<<a!!!>!!!>!!!>,<!!!>!!!>>,<}"e,!oae\'\'!>,<!!{u!>},<!!}!>},<\'>},<}!>,<<{a!!uo!>!>,<!>,<!!ei!>},<{>}},{{{<,"i!>,<i!>!!!>o!oa!>,<!"!au\'iau>},<!>,<uiu!!!!!>}ao"{u!!!>\'!!!>a>},{<!o!>,<,i!>,<!>},<u!!a!!!>},<}!!!>u!>},<!!<o>,<!!ei!>},<!!!>!!!>},<{"!!!>,<<!!!>u!>!!!>!>},<a>},{{<{!>\'!!<"!!!!>}}},{{<>},{{<!!!>e!>,<!!<o!!"o{,\'<!>},<!>}>},<!!}!!>},{<\'!!a!>},<!!ioiau\'u,!!!!!!,!>},<i!!!>{>}}},{},{<!>},<!o">,<!!!>}!!!!!>!>},<"!>},<!>,<>}},{{{{}},{{{{}},{<i!!<,!!o>}},{{},{<!>},<!!!{u{!!!>a!!!!i!!,\'!>},<}>,<"\'!>\'>},{<i>}}},{{<!!!>!"a!>,e<i!!!>,<,!!!>!>>}}},{{<!>,<!"{!>"!>,<<o<ue{{}}!>,<!!>,{<u}>}},{}},{}},{}}},{{<!<!>{\'au!!"{!>,<>,<!{>},{{{<e!>u!{\'!o{\'!!!>!!"!}!e"!>},<oiua>}},<,!>,<!e">},{{{},{<!!a!>}!!!>u"!a<!>,<,"{!>},<a<!>,>}}}}},{{{<!!,!"}!>}!!}!>,<!}""!!e,}!>},<>,{<,!>},<a,<u!!!>!!}}e"!}>}},{{{<a>,{<<e!!!!u"auo!>u!>,<>}}},{{<!"<!!!>{u!>,<e,{{!!!!"!>,<!>,<,}!"\'"e>},<<!>},<oua!!u,<<>}}},{{{<eu"!>u\'uu<>}},{},{{},{<!!!>!!!!u}iio!>>,{{<oo!!!>{!>,<{!!!!!>,<i,!!}}!>u!>a!>,<!{\'>},<!>},<a!!!>!}!,ea>}}}},{{{{<!!i!>,<!!!><u!!a!!!>,<>,{<!>!>}!!o!!!><a<>}},{<!>,<!!\'{i!!a!a\'<!}!!e"!!!!a!>"!!!><>},{<!!!>},<!!!>,<!uea!>},<\'!!>}},{<!>,u{<!>},{!{iie{!>},<<o!>,<>,{{<!!!>!!}iu\'!!!>e}!!!!o!><!>!!!>,<<!>,<!!!>,<!!,>}}},{{<"i\'{!i!>a!!{!>,<oaa!a!>},<>},{<!>,<o">}}},{<!!}!!e<e>,{}}},{{{},{<">}},{<!!!!"!!o!!!>"!!!>i">},{{{{}}},{}}}}},{{{{<i\'<u!{e{i>}}},{{},{{<o>,{<!!<}}{{o!!a}!!!{ao>}},{{},{{},<uu\'!},!!e!ouu<oia!!!>e}{e>}},{{{<<,e\'a!!!>},!!!!!>e>}},{{{<o!>},<uo!!!>!>!>,<u,!a!!!>!!!!!>}!>,<!!!>>},<!a}i,">}},{<!>,<!!,!>}!!<}!!!!!>ae<u!>,<!>,<!!!>!{<!!!!">}}},{{{{<!!,,!>},<i}<{>,<!>,<!!{}o!!{,<,,!u!"!>,<>},{<}!!!>>,<oo<!>},<<ou}!!!>}e!>,<!>,<>}},{{{},{}},{},{<uou>}},{{{<!>!""<ea>},{<<i!>},<\'aau!>},<!>,<}i\'!>!!>}},{{<e"!>,<{"!!!!!!!!!>,<<eui"!!},!!>}},{{<\'i!!<>,<!!!!"!>,{<!>!!{!!!!!!a{!>},<>}}},{{{},{{{{<!>!>},<>},{{}}},{{{<\'\'!!!>ai!!a!>!>,<>}}}}},{{<a!>,<!!\'a}<,!!!>},<,!!,!}!>},<>,<!!!>,<{!!!>!!io!e!>,<!!!!!>,>},<!{i!!!>,}\'{o!!,<!>},<!>!>!>},<oie>}}}},{{{{<,,!!i!>,<!>o!>,<>},<}!!!>},<e!>,<}!!>},{{{<!!!{oo!>,<!!!>!!!>,<o!!!>e>}},{<!!{,!>!!!>!!<!>},<!!!>!>,<i\'!!!>!!!>},<\'!>,<>}},{<a!>,<!!!!i!a\'o!!!>u!!!>i>,{<\'u!!}oe<!>!e!!">}}},{<i{!!o">,<!uo\'}!!!>!!!!!!ou<!!!!!>}a>},{{<!!!!"{}>},{<uoeua!>},<o!!!>!,i">}}},{{{<!!!eo{>}}},{{<!!{!!\'ui!!!>!>},<>},{<a"!!!<o>}}}},{{<,u\'!{!!\'!>!!!>}>},{{},{<,!!!!!>},<e!!">}}}}},{{{{{<!>,<!!,>}}},{{<!!ouao"!!i<>,<!"!>,<!!oe!>,<i}ei!"{!u!>},<,>},{{{}},{<<!>,<>},{{<<<,u!!",!"\'!!!!!!<a{u!><!u}>,{}}}},{}}},{{{{<!!!>o,!!!!<uu!}!!e\'uu!!"e!>!e!>,<!!>}},{{<>,{<u!!!>,<,!i!!!>""u!}}!!!>!<e"!!!!<!!>}},{<u!>},<}{!!!>,<o>}}},{{},{{<!!!!!!u\'!>},<,!>,<!!a!!,iu>,{<!{!!!!}>,{<ei!>,<}oo>}}},{<!>!>,<!uo>,<>}},{<o{"<"i}{!{{eae>,{{{<!!!e>}}}}},{{<}u!a}!!!,!,"e>},{{<>},{{<"!>,<ao\'}!>,<!!!>,!>"eu{i!!}!>},<,>},<!{!>},<!!!!{{!!!!!>!>"!!<!!!!>}},{{{<u!>,<u!!!>u!!\'i>}},<!!!>ii!!!>}{!><{!>e\'!!!!!}{}!>!io!>>}},{{{<>},{<ua!a!>!>!!<!!!>!!!>,{u>}},{{<>},{}},{{<!>!>,<au{u!>,<>},{}}}},{{{{<,!!!>i!>},<\'!!!<!!!>u!!!>i<!}!>},<!!!!e>}},{{<u"!>i!\'>},{{{{},{{}}},{<!!!>!!}!>,<o<!!!>},<<e<i<"}""!>,<!>,<\'>,{<\'"i!!ae{o}!>!,a>}}},{<!!!><!uu<!!{!>,<}}\'!o!><{>,{<!u{!u!>!>},<\'a"a,!>},<!!}{!!,\'ei>,{{}}}}},{<{i!!u!>},<!>},<!>!oo>,{<e{u}<,!!!!!!i\'o{<!!!>!!\'i\'uo>}}},{}}}},{{{{{{{{<u,<!!<i}a!>!>,<e<!>},<,i!o!>,<>},<u!!!>,oii,!>},<}}!}<e>},{},{<i!>!!i!>e!>},<!>!>},<>,{<!!!>ii}<!!!!!!e{!!!>",!!!e!>,<u<>}}},{<>},{{<a}!!}i!>,<io<i!>},<{!,e\'!!!>,<!!!!!!!>!!iu>,<!!!>o!!u,!>!>,<!>,<"i!!e!<e">},{<!!,{{!!!>\'>}}},{{{{},{<!!!>!!!>\',oao}<!{!!{!o>}},<!><!>,<e!>,<o!!!!ou!!!!!>},<!!!>>},{{}},{{<!>!!!>"!>!!i!!!>!!!><!!!><!!!>i!<!!!!<{!!!!!!!>e>,{<,,>,{}}}}},{{{{<u,!>{uu>},{<>}},{},{{},{{<"e!!i<!!!>,<"o!!!>,<}u>}},{{<>},{<!><>}}}},{{<!!i<!!>},{{<!>,<!>},<!!!>!!,e{>},<eu"!!}u}!>},<<a>},{{}}},{{{<!i!!au!>},<,!!!>},<u"<,{{!!,!!>},<a{!!!>>},{{{<e!!!>a!>,<}e!!!>{>}},<!<!!oa}!!\'"!>},<\'u>},{{<,ua!!aoo}!!{!!!!!>!!"eau}}!><!!!>>},{<!!!!!!>}}}},{{<!!">}}},{{{}},{<,!u!>!>,<!>,<\'\'!!!>!>},<\'a\'!!aou!!!><>,<u>}},{{{<i!>,<!!i!!!<aa!!a>},{<!>,<a!>},<!!!><!>,<a!>},<!!u!>!!!>""!>,<!!}>}},{}},{{<o!!o>},{{{<{!i!!!!e<ua>},<>}},{<!!!>!!!>\'!!",e}u!>},<!!\'!>,<!>,<>,{<\'e!}!!<!>,<i!>,<"o!>>}}}},{{{<u"!>},<{!!\'u>},<!>,<<!!!>!!\'!>!!!>,<u\'<}\'!>,<ee"!>,<a>},{<!!i>,<o!>,<!iu!>},<!!\'o<}!>,<,">},{<<{!>},<<!!!>}\'!!!!!!!>!!\'!\'o!,!!u>}},{{{<!!oi\'a"!>"!u}!>,<u!>},<"u!>!!">},{}},{{<!>},<eae!}!!!>aa!>oa!!o!!!>!!}<u}>,{}},{{},{<!!!ae}<!!,!!!!{!,u!!<!!,!!!!!>!>},<>,{<\'"!>!!!,u!!oo!>,<>}}},{{{<!>},<!>!>},<}!!!>a<"{a!!!>!!<!>,<!{!!!!!>>},<{>},{{<!"!>,<"!!!>>}}}},{{<}<i!>eu}u!>},<iii!!}o>},<aa"u>}},{{{{{<<!!\'!>},<!!!!<!>,<\',{o"{\'!!i>},{<!!!!!!<e!i"},!}uua<>}},{<i!!a\'{>},{{{<{!e<!}!!!>,<\'o{>},<o!!!!!>{!>},<!!!>e!"{!>},<{!!\'u!>},<ioia>},{<!!!!u!{<!>},<\'>}}},{{<!>},<!>},<,au!!{>},{{{<!!\'<!>,<<!>>}},{<!!!>!!!!!>},<!>,<ueie!>,<!!i!>},<>}}}}}},{{{<e!>!!u!!!>!>},<u<ua!ao>},{},{<a!!e!>u,!>,<}}!!!>,<>}},{{<}!>,<\'>,{<o">}},{<u!>!>!!oi!!!>"o"!!ie{>,{{<!!!!!!,!!!>,<!!u">,<}!>},<}!>,<a!>"!>,<!>!!!>!!!>},<!>,<e>}}}},{{{<o!!!>a!>},<!>,<}!!!>},<!}!!!!!>!>},<o!\',{>}}}},{{{{<"!e"!!!>!>,<!!!>!>,<o,\'ai!,!>,<>}},{{},{}},{{<!,,a\',!>\'o<eu}e!!!>,<!!!!!!!>ia!>},<!!}>},{<o!!!>,{<"\'!>},<>}}}},{{{{}},{{<!>,!>,<a\'!>},<ee!!!>io>},<}!!!>,<!!ee"e!!!>\'}!>},<,!!!!aa>},{{<!!!>},<}!!,o!i,!>,<!>},<}<}!>e>,{<<!>},<"!!<>}},{{{{<!>},<}o!!"!>>,{<!>},<!!!<\'!>},<>}},<e!!!>,<!!!>e!>,<\'!!!!!>!!!>,>},<i!,u!!!!!}!>},<!}\'"!>o!>,<u!!!!!>>},<,!!!>u<!>>}}},{{{{<a!!{!!o\'!}!!o!!!>},<{a!>a>},<!>},<eu!>,<"i!!!>i!ai<>}},{{{}}}}}}}' | |
] | |
inputs.each { input -> | |
def nestedLevel = 0 | |
def sum = 0 | |
def ignore = false | |
def garbage = false | |
def garbageSum = 0 | |
input.split('').each { c -> | |
if (ignore) { | |
ignore = false | |
} else { | |
if (c == '!') { | |
ignore = true | |
} else if (c == '<') { | |
if (garbage) { | |
garbageSum++ | |
} else { | |
garbage = true | |
} | |
} else if (c == '>') { | |
garbage = false | |
} else { | |
if (garbage) { | |
garbageSum++ | |
} else { | |
if (c == '{') { | |
nestedLevel++ | |
} else if (c == '}') { | |
sum += nestedLevel | |
nestedLevel-- | |
} | |
} | |
} | |
} | |
} | |
//part 1 | |
println sum | |
//part 2 | |
println garbageSum | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def input = [138486, 133535, 66101, 98143, 56639, 120814, 142212, 92654, 100061, 104095, 55169, 94082, 76014, 81109, 106237, 111930, 138463, 145843, 142133, 71154, 112809, 136465, 142342, 68794, 131804, 146345, 107935, 98577, 127456, 89612, 95710, 149792, 136982, 92773, 92303, 114637, 107447, 111815, 149603, 106822, 78811, 114120, 148773, 90259, 101612, 82220, 139301, 91121, 99366, 84070, 120713, 59311, 120435, 56106, 127426, 110465, 76167, 81199, 116298, 110064, 125674, 135698, 86792, 114228, 119794, 76683, 125698, 103450, 142435, 142297, 122593, 96177, 104287, 121379, 54729, 108057, 127334, 91718, 67009, 93304, 66907, 133910, 145775, 119241, 117492, 56351, 96171, 50449, 137815, 149308, 119003, 60320, 66853, 56648, 52003, 115137, 124759, 73799, 94731, 147480] | |
class Mass { | |
static int calc(it) { | |
def answer = (it / 3).intValue() - 2 | |
if (answer > 0) { | |
return answer + calc(answer) | |
} else { | |
return 0 | |
} | |
} | |
} | |
println "Part 1: " + input.collect{(it / 3).intValue() - 2}.sum() | |
println "Part 2: " + input.collect{Mass.calc(it)}.sum() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def intcode = { noun, verb -> | |
def input = [1,0,0,3,1,1,2,3,1,3,4,3,1,5,0,3,2,6,1,19,1,5,19,23,1,13,23,27,1,6,27,31,2,31,13,35,1,9,35,39,2,39,13,43,1,43,10,47,1,47,13,51,2,13,51,55,1,55,9,59,1,59,5,63,1,6,63,67,1,13,67,71,2,71,10,75,1,6,75,79,1,79,10,83,1,5,83,87,2,10,87,91,1,6,91,95,1,9,95,99,1,99,9,103,2,103,10,107,1,5,107,111,1,9,111,115,2,13,115,119,1,119,10,123,1,123,10,127,2,127,10,131,1,5,131,135,1,10,135,139,1,139,2,143,1,6,143,0,99,2,14,0,0] | |
def processing = true | |
def position = 0 | |
input[1] = noun | |
input[2] = verb | |
while (processing) { | |
switch (input[position]) { | |
case 1: | |
def one = input[input[position + 1]] | |
def two = input[input[position + 2]] | |
input[input[position + 3]] = one + two | |
break | |
case 2: | |
def one = input[input[position + 1]] | |
def two = input[input[position + 2]] | |
input[input[position + 3]] = one * two | |
break | |
default: | |
processing = false | |
} | |
position += 4 | |
} | |
return input[0] | |
} | |
println "Part 1: " + intcode(12, 2) | |
for (int i = 0; i < 100; i++) { | |
for (int j = 0; j < 100; j++) { | |
if (intcode(i, j) == 19690720) { | |
println "Part 2: " + (100 * i + j) | |
break | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.awt.Point; | |
def input1 = 'R998,U367,R735,U926,R23,U457,R262,D473,L353,U242,L930,U895,R321,U683,L333,U623,R105,D527,R437,D473,L100,D251,L958,U384,R655,U543,L704,D759,R529,D176,R835,U797,R453,D650,L801,U437,L468,D841,R928,D747,L803,U677,R942,D851,R265,D684,L206,U763,L566,U774,L517,U337,L86,D585,R212,U656,L799,D953,L24,U388,L465,U656,L467,U649,R658,U519,L966,D290,L979,D819,R208,D907,R941,D458,L882,U408,R539,D939,R557,D771,L448,U460,L586,U148,R678,U360,R715,U312,L12,D746,L958,U216,R275,D278,L368,U663,L60,D543,L605,D991,L369,D599,R464,D387,L835,D876,L810,U377,L521,U113,L803,U680,L732,D449,R891,D558,L25,U249,L264,U643,L544,U504,R876,U403,R950,U19,L224,D287,R28,U914,R906,U970,R335,U295,R841,D810,R891,D596,R451,D79,R924,U823,L724,U968,R342,D349,R656,U373,R864,U374,L401,D102,L730,D886,R268,D188,R621,U258,L788,U408,L199,D422,R101,U368,L636,U543,R7,U722,L533,U242,L340,D195,R158,D291,L84,U936,L570,D937,L321,U947,L707,U32,L56,U650,L427,U490,L472,U258,R694,U87,L887,U575,R826,D398,R602,U794,R855,U225,R435,U591,L58,U281,L834,D400,R89,D201,L328,U278,L494,D70,L770,D182,L251,D44,R753,U431,R573,D71,R809,U983,L159,U26,R540,U516,R5,D23,L603,U65,L260,D187,R973,U877,R110,U49,L502,D68,R32,U153,R495,D315,R720,D439,R264,D603,R717,U586,R732,D111,R997,U578,L243,U256,R147,D425,L141,U758,R451,U779,R964,D219,L151,D789,L496,D484,R627,D431,R433,D761,R355,U975,L983,U364,L200,U578,L488,U668,L48,D774,R438,D456,L819,D927,R831,D598,L437,U979,R686,U930,L454,D553,L77,D955,L98,U201,L724,U211,R501,U492,L495,U732,L511' | |
def input2 = 'L998,U949,R912,D186,R359,D694,L878,U542,L446,D118,L927,U175,R434,U473,R147,D54,R896,U890,R300,D537,R254,D322,R758,D690,R231,U269,R288,U968,R638,U192,L732,D355,R879,U451,R336,D872,L141,D842,L126,U584,L973,D940,R890,D75,L104,U340,L821,D590,R577,U859,L948,D199,L872,D751,L368,U506,L308,U827,R181,U94,R670,U901,R739,D48,L985,D801,R722,D597,R654,D606,R183,U646,R939,U677,R32,U936,L541,D934,R316,U354,L415,D930,R572,U571,R147,D609,L534,D406,R872,D527,L816,D960,R652,D429,L402,D858,R374,D930,L81,U106,R977,U251,R917,U966,R353,U732,L613,U280,L713,D937,R481,U52,R746,U203,L500,D557,L209,U249,R89,D58,L149,U872,R331,D460,R343,D423,R392,D160,L876,U981,L399,D642,R525,U515,L537,U113,R886,D516,L301,D680,L236,U399,R460,D869,L942,D280,R669,U476,R683,D97,R199,D444,R137,D489,L704,D120,R753,D100,L737,U375,L495,D325,R48,D269,R575,U895,L184,D10,L502,D610,R618,D744,R585,U861,R695,D775,L942,U64,L819,U161,L332,U513,L461,D366,R273,D493,L197,D97,L6,U63,L564,U59,L699,U30,L68,U861,R35,U564,R540,U371,L115,D595,L412,D781,L185,D41,R207,D264,R999,D799,R421,D117,R377,D571,R268,D947,R77,D2,R712,D600,L516,U389,L868,D762,L996,U205,L178,D339,L844,D629,R67,D732,R109,D858,R630,U470,L121,D542,L751,U353,L61,U770,R952,U703,R264,D537,L569,U55,L795,U389,R836,U166,R585,U275,L734,U966,L130,D357,L260,U719,L647,D606,R547,U575,R791,U686,L597,D486,L774,U386,L163,U912,L234,D238,L948,U279,R789,U300,R117,D28,L833,U835,L340,U693,R343,D573,R882,D241,L731,U812,R600,D663,R902,U402,R831,D802,L577,U920,L947,D538,L192' | |
//def input1 = 'R8,U5,L5,D3' | |
//def input2 = 'U7,R6,D4,L4' | |
def findPoints = {input -> | |
def start = new Point(0,0) | |
def points = []; | |
input.split(',').each { | |
def direction = it[0] | |
int amount = Integer.parseInt(it[1..-1]) | |
def doWhat | |
switch (direction) { | |
case 'R': | |
doWhat = {x->x.translate(1, 0)} | |
break | |
case 'U': | |
doWhat = {x->x.translate(0, 1)} | |
break | |
case 'L': | |
doWhat = {x->x.translate(-1, 0)} | |
break | |
case 'D': | |
doWhat = {x->x.translate(0, -1)} | |
break | |
} | |
for (int i = 0; i < amount; i++) { | |
doWhat(start) | |
points.add(start.location) | |
} | |
} | |
return points | |
} | |
def points1 = findPoints(input1) | |
def points2 = findPoints(input2) | |
def intersect = points1.intersect(points2) | |
println "Part 1: " + intersect.collect{Math.abs(0 - it.x) + Math.abs(0 - it.y)}.min() | |
println "Part 2: " + intersect.collect{points1.indexOf(it) + 1 + points2.indexOf(it) + 1}.min() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int lower = 171309 | |
int upper = 643603 | |
def hasDouble = { String asString -> | |
for (int i = 0; i < asString.size() - 1; i++) { | |
if (asString[i] == asString[i + 1]) { | |
return true | |
} | |
} | |
return false | |
} | |
def repeatedJustTwice = { String asString -> | |
def letterMap = asString.collect { it } | |
return letterMap.collect { a -> letterMap.count { b -> a == b } }.find { it == 2 } != null | |
} | |
def isAscending = { String asString -> | |
for (int i = 0; i < asString.size() - 1; i++) { | |
if (asString[i] > asString[i + 1]) { | |
return false | |
} | |
} | |
return true | |
} | |
def countPart1 = 0 | |
def countPart2 = 0 | |
for (int i = lower; i < upper; i++) { | |
String asString = i.toString() | |
if (isAscending(asString)) { | |
if (hasDouble(asString)) { | |
countPart1++ | |
if (repeatedJustTwice(asString)) { | |
countPart2++ | |
} | |
} | |
} | |
} | |
println "Part 1: " + countPart1 | |
println "Part 2: " + countPart2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def intcode = { input, programme -> | |
def processing = true | |
def position = 0 | |
def output = null | |
while (processing) { | |
def instructions = programme[position].toString().padLeft(5, '0') | |
def instruction = Integer.parseInt(instructions[-2..-1]) | |
def one | |
def two | |
def move = 0 | |
if (instruction in [1,2,4,5,6,7,8]) { | |
one = instructions[-3] == '0' ? programme[programme[position + 1]] : programme[position + 1] | |
if (instruction != 4) { | |
two = instructions[-4] == '0' ? programme[programme[position + 2]] : programme[position + 2] | |
} | |
} | |
switch (instruction) { | |
case 1: | |
programme[programme[position + 3]] = one + two | |
move = 4 | |
break | |
case 2: | |
programme[programme[position + 3]] = one * two | |
move = 4 | |
break | |
case 3: | |
programme[programme[position + 1]] = input | |
move = 2 | |
break | |
case 4: | |
output = one | |
// println "output: "+output | |
move = 2 | |
break | |
case 5: | |
position = one != 0 ? two : position + 3 | |
break | |
case 6: | |
position = one == 0 ? two : position + 3 | |
break | |
case 7: | |
programme[programme[position + 3]] = one < two ? 1 : 0 | |
move = 4 | |
break | |
case 8: | |
programme[programme[position + 3]] = one == two ? 1 : 0 | |
move = 4 | |
break | |
default: | |
processing = false | |
} | |
position += move | |
} | |
return output | |
} | |
println "Part 1: " + intcode(1, [3, 225, 1, 225, 6, 6, 1100, 1, 238, 225, 104, 0, 1102, 57, 23, 224, 101, -1311, 224, 224, 4, 224, 1002, 223, 8, 223, 101, 6, 224, 224, 1, 223, 224, 223, 1102, 57, 67, 225, 102, 67, 150, 224, 1001, 224, -2613, 224, 4, 224, 1002, 223, 8, 223, 101, 5, 224, 224, 1, 224, 223, 223, 2, 179, 213, 224, 1001, 224, -469, 224, 4, 224, 102, 8, 223, 223, 101, 7, 224, 224, 1, 223, 224, 223, 1001, 188, 27, 224, 101, -119, 224, 224, 4, 224, 1002, 223, 8, 223, 1001, 224, 7, 224, 1, 223, 224, 223, 1, 184, 218, 224, 1001, 224, -155, 224, 4, 224, 1002, 223, 8, 223, 1001, 224, 7, 224, 1, 224, 223, 223, 1101, 21, 80, 224, 1001, 224, -101, 224, 4, 224, 102, 8, 223, 223, 1001, 224, 1, 224, 1, 224, 223, 223, 1101, 67, 39, 225, 1101, 89, 68, 225, 101, 69, 35, 224, 1001, 224, -126, 224, 4, 224, 1002, 223, 8, 223, 1001, 224, 1, 224, 1, 224, 223, 223, 1102, 7, 52, 225, 1102, 18, 90, 225, 1101, 65, 92, 225, 1002, 153, 78, 224, 101, -6942, 224, 224, 4, 224, 102, 8, 223, 223, 101, 6, 224, 224, 1, 223, 224, 223, 1101, 67, 83, 225, 1102, 31, 65, 225, 4, 223, 99, 0, 0, 0, 677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1105, 0, 99999, 1105, 227, 247, 1105, 1, 99999, 1005, 227, 99999, 1005, 0, 256, 1105, 1, 99999, 1106, 227, 99999, 1106, 0, 265, 1105, 1, 99999, 1006, 0, 99999, 1006, 227, 274, 1105, 1, 99999, 1105, 1, 280, 1105, 1, 99999, 1, 225, 225, 225, 1101, 294, 0, 0, 105, 1, 0, 1105, 1, 99999, 1106, 0, 300, 1105, 1, 99999, 1, 225, 225, 225, 1101, 314, 0, 0, 106, 0, 0, 1105, 1, 99999, 1007, 226, 226, 224, 102, 2, 223, 223, 1005, 224, 329, 1001, 223, 1, 223, 108, 677, 226, 224, 1002, 223, 2, 223, 1005, 224, 344, 1001, 223, 1, 223, 1007, 677, 677, 224, 1002, 223, 2, 223, 1005, 224, 359, 1001, 223, 1, 223, 1107, 677, 226, 224, 102, 2, 223, 223, 1006, 224, 374, 1001, 223, 1, 223, 8, 226, 677, 224, 1002, 223, 2, 223, 1006, 224, 389, 101, 1, 223, 223, 8, 677, 677, 224, 102, 2, 223, 223, 1006, 224, 404, 1001, 223, 1, 223, 1008, 226, 226, 224, 102, 2, 223, 223, 1006, 224, 419, 1001, 223, 1, 223, 107, 677, 226, 224, 102, 2, 223, 223, 1006, 224, 434, 101, 1, 223, 223, 7, 226, 226, 224, 1002, 223, 2, 223, 1005, 224, 449, 1001, 223, 1, 223, 1107, 226, 226, 224, 1002, 223, 2, 223, 1006, 224, 464, 1001, 223, 1, 223, 1107, 226, 677, 224, 1002, 223, 2, 223, 1005, 224, 479, 1001, 223, 1, 223, 8, 677, 226, 224, 1002, 223, 2, 223, 1006, 224, 494, 1001, 223, 1, 223, 1108, 226, 677, 224, 1002, 223, 2, 223, 1006, 224, 509, 101, 1, 223, 223, 1008, 677, 677, 224, 1002, 223, 2, 223, 1006, 224, 524, 1001, 223, 1, 223, 1008, 677, 226, 224, 102, 2, 223, 223, 1006, 224, 539, 1001, 223, 1, 223, 1108, 677, 677, 224, 102, 2, 223, 223, 1005, 224, 554, 101, 1, 223, 223, 108, 677, 677, 224, 102, 2, 223, 223, 1006, 224, 569, 101, 1, 223, 223, 1108, 677, 226, 224, 102, 2, 223, 223, 1005, 224, 584, 1001, 223, 1, 223, 108, 226, 226, 224, 1002, 223, 2, 223, 1005, 224, 599, 1001, 223, 1, 223, 1007, 226, 677, 224, 102, 2, 223, 223, 1005, 224, 614, 1001, 223, 1, 223, 7, 226, 677, 224, 102, 2, 223, 223, 1006, 224, 629, 1001, 223, 1, 223, 107, 226, 226, 224, 102, 2, 223, 223, 1005, 224, 644, 101, 1, 223, 223, 7, 677, 226, 224, 102, 2, 223, 223, 1005, 224, 659, 101, 1, 223, 223, 107, 677, 677, 224, 1002, 223, 2, 223, 1005, 224, 674, 1001, 223, 1, 223, 4, 223, 99, 226]) | |
println "Part 2: " + intcode(5, [3, 225, 1, 225, 6, 6, 1100, 1, 238, 225, 104, 0, 1102, 57, 23, 224, 101, -1311, 224, 224, 4, 224, 1002, 223, 8, 223, 101, 6, 224, 224, 1, 223, 224, 223, 1102, 57, 67, 225, 102, 67, 150, 224, 1001, 224, -2613, 224, 4, 224, 1002, 223, 8, 223, 101, 5, 224, 224, 1, 224, 223, 223, 2, 179, 213, 224, 1001, 224, -469, 224, 4, 224, 102, 8, 223, 223, 101, 7, 224, 224, 1, 223, 224, 223, 1001, 188, 27, 224, 101, -119, 224, 224, 4, 224, 1002, 223, 8, 223, 1001, 224, 7, 224, 1, 223, 224, 223, 1, 184, 218, 224, 1001, 224, -155, 224, 4, 224, 1002, 223, 8, 223, 1001, 224, 7, 224, 1, 224, 223, 223, 1101, 21, 80, 224, 1001, 224, -101, 224, 4, 224, 102, 8, 223, 223, 1001, 224, 1, 224, 1, 224, 223, 223, 1101, 67, 39, 225, 1101, 89, 68, 225, 101, 69, 35, 224, 1001, 224, -126, 224, 4, 224, 1002, 223, 8, 223, 1001, 224, 1, 224, 1, 224, 223, 223, 1102, 7, 52, 225, 1102, 18, 90, 225, 1101, 65, 92, 225, 1002, 153, 78, 224, 101, -6942, 224, 224, 4, 224, 102, 8, 223, 223, 101, 6, 224, 224, 1, 223, 224, 223, 1101, 67, 83, 225, 1102, 31, 65, 225, 4, 223, 99, 0, 0, 0, 677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1105, 0, 99999, 1105, 227, 247, 1105, 1, 99999, 1005, 227, 99999, 1005, 0, 256, 1105, 1, 99999, 1106, 227, 99999, 1106, 0, 265, 1105, 1, 99999, 1006, 0, 99999, 1006, 227, 274, 1105, 1, 99999, 1105, 1, 280, 1105, 1, 99999, 1, 225, 225, 225, 1101, 294, 0, 0, 105, 1, 0, 1105, 1, 99999, 1106, 0, 300, 1105, 1, 99999, 1, 225, 225, 225, 1101, 314, 0, 0, 106, 0, 0, 1105, 1, 99999, 1007, 226, 226, 224, 102, 2, 223, 223, 1005, 224, 329, 1001, 223, 1, 223, 108, 677, 226, 224, 1002, 223, 2, 223, 1005, 224, 344, 1001, 223, 1, 223, 1007, 677, 677, 224, 1002, 223, 2, 223, 1005, 224, 359, 1001, 223, 1, 223, 1107, 677, 226, 224, 102, 2, 223, 223, 1006, 224, 374, 1001, 223, 1, 223, 8, 226, 677, 224, 1002, 223, 2, 223, 1006, 224, 389, 101, 1, 223, 223, 8, 677, 677, 224, 102, 2, 223, 223, 1006, 224, 404, 1001, 223, 1, 223, 1008, 226, 226, 224, 102, 2, 223, 223, 1006, 224, 419, 1001, 223, 1, 223, 107, 677, 226, 224, 102, 2, 223, 223, 1006, 224, 434, 101, 1, 223, 223, 7, 226, 226, 224, 1002, 223, 2, 223, 1005, 224, 449, 1001, 223, 1, 223, 1107, 226, 226, 224, 1002, 223, 2, 223, 1006, 224, 464, 1001, 223, 1, 223, 1107, 226, 677, 224, 1002, 223, 2, 223, 1005, 224, 479, 1001, 223, 1, 223, 8, 677, 226, 224, 1002, 223, 2, 223, 1006, 224, 494, 1001, 223, 1, 223, 1108, 226, 677, 224, 1002, 223, 2, 223, 1006, 224, 509, 101, 1, 223, 223, 1008, 677, 677, 224, 1002, 223, 2, 223, 1006, 224, 524, 1001, 223, 1, 223, 1008, 677, 226, 224, 102, 2, 223, 223, 1006, 224, 539, 1001, 223, 1, 223, 1108, 677, 677, 224, 102, 2, 223, 223, 1005, 224, 554, 101, 1, 223, 223, 108, 677, 677, 224, 102, 2, 223, 223, 1006, 224, 569, 101, 1, 223, 223, 1108, 677, 226, 224, 102, 2, 223, 223, 1005, 224, 584, 1001, 223, 1, 223, 108, 226, 226, 224, 1002, 223, 2, 223, 1005, 224, 599, 1001, 223, 1, 223, 1007, 226, 677, 224, 102, 2, 223, 223, 1005, 224, 614, 1001, 223, 1, 223, 7, 226, 677, 224, 102, 2, 223, 223, 1006, 224, 629, 1001, 223, 1, 223, 107, 226, 226, 224, 102, 2, 223, 223, 1005, 224, 644, 101, 1, 223, 223, 7, 677, 226, 224, 102, 2, 223, 223, 1005, 224, 659, 101, 1, 223, 223, 107, 677, 677, 224, 1002, 223, 2, 223, 1005, 224, 674, 1001, 223, 1, 223, 4, 223, 99, 226]) | |
//test cases | |
for (int i = 0; i < 10; i++) { | |
assert intcode(i, [3,9,8,9,10,9,4,9,99,-1,8]) == (i == 8 ? 1 : 0) | |
assert intcode(i, [3,9,7,9,10,9,4,9,99,-1,8]) == (i < 8 ? 1 : 0) | |
assert intcode(i, [3,3,1108,-1,8,3,4,3,99]) == (i == 8 ? 1 : 0) | |
assert intcode(i, [3,3,1107,-1,8,3,4,3,99]) == (i < 8 ? 1 : 0) | |
assert intcode(i, [3,21,1008,21,8,20,1005,20,22,107,8,21,20,1006,20,31,1106,0,36,98,0,0,1002,21,125,20,4,20,1105,1,46,104,999,1105,1,46,1101,1000,1,20,4,20,1105,1,46,98,99]) == (i < 8 ? 999 : i == 8 ? 1000 : 1001) | |
} | |
assert intcode(0, [3,12,6,12,15,1,13,14,13,4,13,99,-1,0,1,9]) == 0 | |
assert intcode(1, [3,12,6,12,15,1,13,14,13,4,13,99,-1,0,1,9]) == 1 | |
assert intcode(0, [3,3,1105,-1,9,1101,0,0,12,4,12,99,1]) == 0 | |
assert intcode(1, [3,3,1105,-1,9,1101,0,0,12,4,12,99,1]) == 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def input="""F4H)7LQ | |
TG2)G6N | |
Y6X)5MP | |
TK5)5KN | |
LLY)WKD | |
XL2)94R | |
BTG)PQ1 | |
DLS)LR5 | |
X4H)C93 | |
JK5)WB1 | |
GRQ)9RF | |
YVJ)1SJ | |
XPV)T62 | |
N6B)735 | |
ZBD)C78 | |
XYT)LSN | |
TTW)JQY | |
MP6)68B | |
BVT)VFN | |
YTZ)83Q | |
DP5)FCJ | |
61Q)SYF | |
7JG)D23 | |
5SF)QJS | |
8BW)F52 | |
4DB)ZLT | |
F1F)QQL | |
3XG)RYX | |
54Z)SJ8 | |
KDD)44C | |
GGJ)7LV | |
DRC)P22 | |
XD7)DXM | |
G9Y)VLV | |
7XC)BV7 | |
265)Y7N | |
JN4)8XM | |
RKX)ZDK | |
556)H6B | |
WKD)YDF | |
Z3T)B4N | |
T83)ZMP | |
3M2)5TN | |
83Q)SX9 | |
9R9)X4H | |
ZV9)YHM | |
PG8)7WP | |
23M)4N7 | |
SX9)QJR | |
V5J)VNL | |
XJP)M3V | |
YR3)DZX | |
6VZ)HQ1 | |
QQV)BCZ | |
JC2)2FQ | |
JCS)SJC | |
46V)H1F | |
F6M)17N | |
S7Q)7R8 | |
HG7)HQC | |
KGP)MD8 | |
X3R)679 | |
JWQ)ZNT | |
VNG)WHN | |
B11)YB9 | |
FBM)BLX | |
26Q)QTZ | |
5MH)72G | |
DK8)BJJ | |
8C2)TYH | |
CCF)1Y5 | |
5GF)X48 | |
MP2)LRM | |
GT5)1SZ | |
XJK)3ZF | |
WNX)CNN | |
JN4)ZWG | |
WK1)8DX | |
KPN)3TW | |
GMC)ZBD | |
ZX5)9RD | |
CD4)NC7 | |
H1F)4GC | |
VLV)DFW | |
2F3)7P2 | |
G6S)85X | |
49H)K1P | |
WCQ)Y93 | |
TF9)HL7 | |
2FQ)D4B | |
992)7JG | |
JBH)VHV | |
53N)WMR | |
M3V)43Q | |
C8B)MFX | |
D4C)PKS | |
855)4HH | |
WWF)GGM | |
KKR)88M | |
COM)KHS | |
LDN)CRH | |
FRB)KYK | |
FYC)R85 | |
L28)WBT | |
CM7)LT9 | |
5WV)Y7S | |
DF6)Y12 | |
JDQ)2KF | |
8Y4)XF2 | |
SP2)W7T | |
7C3)H8S | |
BD8)51R | |
Q96)7WM | |
BCX)RG4 | |
1CW)8VH | |
CSW)K6P | |
JRR)KSF | |
T7W)QBT | |
94R)XSK | |
QD9)ZDD | |
LD8)HC7 | |
K1P)698 | |
K5H)MDY | |
ZWG)C8B | |
X48)Y9L | |
6RH)654 | |
SRH)M15 | |
3ZF)LD4 | |
T3W)1TS | |
C93)MYT | |
D8S)HM8 | |
VQB)SYN | |
XPX)W37 | |
QLS)1F8 | |
JXQ)H9F | |
ZLT)BMY | |
758)9R9 | |
WMR)GP1 | |
3ZQ)K1Q | |
F52)52M | |
Q4B)CM7 | |
RPW)VYB | |
YYV)CTL | |
7LV)53N | |
3WL)KX6 | |
QCG)4SX | |
NYK)HVJ | |
F7G)JLG | |
RZH)B14 | |
PWD)963 | |
X5W)9MC | |
NJS)3TR | |
1MQ)JBH | |
36D)SY4 | |
YDF)Y88 | |
8KX)6VZ | |
215)TW9 | |
S1V)5CN | |
BWH)LV7 | |
2XT)CGT | |
ZRK)TG2 | |
MFB)L35 | |
MHT)M4C | |
NMY)KGP | |
9RF)C5T | |
SKY)X5D | |
HJ6)Y9C | |
TGT)2ZQ | |
YQQ)P89 | |
Q4X)28M | |
3V2)7Q5 | |
P3V)756 | |
L1V)M9L | |
VZT)P6S | |
N6T)MP6 | |
BHL)TLD | |
S6W)79Q | |
GB5)XD7 | |
6Z7)X5W | |
CFC)JS8 | |
2DJ)LZK | |
4HH)CXG | |
K1Q)TTW | |
B5D)HLF | |
8ZR)34Z | |
Q19)NV8 | |
28L)BHL | |
DVT)X8D | |
QGH)L5N | |
Q9J)X78 | |
WM4)TSP | |
RG4)514 | |
4K6)M1M | |
W8Y)NZ2 | |
ZRQ)VJM | |
VT8)B6X | |
RY1)JDQ | |
X8D)C1G | |
G6N)MN1 | |
6XJ)NMP | |
ZMP)7G2 | |
1JD)XL5 | |
M4C)G2F | |
Q3N)W7Z | |
PWR)3NF | |
2J3)215 | |
F33)GK9 | |
SDR)5XZ | |
53N)TZT | |
QJS)72Q | |
KWT)6Q6 | |
SX9)771 | |
4DB)97W | |
DN1)VY9 | |
ZH1)SCN | |
F52)GH4 | |
HS1)8N5 | |
MYV)CXP | |
XC1)LD8 | |
F5F)WCQ | |
4ZC)P3V | |
LR5)XL2 | |
2H1)BMH | |
K52)858 | |
NVX)85N | |
5JW)XNL | |
5RM)TF8 | |
TW3)4T8 | |
3ZJ)KZZ | |
WXS)37V | |
72T)RR4 | |
ZZC)Q19 | |
3VM)ZL3 | |
X2C)MFB | |
91H)TJF | |
GJD)CDC | |
LSY)FLK | |
LRM)L4P | |
65C)Z3P | |
7JZ)2XT | |
QJR)J4F | |
MKM)L46 | |
S2S)3V9 | |
MH9)PYK | |
ZBW)1TV | |
MDY)QXW | |
DXV)VGW | |
NB1)34B | |
9VS)YWD | |
GJL)2F3 | |
1BH)J4K | |
BLX)HY2 | |
HDN)TK5 | |
Q96)JLD | |
DWV)MV8 | |
BDF)NGQ | |
CFC)HKM | |
QG9)DK8 | |
TNH)1S9 | |
WHN)HC9 | |
WP3)VQB | |
QXW)SKN | |
QYZ)DG2 | |
6N9)NDH | |
Q7X)F33 | |
6K1)YBK | |
WK9)SKY | |
L5Y)X7V | |
1SZ)J2X | |
8Y1)2J3 | |
WFK)MTK | |
YKR)YK5 | |
VGW)YYV | |
PXQ)3WL | |
21L)272 | |
1CR)2DJ | |
SXV)J26 | |
V41)2VS | |
SRW)5JS | |
97W)K17 | |
R7R)C5H | |
9CC)P59 | |
KLR)DCD | |
SNQ)JB6 | |
43Q)JW5 | |
KQ9)6XJ | |
W84)HSM | |
PYS)YQQ | |
47W)2DG | |
NDR)PXQ | |
7JT)WZX | |
2N6)SZ8 | |
4T8)FV7 | |
9DX)BC1 | |
JS8)1CV | |
D4B)YMD | |
NJS)GY1 | |
GV8)91D | |
SCM)818 | |
L5N)GDV | |
T62)47D | |
SQT)R4V | |
ZBT)9F3 | |
LDB)NX7 | |
WTF)1WN | |
BLX)FMW | |
GZB)KLR | |
VJM)NPD | |
GGM)BFL | |
52M)49P | |
C6Z)3JT | |
WDX)WNX | |
C5T)2YY | |
QX9)96M | |
TLN)HQQ | |
BV7)51L | |
7WM)5DB | |
ZKK)YVG | |
SCN)MRM | |
8QY)7KX | |
8FS)MJG | |
19S)WV9 | |
QQV)KJY | |
6Z5)FYC | |
ZYL)RG5 | |
QMR)PH6 | |
68B)7FD | |
72Q)S1V | |
BCB)C4Q | |
NC7)9T8 | |
2XT)Q3N | |
54D)CWD | |
TSP)X2C | |
HFY)LNL | |
HL7)54Z | |
5KN)DZK | |
93Q)3PH | |
MD8)Y7L | |
CT6)RPW | |
YSD)M25 | |
ZWG)DVX | |
K95)Q8T | |
C38)JH7 | |
HNX)LSG | |
GZB)T82 | |
WVJ)J8R | |
3JP)8BW | |
TVN)B82 | |
524)CB6 | |
CHZ)GZB | |
1F3)YWK | |
CXG)98G | |
CR5)VNG | |
Q8T)DVT | |
H6B)K5R | |
B49)6MZ | |
4QF)9YT | |
3YL)F1F | |
2KF)N7M | |
9MC)K4Z | |
JLD)L9V | |
3GR)FYS | |
VHH)D5D | |
NPD)L7P | |
PQ1)Z1K | |
3S4)RBD | |
YVG)2WN | |
YBK)RKX | |
HS6)KQ5 | |
G3Z)91H | |
L5Q)LMN | |
M15)KQ9 | |
MZD)JSX | |
3PH)T1M | |
5Y2)1N7 | |
NX5)YM5 | |
VL4)69H | |
2GS)1D6 | |
47T)LHW | |
FW3)4K6 | |
XR4)9VK | |
MQ9)D4S | |
R2N)X6T | |
HM8)JTX | |
GGR)892 | |
TKL)QLS | |
B8Y)Q4P | |
3KF)4VM | |
8BS)9P2 | |
SYN)2ZC | |
KJZ)GGJ | |
CW3)R28 | |
GQN)Y62 | |
R9R)B5D | |
6FJ)TF9 | |
8N4)JGY | |
W66)W2D | |
T78)M11 | |
RR4)G9Y | |
5B8)3M2 | |
C8Q)13M | |
4HM)BCB | |
FQV)N6B | |
LGN)DST | |
MX9)P4W | |
VT7)4T2 | |
BMH)JJB | |
YZF)MP2 | |
B7D)HT4 | |
H7R)X2F | |
8X8)D4H | |
RG9)2VM | |
YB9)Q7X | |
TBY)FLL | |
GP1)3BJ | |
HL9)HFT | |
KQ5)LJH | |
5FQ)D4C | |
BJJ)MX9 | |
L3B)45C | |
TQN)32C | |
GH4)STG | |
82M)HSH | |
N7M)PSD | |
5V7)5TD | |
223)36G | |
4L5)ZYJ | |
9VK)62Q | |
1WN)CLG | |
37Z)JXQ | |
PKS)H6C | |
CXL)1TD | |
3YV)F6M | |
63H)943 | |
X42)ZGP | |
TLD)S3W | |
96Y)2H1 | |
1DM)FC8 | |
6SR)QJP | |
8F9)K95 | |
9T6)GQ6 | |
SCZ)969 | |
3TR)3VX | |
X42)RDS | |
13M)RZH | |
TV1)LDN | |
5PV)XR4 | |
TKK)8K2 | |
KJZ)QLH | |
HC9)ZBT | |
MKB)56X | |
KM9)GQ5 | |
H9B)FKT | |
QJS)HM6 | |
NV8)5JW | |
H2H)Z99 | |
56W)3S4 | |
586)82M | |
7XK)3XG | |
4T2)HTN | |
K52)4F6 | |
NNT)JN6 | |
WB1)X42 | |
LZK)SKD | |
XDN)TW3 | |
P21)WFK | |
7Y8)4DB | |
D5J)V5J | |
WKD)F64 | |
M1M)5F4 | |
F33)BPZ | |
SPZ)SDC | |
16V)J2B | |
7X9)YZF | |
7YX)95R | |
RG5)MJY | |
2NM)QKC | |
BPZ)ZBW | |
VK6)G61 | |
STG)46V | |
39L)R1R | |
ZG9)4BB | |
HDN)9YR | |
68W)3M1 | |
1M6)561 | |
5JZ)D1W | |
3VX)JTH | |
SLY)HDN | |
ZDK)2NG | |
5TD)54D | |
W37)9FG | |
5JS)NB1 | |
DTY)KRB | |
37V)9CM | |
F51)3ZJ | |
JKR)B8Y | |
D1W)WK9 | |
KXF)DWV | |
ZHB)7KY | |
VSM)B8P | |
8BW)FW3 | |
2LT)5VB | |
29W)1HY | |
3VX)5V7 | |
WBT)6QN | |
KNS)SH6 | |
WP1)4HM | |
CQW)3QW | |
PFB)43J | |
GBK)YC5 | |
LVW)5PV | |
VHK)VJH | |
2TS)LDB | |
ZHF)PTT | |
VJH)MQ9 | |
3HY)VF4 | |
2Z7)X5C | |
43P)FHB | |
Z75)X3G | |
LL7)76L | |
LHW)VF8 | |
1TV)8C2 | |
5VB)SPZ | |
Y62)HNG | |
HSM)VVR | |
9SY)6N7 | |
Z3P)CHB | |
J2B)SRH | |
J26)YSB | |
2KW)DBJ | |
99Z)SCM | |
7ZK)8NL | |
R7R)2GS | |
SH6)BGY | |
VTH)N44 | |
ML1)FF8 | |
LH8)8Y1 | |
F48)3VM | |
7KX)7HX | |
VFN)PFB | |
QJP)RJB | |
4L5)48C | |
VVR)MCW | |
8N4)NDR | |
756)PWK | |
NDH)X3K | |
NNT)H9B | |
L28)56W | |
RBD)W57 | |
KXF)PSP | |
2HJ)KJZ | |
6KX)589 | |
FV7)NMY | |
QMC)2TS | |
96Y)2HJ | |
HNG)WDX | |
4BB)R2G | |
51L)L28 | |
G5W)QTM | |
LD9)NMN | |
FRF)4JG | |
Z67)9GC | |
Q2T)L91 | |
CXW)K5H | |
YQN)VL4 | |
K5R)QZ5 | |
17N)H3K | |
SDC)4J1 | |
CLG)ZZF | |
C74)MH9 | |
TV6)39L | |
RP1)Y1Y | |
KHS)S4H | |
827)DCX | |
DS9)5PG | |
79Q)G5W | |
V66)ZTL | |
ZTL)6X1 | |
DZX)VT7 | |
PW8)G3Z | |
F4K)PXM | |
GHW)FP9 | |
6XK)NNT | |
QKC)CDS | |
C78)K6F | |
1HY)WJP | |
3YL)HLN | |
Y7S)KLJ | |
QTN)H6Y | |
WS5)XJP | |
1D3)T7W | |
5DB)6J3 | |
CHB)WVV | |
93Q)QX9 | |
CMQ)W8Y | |
DTQ)F1G | |
PRL)9HS | |
J2X)TJX | |
TDX)KT1 | |
YZQ)G3K | |
CM7)F7G | |
3V9)9T6 | |
W3X)BD8 | |
NZ2)MHT | |
C48)D47 | |
XL5)M1P | |
F4H)1NP | |
NJK)3LX | |
589)LG7 | |
YSB)GBK | |
X5C)CRV | |
R5L)WXS | |
HC7)Q4X | |
514)GX8 | |
Y7S)HG7 | |
9FG)SRW | |
Y12)M99 | |
45H)R5L | |
NXV)2CK | |
574)VHK | |
YNG)VTH | |
QYZ)ZYL | |
32C)XHF | |
D41)W9K | |
HLF)9PQ | |
W92)VZT | |
47D)MLP | |
HY2)QMC | |
7G2)SLY | |
DXV)MKB | |
3BJ)HL9 | |
W7T)PG8 | |
5TN)MQW | |
9GC)KWT | |
X48)Y6X | |
7P2)S8B | |
5VX)GMC | |
DG2)5X8 | |
QZ5)5MH | |
6YF)FZ1 | |
44C)2HT | |
7R8)L5Q | |
7PM)6VD | |
YWK)R3B | |
J92)W8M | |
H6Y)QGH | |
H9F)5JZ | |
P6S)T77 | |
8K2)38J | |
D5D)4D7 | |
FP9)QQV | |
GCS)H7R | |
DCC)9SN | |
1TV)72T | |
7FD)7CL | |
6J3)QRL | |
MSF)64F | |
3M7)CD4 | |
128)3KF | |
855)TV6 | |
8NL)WM4 | |
ZCY)C48 | |
9NN)D5J | |
QTM)W3N | |
QG9)1K4 | |
2KF)NWL | |
8GL)VHH | |
7LQ)7XK | |
YHM)ZG9 | |
LGN)YKR | |
MYT)3MK | |
L96)YQN | |
D4S)SRP | |
1QP)G2S | |
WM4)MSQ | |
LTV)YCM | |
2TT)6FJ | |
C17)8TF | |
5C8)YZQ | |
WVV)JVR | |
P89)GJD | |
GGQ)8GL | |
PK7)F48 | |
5WR)MB5 | |
Y62)HT9 | |
D41)QG9 | |
DFW)LKM | |
BV3)96Y | |
3SF)93Q | |
C78)7C3 | |
MFX)3M7 | |
N44)1M8 | |
WWF)NY2 | |
2WN)WK1 | |
X5D)N6T | |
96L)QL4 | |
J4K)J1X | |
G2S)S6W | |
GL3)S3K | |
3WL)2Z7 | |
RHQ)GJL | |
C1G)GYW | |
CSW)VT8 | |
ZKS)L3B | |
ZZN)YNG | |
3LX)DGG | |
HLN)N48 | |
F64)574 | |
ZGP)DXV | |
1M8)ZH1 | |
YM5)L5Y | |
GDV)NX5 | |
MQW)1T3 | |
1KP)W84 | |
DG9)K2W | |
6RH)BD7 | |
FLK)CR5 | |
FHB)7ZK | |
LD2)ZV5 | |
XKR)JC2 | |
GDG)5WV | |
Y9C)PYS | |
L27)GGQ | |
GYW)HS1 | |
679)SXV | |
2VS)8QY | |
72G)XJK | |
RJB)8N4 | |
3MK)WWF | |
MTK)F2W | |
HTM)LGN | |
RXP)7JT | |
X28)6Z7 | |
GY1)Z8Y | |
MMX)WP3 | |
3ZJ)FRB | |
735)2NM | |
1D6)8X8 | |
TN9)4ZC | |
DPV)739 | |
7PS)XPX | |
PPJ)BXZ | |
JW5)M5D | |
ZDD)1JD | |
1Y5)ZVQ | |
SJ8)45K | |
3ZQ)RYQ | |
43J)JK5 | |
MFX)2TT | |
Z67)ZKS | |
D2G)HK2 | |
GX8)5RM | |
M11)GNK | |
W7T)NJK | |
771)5VT | |
G2F)3R2 | |
Y1Y)D8S | |
C3G)S63 | |
B5N)8Y4 | |
BGY)KPN | |
GK9)6K1 | |
Y7L)H2B | |
CQL)DPV | |
F2K)TQC | |
38J)LSY | |
YVR)GB5 | |
M1Z)H2Q | |
FCJ)3YL | |
P22)8KX | |
1TS)F5F | |
QL4)W92 | |
CG5)D41 | |
MKY)WVJ | |
H2Q)1BM | |
DCD)PDC | |
3JT)47T | |
GQ6)RP1 | |
Y93)GCS | |
NMP)76S | |
3NF)YYM | |
PHQ)4QF | |
DR8)JXJ | |
64F)5B8 | |
BFL)PHQ | |
44S)8FS | |
85N)5SF | |
JLG)MSF | |
3BJ)L96 | |
DGG)GDG | |
CLM)TGT | |
J7L)TLW | |
HT4)7XC | |
WMV)SNQ | |
KZ3)9CC | |
G6T)X81 | |
HFT)4WW | |
VQB)HVR | |
GGM)JGV | |
KX6)SCZ | |
561)6N9 | |
NDH)BVT | |
DFG)PRL | |
NP6)3ZQ | |
1MQ)MKY | |
X81)1BH | |
G55)HS6 | |
4ZX)CQW | |
62Y)9L7 | |
D6B)6XK | |
2SH)63H | |
K2W)3HF | |
QQL)N51 | |
WZB)5YM | |
TJF)6RH | |
G11)348 | |
8YK)Y23 | |
KYK)W67 | |
JGY)77D | |
HM5)HFY | |
VY5)DP5 | |
QCL)67G | |
J7F)7X9 | |
LMK)68W | |
CXP)62Y | |
311)6PB | |
JTX)SAN | |
P8Q)7HF | |
1S9)FHL | |
48J)QCJ | |
KH6)D91 | |
858)RB3 | |
95Z)C9W | |
VS1)9DX | |
Y12)21L | |
CZB)TKK | |
Q4P)PXH | |
GBD)QCL | |
PXH)TQN | |
4X3)KW8 | |
RXP)XYT | |
7VW)1CW | |
5PG)LVW | |
KJY)QYZ | |
MRM)QL1 | |
KN7)3HP | |
JB6)C3G | |
H2H)7VW | |
4F6)TKF | |
D23)9KH | |
B6X)1M6 | |
KLJ)2N6 | |
NMN)8ZR | |
QTZ)SDR | |
C3G)43P | |
BRB)FKC | |
9PQ)BR7 | |
PDC)QCG | |
KRB)524 | |
Z5M)WP1 | |
K17)5VG | |
XNL)NCT | |
26V)C9X | |
9YR)26Q | |
QLH)RPD | |
5VT)FZQ | |
C9X)BR9 | |
M5D)SVP | |
NY2)8PF | |
ZZC)YCZ | |
Y23)GDP | |
LR5)855 | |
1CV)J7F | |
LV7)VS1 | |
783)CG5 | |
ZSL)3WH | |
L91)1KP | |
DVX)TYV | |
SDH)D6F | |
Y2T)WFB | |
5K5)NSM | |
G61)ML1 | |
HM6)Z5M | |
M11)HTM | |
XSK)LMK | |
XJP)45H | |
L46)WS5 | |
45C)G1K | |
1SJ)KNS | |
BC1)HCS | |
DHH)26V | |
GV8)CHZ | |
9F3)HVV | |
YCS)L27 | |
BXZ)WZB | |
VF8)NV7 | |
2ZC)75W | |
9YT)LD2 | |
QMC)TNH | |
BZ6)B11 | |
HKM)ZKK | |
CTL)WRS | |
MKK)697 | |
TYV)GRQ | |
XS1)L79 | |
5G2)XSG | |
1BM)44S | |
X7V)TN9 | |
NGQ)DN1 | |
HT9)VMT | |
RB3)8BS | |
SKN)6QL | |
ZL3)NVX | |
GDP)WTF | |
2YY)KZ3 | |
WDD)Q2R | |
TW9)ZCY | |
QTV)128 | |
J27)HNX | |
77D)GQN | |
52R)YVJ | |
VY9)ZHB | |
JSX)HM5 | |
MV8)KDD | |
Y88)BWH | |
2DG)K52 | |
ZVQ)3YV | |
PTT)BDF | |
75W)ZZN | |
RYQ)Z5Z | |
G1K)VSM | |
WRS)DFG | |
34B)FLW | |
95R)T4W | |
6X1)DHH | |
FGP)FPK | |
L1V)RKS | |
36G)5K5 | |
Z8Y)6WR | |
6Z2)D2G | |
X3G)TLN | |
4N7)DRC | |
SKY)S2S | |
2HT)DCC | |
X78)YRX | |
L7P)1DM | |
2NG)BTG | |
97R)1D3 | |
KW8)5HN | |
ZNT)WMF | |
Y2F)2Z1 | |
FZQ)28L | |
WZX)Q9J | |
CQX)GBD | |
LKM)KS8 | |
QL4)CMQ | |
T77)J92 | |
WMR)556 | |
TYH)LTV | |
Z99)D6B | |
FKT)8F9 | |
JQY)QMR | |
3WH)NXV | |
WMF)V41 | |
GQ5)QTN | |
N5M)MKM | |
RGG)BV3 | |
7Q5)S4C | |
7HX)R9R | |
FC8)FRL | |
MJY)F9D | |
4D7)F2K | |
348)DC2 | |
JVR)D1M | |
K6F)DL1 | |
M99)YOU | |
8PF)SYQ | |
L79)FQV | |
M9L)HJW | |
FHL)NP6 | |
J4F)7PS | |
XSK)TC3 | |
KZZ)Z75 | |
VHV)6YF | |
6QN)52R | |
BCZ)Z9K | |
6Q6)5FQ | |
J6N)DS9 | |
XF2)CCF | |
C9W)WFD | |
DCX)B49 | |
GNK)9SM | |
KW8)TDX | |
3M1)LH8 | |
KT1)3SF | |
YK5)16V | |
9SM)2LT | |
VF4)SDH | |
HSH)YCS | |
RKS)5G5 | |
TDX)7JZ | |
9CM)2CF | |
K9H)2KW | |
3HD)RXP | |
CQL)FRF | |
6N7)MMX | |
JB6)37Z | |
J2B)FTZ | |
9RD)49H | |
3HP)L1V | |
P4W)CZB | |
1Y5)FYT | |
2H1)ZRQ | |
JH7)6LF | |
DXM)RG9 | |
X6T)BZ6 | |
69H)GV8 | |
XQ7)Z7R | |
5NP)QD9 | |
JTH)4L5 | |
FTC)LLY | |
LT9)PWD | |
739)SP2 | |
ZZF)DF6 | |
9V6)Q96 | |
R28)4PR | |
C5H)GHW | |
7HF)DTY | |
49P)J27 | |
2LT)CFC | |
HQQ)JCS | |
F1G)NVG | |
JXJ)65C | |
W7Z)B7D | |
Q8T)VK6 | |
83Q)CXW | |
7XC)XQ7 | |
S4H)KM9 | |
5TD)R7R | |
45P)T83 | |
TC3)ZX5 | |
8N5)61Q | |
HTN)JRK | |
W2D)NRH | |
CB6)9H4 | |
HVV)73D | |
B82)DR8 | |
9R9)GT5 | |
X2F)GT4 | |
D6F)XDN | |
DBJ)KH6 | |
Y7N)1F3 | |
SY4)X28 | |
N48)29W | |
735)JN4 | |
SJC)19S | |
M25)BP1 | |
HK2)5D4 | |
3R2)7PM | |
Z9K)YSD | |
YCM)W1F | |
JJB)KN7 | |
3TR)36D | |
48C)RM5 | |
L27)JV6 | |
BD7)CLM | |
D47)ZWB | |
R3B)2CP | |
FMW)4ZX | |
FPK)JRR | |
H6C)NMR | |
HJW)P8Q | |
5G5)KKR | |
W84)ZSL | |
K95)CT6 | |
HQC)JRB | |
LSG)J7L | |
5GF)KXF | |
R2G)95Z | |
62Q)45P | |
Q2R)W66 | |
9F3)Q2T | |
969)XPV | |
H8S)CM3 | |
G2S)X3R | |
WS5)XC1 | |
CDS)F4K | |
TZT)W7W | |
6LF)9SY | |
5HN)992 | |
HCS)M1Z | |
GK9)XKR | |
BMY)G6T | |
RHQ)23M | |
PYK)TXD | |
VNL)6Z2 | |
7R6)QTV | |
HVJ)6Z5 | |
S63)HJ6 | |
CWD)CQX | |
R4V)TV1 | |
4VM)8YK | |
W9K)J6N | |
28M)586 | |
TKF)P21 | |
PSD)758 | |
5MP)265 | |
VYB)FBM | |
SKD)Z3T | |
7KY)YR3 | |
FYT)9VS | |
PG8)47W | |
RDS)CHS | |
LJH)F4H | |
8N9)MZD | |
F9D)3GR | |
4GC)G7Y | |
272)Z67 | |
DZK)X54 | |
NRH)ZHF | |
FF8)LD9 | |
WVQ)R2N | |
JRK)DG9 | |
6WR)WVQ | |
J27)JDW | |
B14)WMV | |
W7W)QM9 | |
D1M)C38 | |
SRP)RHQ | |
T1M)S7Q | |
RYX)Q4B | |
WJP)T78 | |
48C)BCX | |
892)JKR | |
SZ8)48J | |
DL1)4X3 | |
JCS)G11 | |
KS8)827 | |
1TD)65N | |
FLL)7YX | |
65N)783 | |
CNN)5G2 | |
586)311 | |
4SX)8N9 | |
9KH)C8Q | |
JJB)CQL | |
YMQ)754 | |
5RC)7R6 | |
ZWB)96L | |
XSG)3JP | |
T82)T8Z | |
ZYJ)K9H | |
WDD)G55 | |
YC5)9YL | |
2CK)86G | |
JN6)3HD | |
MTK)GGR | |
KSF)3HY | |
67G)6KX | |
DST)KRK | |
VJH)F51 | |
VMT)99Z | |
4JG)DLS | |
TLW)WQB | |
PWK)PPJ | |
YMD)ZV9 | |
FRL)FXY | |
TF9)7Y8 | |
R1R)M79 | |
98G)JWQ | |
8XM)5GF | |
TXD)MXZ | |
MSQ)9NN | |
4PR)H2H | |
NVG)PH4 | |
QL1)XMW | |
MB5)MYV | |
5XZ)PK7 | |
M79)3V2 | |
PXM)1QP | |
3HF)XS1 | |
4WW)B5N | |
6MZ)N5M | |
B5N)Y2F | |
TQC)FS9 | |
5YM)TMV | |
LMN)W3X | |
RBB)5NP | |
9VS)CW3 | |
2ZQ)KXV | |
J7F)NYK | |
2VM)6JV | |
2TS)1MQ | |
NV7)CSW | |
3JT)FGP | |
T78)YVR | |
WV9)YMQ | |
6JV)2SH | |
W57)Y2T | |
L9V)223 | |
F2W)GL3 | |
HVR)RGG | |
PSP)VY5 | |
7WP)PWR | |
SYQ)9V6 | |
9YL)6SR | |
NX7)V66 | |
D4B)RBB | |
1K4)TBY | |
X54)ZRK | |
CM3)6BV | |
73D)5RC | |
D91)5C8 | |
6VD)FTC | |
VTH)C17 | |
SVP)CXL | |
HQ1)TZ2 | |
TMV)WDD | |
RM5)DTQ | |
T8Z)PW8 | |
R85)5WR | |
7ZK)SQT | |
5X8)DT1 | |
FTZ)TKL | |
45K)97R | |
RPD)RY1 | |
CGT)T3W | |
TNH)1CR | |
H2B)TVN | |
5F4)5VX | |
MJG)YTZ | |
J8R)LL7 | |
85X)C6Z | |
6BV)BRB | |
YCZ)D3V | |
56X)ZZC | |
697)C74 | |
H8S)MKK | |
9YL)G6S | |
FLW)NJS | |
DT1)5Y2""" | |
def model = input.tokenize().collect{it.tokenize(')')} | |
class Orbits { | |
static int count(pair, orbits) { | |
def parentPair = orbits.find { it[1] == pair[0] } | |
if (parentPair) { | |
return 1 + count(parentPair, orbits) | |
} else { | |
return 1 | |
} | |
} | |
static def orbiting(obj, orbits) { | |
def pair = orbits.find { it[1] == obj } | |
if (pair) { | |
return orbiting(pair[0], orbits) + obj | |
} else { | |
return ['COM'] | |
} | |
} | |
} | |
println "Part 1:" + model.collect{Orbits.count(it,model)}.sum() | |
def santaOrbiting = Orbits.orbiting('SAN', model) | |
def youOrbiting = Orbits.orbiting('YOU', model) | |
def common = santaOrbiting.intersect(youOrbiting) | |
println "Part 2:" + ((santaOrbiting - common).size() + (youOrbiting - common).size() - 2) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
enum State { | |
PROCESSING, | |
FINISHED, | |
PAUSED, | |
AWAITING_INPUT | |
} | |
class IntCode { | |
private int position = 0 | |
private int inputPointer = 0 | |
def state = State.AWAITING_INPUT | |
def input | |
def programme | |
def output = null | |
IntCode(input, programme) { | |
this.input = [] + input | |
this.programme = programme | |
} | |
def nextInput(item) { | |
assert state == State.AWAITING_INPUT || State.PAUSED | |
input += item | |
return process() | |
} | |
def process() { | |
state = State.PROCESSING | |
while (state == State.PROCESSING) { | |
def instructions = programme[position].toString().padLeft(5, '0') | |
def instruction = Integer.parseInt(instructions[-2..-1]) | |
def one | |
def two | |
def move = 0 | |
if (instruction in [1, 2, 4, 5, 6, 7, 8]) { | |
one = instructions[-3] == '0' ? programme[programme[position + 1]] : programme[position + 1] | |
if (instruction != 4) { | |
two = instructions[-4] == '0' ? programme[programme[position + 2]] : programme[position + 2] | |
} | |
} | |
// println "instruction: "+instruction | |
// println "one: "+one | |
// println "two: "+two | |
switch (instruction) { | |
case 1: | |
programme[programme[position + 3]] = one + two | |
move = 4 | |
break | |
case 2: | |
programme[programme[position + 3]] = one * two | |
move = 4 | |
break | |
case 3: | |
if (inputPointer >= input.size()) { | |
state = State.AWAITING_INPUT | |
} else { | |
programme[programme[position + 1]] = input[inputPointer++] | |
move = 2 | |
} | |
break | |
case 4: | |
output = one | |
move = 2 | |
state = State.PAUSED | |
break | |
case 5: | |
position = one != 0 ? two : position + 3 | |
break | |
case 6: | |
position = one == 0 ? two : position + 3 | |
break | |
case 7: | |
programme[programme[position + 3]] = one < two ? 1 : 0 | |
move = 4 | |
break | |
case 8: | |
programme[programme[position + 3]] = one == two ? 1 : 0 | |
move = 4 | |
break | |
default: | |
state = State.FINISHED | |
} | |
position += move | |
} | |
return output | |
} | |
} | |
def findCombinations = { phases -> | |
[phases, phases, phases, phases, phases].combinations().findAll { a, b, c, d, e -> | |
![b, c, d, e].contains(a) && | |
![a, c, d, e].contains(b) && | |
![a, b, d, e].contains(c) && | |
![a, b, c, e].contains(d) && | |
![a, b, c, d].contains(e) | |
} | |
} | |
def partOne = { combinations, prog -> | |
combinations.collect { combo -> | |
def next = 0 | |
for (int i = 0; i < combo.size(); i++) { | |
next = new IntCode([combo[i], next], prog.clone()).process() | |
} | |
next | |
}.max() | |
} | |
def partTwo = { combinations, prog -> | |
combinations.collect { combo -> | |
def next = 0 | |
combo = combo.collect { new IntCode(it, prog.clone()) } | |
for (int i = 0; i < combo.size(); i++) { | |
next = combo[i].nextInput(next) | |
if (i + 1 == combo.size() && combo[i].state != State.FINISHED) { | |
i = -1 | |
} | |
} | |
next | |
}.max() | |
} | |
def puzzleInput = [3, 8, 1001, 8, 10, 8, 105, 1, 0, 0, 21, 42, 59, 76, 85, 106, 187, 268, 349, 430, 99999, 3, 9, 102, 3, 9, 9, 1001, 9, 2, 9, 1002, 9, 3, 9, 1001, 9, 3, 9, 4, 9, 99, 3, 9, 102, 3, 9, 9, 101, 3, 9, 9, 1002, 9, 2, 9, 4, 9, 99, 3, 9, 102, 3, 9, 9, 1001, 9, 4, 9, 1002, 9, 5, 9, 4, 9, 99, 3, 9, 102, 2, 9, 9, 4, 9, 99, 3, 9, 101, 3, 9, 9, 1002, 9, 2, 9, 1001, 9, 4, 9, 1002, 9, 2, 9, 4, 9, 99, 3, 9, 102, 2, 9, 9, 4, 9, 3, 9, 102, 2, 9, 9, 4, 9, 3, 9, 1001, 9, 2, 9, 4, 9, 3, 9, 1001, 9, 2, 9, 4, 9, 3, 9, 101, 2, 9, 9, 4, 9, 3, 9, 1002, 9, 2, 9, 4, 9, 3, 9, 101, 1, 9, 9, 4, 9, 3, 9, 101, 1, 9, 9, 4, 9, 3, 9, 102, 2, 9, 9, 4, 9, 3, 9, 101, 2, 9, 9, 4, 9, 99, 3, 9, 1002, 9, 2, 9, 4, 9, 3, 9, 101, 1, 9, 9, 4, 9, 3, 9, 1001, 9, 2, 9, 4, 9, 3, 9, 1001, 9, 2, 9, 4, 9, 3, 9, 101, 1, 9, 9, 4, 9, 3, 9, 1002, 9, 2, 9, 4, 9, 3, 9, 101, 1, 9, 9, 4, 9, 3, 9, 101, 2, 9, 9, 4, 9, 3, 9, 102, 2, 9, 9, 4, 9, 3, 9, 101, 2, 9, 9, 4, 9, 99, 3, 9, 1001, 9, 2, 9, 4, 9, 3, 9, 101, 1, 9, 9, 4, 9, 3, 9, 102, 2, 9, 9, 4, 9, 3, 9, 101, 2, 9, 9, 4, 9, 3, 9, 102, 2, 9, 9, 4, 9, 3, 9, 101, 2, 9, 9, 4, 9, 3, 9, 101, 2, 9, 9, 4, 9, 3, 9, 1002, 9, 2, 9, 4, 9, 3, 9, 1001, 9, 1, 9, 4, 9, 3, 9, 102, 2, 9, 9, 4, 9, 99, 3, 9, 1002, 9, 2, 9, 4, 9, 3, 9, 1002, 9, 2, 9, 4, 9, 3, 9, 1001, 9, 2, 9, 4, 9, 3, 9, 101, 1, 9, 9, 4, 9, 3, 9, 102, 2, 9, 9, 4, 9, 3, 9, 102, 2, 9, 9, 4, 9, 3, 9, 102, 2, 9, 9, 4, 9, 3, 9, 101, 1, 9, 9, 4, 9, 3, 9, 102, 2, 9, 9, 4, 9, 3, 9, 102, 2, 9, 9, 4, 9, 99, 3, 9, 1002, 9, 2, 9, 4, 9, 3, 9, 102, 2, 9, 9, 4, 9, 3, 9, 102, 2, 9, 9, 4, 9, 3, 9, 1001, 9, 1, 9, 4, 9, 3, 9, 101, 1, 9, 9, 4, 9, 3, 9, 1002, 9, 2, 9, 4, 9, 3, 9, 1001, 9, 2, 9, 4, 9, 3, 9, 1001, 9, 2, 9, 4, 9, 3, 9, 102, 2, 9, 9, 4, 9, 3, 9, 1002, 9, 2, 9, 4, 9, 99] | |
def phases = [0, 1, 2, 3, 4] | |
def combinations = findCombinations(phases) | |
assert 43210 == partOne(combinations, [3, 15, 3, 16, 1002, 16, 10, 16, 1, 16, 15, 15, 4, 15, 99, 0, 0]) | |
assert 54321 == partOne(combinations, [3, 23, 3, 24, 1002, 24, 10, 24, 1002, 23, -1, 23, 101, 5, 23, 23, 1, 24, 23, 23, 4, 23, 99, 0, 0]) | |
assert 65210 == partOne(combinations, [3, 31, 3, 32, 1002, 32, 10, 32, 1001, 31, -2, 31, 1007, 31, 0, 33, 1002, 33, 7, 33, 1, 33, 31, 31, 1, 32, 31, 31, 4, 31, 99, 0, 0, 0]) | |
println "Part 1: " + partOne(combinations, puzzleInput.clone()) | |
phases = [5, 6, 7, 8, 9] | |
combinations = findCombinations(phases) | |
assert 139629729 == partTwo(combinations, [3, 26, 1001, 26, -4, 26, 3, 27, 1002, 27, 2, 27, 1, 27, 26, 27, 4, 27, 1001, 28, -1, 28, 1005, 28, 6, 99, 0, 0, 5]) | |
assert 18216 == partTwo(combinations, [3, 52, 1001, 52, -5, 52, 3, 53, 1, 52, 56, 54, 1007, 54, 5, 55, 1005, 55, 26, 1001, 54, -5, 54, 1105, 1, 12, 1, 53, 54, 53, 1008, 54, 0, 55, 1001, 55, 1, 55, 2, 53, 55, 53, 4, 53, 1001, 56, -1, 56, 1005, 56, 6, 99, 0, 0, 0, 0, 10]) | |
println "Part 2: " + partTwo(combinations, puzzleInput.clone()) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def findLayers = { width, height, input -> | |
input.collect().collate(width * height) | |
} | |
def countNumbers = { layer -> | |
('0'..'9').collect { num -> layer.count { it == num } } | |
} | |
def findColours = { layers -> | |
def result = layers[0].clone() | |
for (int i = 0; i < result.size(); i++) { | |
result[i] = layers.collect { it[i] }.find { it != '2' } | |
} | |
result | |
} | |
def puzzleInput = '221202222022222022021222222222122202202222222122002202221222222222202022202222222222222222222222022222022202221222022222222202222212202222202202222222220212222222222222122222022222022212222222222122002212220222222222202122222222222222222222222222022222022222221222022222222222222202202222212222222222222222222022222122022222122222022212202222222222002222222222222222222222222222222222222222222222222222222202222222022222222202222222002222212212222222220202222222222022121222122222122222212222222122112202220222220222212222202222222222222222222222022222222202222222222222222202222202102222202222222222221202212222222022222222222222022212212212222022202201222222222222212222202222222222222222222222222222222212220222222222222202222222122222212202222222220202222122222222220222122222122222202212222222222202221222220222212122212222222222222222222202222222222222220222022222222222222222222222222222222222221202222122222022222222222222222222202212222122122210222222220222222122222222222222222222222222222222122222222222122222222202222222002222202202220222220202212222222122120222122222222202222202222022012221220222222222202022212222222222222222222222022222222222220222022222222212222222202221202212222222222202222122222122021222122222122222222222222222202200222222222222202022212222222222222222222202122222122212221222022222222212222202122222212222220222221212202222222222121222222222022212222202222022222220221222221222202122212222222222222222222202222222122222222222022222222222222202122222212202221222221202212122222022221222222222022202202222222022011220220222222222202022202222222222222222222222222222222222220222122222222212222212112222222202220222221212222122222022020222022222120222202212222122202221220222222222222022222222222222222222222202222222022202221222022222221202222222222221212222222222221212212022222122020222222222021212212222222222120201220222221222202122202222222202222222222222022222022202221222022222221222222212122222212202220222220222202122222122020222122222220202202212222022000210221222220202202122202222222202222222222222022222022212221222022222220202222202102222202222220222221202222122222222220222022222121202212202222222120212221222222212222122222222222212222222222202222222222222222222222222221212222212002221202222222222221212212022222022122222122222122222222222222222110222222222220212212122212222222200222222212222222222122222222222022222222212222212002222222222220222221212202122222122022222222222121212202222022122120201222222220212222221212222222201222222202202222222022222221222122222220202222212102220202212222222222202202222222122121222122222121212202222122222010200021222221222212121212222222221222222222222122222122212220222222222221212222202002222222222222222221222222222222122121222222222020222212202122022201220120222220222212220212222222210222222222212222222022202220222222222222202222212012222221222222222222212212022222212221222012222220212222212222222200212220222220222222022202222222202222222222202112222022212222222022222222202222222122221222212220222220212212222222112022222002222121202202222022022212200220222220202212222212222222212222222212212122222222202221222022222222222222212022221201212221222220212212122222202022222022222122222212222022022122202220222220222202220222222222211222222222212222222022112221222022222221222222212102220221222220222221222212122222002121222012222122212212212122122120200122222221221222222202222222012222222222222022222122002220222222222220212222202212221212222020222220202222002222022221222102222022222222222122202111201022222222210212222212222222012222222222222100222222122220222122222221212222222002221200202221222222202202002222012020222012222120202222202222112021200220222220201222021222222222222222222212222021222122012222222122022220202222202012220212212121222222212202102202002021222212222222202222202022202210222020222201222202220222222222200222222212202120222122102221222022222220212222222002221222212220222220202222222212222121222212222021222212212022102121201021222202220212122202222222000222222212212010222122102221222022022220212222222102220220222021222220202202212222222222222222222122212202212222212200200121222200220222221222222222001222222222122100222222122220222122222220212222212102220210202222222222212222102202212221222212222222212212212022022202210021222222201212021212222222102222222212122221222022002222222022122220222222202002220212212221222221202221102212212222222222222022202222212222102102221022222200211222021222222222110222222212122220222122202221222022022221212222202212221201212020222221222210002212011122022112222120212222212022202210210022222200212222221202222222200222222222002112222222202220222022222221202222202002220212202020222222221210022212122120022112222121222222202122112200201121222201211212122222222222212222222222012212222122022222222222022220222222222022222210222122222221222222202212122021022022222021222202202222002210211221222210222212221212222222121222222202122010222022222222222022022220202222222002222222222211222220212210112222010222022112220021212202212122122011202122222220211222220202222222022222222222002112222222212220222022122220202222222112222222222102222220210220002222012120022212222122202202222122212110211020222221202212020222222222002222222222102112222122202220222122022221222222212002222220222100222221200222022202211021222222222122202202222122102020222020222202222222220212222222012222222222202202222122222220222222022222222222222222220201202010222222201221012222220121022202221121222222202022222020210121222200211212220202222222222222222222012002222122212221222222022221212222222222221200202102222221221221222210110222122012222222202222202022102200222222222210220212121212222222121222222202012112222122122222222122022221202222212202222201202002222222211210112222001022222222221020222212222220102221222220222200202212120212222222102222222222202101222122002222222022222220202222222022220212212020222222212200122220001121022112220122202212222120112211220121222201022222022220222222001222222202202101222122012221222022022221202222222212222212202000222221012201102221200120022022222220202202222121002101201020222211111212020212222222110222222222102222222222202222222222222220202222202102222201202020222222212210022222001121122220221120222212202022202202220220222211022202020210222222220212222222212202222122122220222122222222202222212222222210202012222220011211122221010021021000222222222212202220112000221222222220221202222221222222212202222212112001222222112220222122222221202222222122220001222210222220012202122220021020220121222122222202202222122012210120222211002212020200222222100212222202012201222122222222222022122222222222212002222121222100222221101211012201221222020221220220202202212021202220220020222211002222222201222222211202202222012111222022112222222022022221222222212212222210222210222221101212012202211022021102220020222222202021122000200021222200010212122220222222001202202202212001222222002222222022022220212222222102221200202021222221212201122212122021021011220220212212202021002022212020222222212222122201222222121212212212022110222122002221222222022220222222212122222002222002222222202200112202220122021112221121202212222220022021211220222210122222121212222222121202212202012222222222212222222222122221202222222202220112202010222220101211222202021222022012222222222222222020022221212120222221101202021222222222211222212222112110222022122221222022222222212222222022221211222222222221101221122202220220022121222120202222202221122010210122222222001222222221122222021212212202012221222222012220222022122220202222222222221222212111222222222200202222211222021112222022202212202221022000202220222212100222022201122222210202212222102201222022122221202122222221212222212012221121212102222220212220112221000222120022220120222202222022112102201120222221222212021222122222101222202222222011222222212220202222222220212222222122222210212002212220222222202222110022222102222120212202202120012122211220222200200202022222222222210222202202112110222222212221222022122221212222222112222012212220222222222211022200122221220212222221212202222122202112212022222212201202022211122222201222222212112121222222022222202222022220201222212112222012202012222220022200002211010121022112222122222222202222022001221122222210210202021200122222222202212201202102222022202221202222022220222222212202221101202200212221020211102212022122120111221021212212222020112120200022222222221212221202022222000222212211012020222022102222222222222220212222222002220222222222222222022200222202122021120000220220222222202021022000201020122211011222021221022222012212222222112220222222122222202022222220222222212022221111212002212222110210022221100222120210221220222202202211222011222222122221010222121201022222211202212202012102222122122222222222122221221222212122221012212011222221201202022210012021220220222222221202202100122012220020222202210212222211022222110202222201022000222122012221002122222221200222202202222100202221222222021200012200111222021112221222221212212012212110211020022221010202120222022222220212222201012012222122022220002222022221202222202000221212222001202220001201112202202022121211220021211002212222012222222021122121012202021200122222110202222221212202222222012220102122122220220222202002221211212112212221120200022200102022021210221022210012202101202212222120022222012212022211222222012212222221112002222022012222002022122221220222022202221212202102222220000220112220210221022010220020202002202102222011201220022002102222021212122222001222202222202202222122122222222022022221220222112010221110212220212220101221202201000120220211222022220122222000022000200022122102012222221222222222020212212112012020222122122220222222022222200222202121220001212011222220021211222200002020121010221122212022222010111202210220122121220202120210122222120222222122012220222222022221022020022222220222022010220111222112202221120100002221220120021010222022220222212222002102200221022110221012221222022222210222202202102200222122102220212121122222201222202121221021212111212220100010012221211122020100221121201122212110020121221121120001122222021220122222110202202121112002222222012221002022022221201222112112221102212222202222112011002201000120121102222222220212222221202000210220221121010022020201222222002202212001112002222122002221122220222221202222112221221020202000202222020121112210210122120212220221202012222220020011202020220112100212020220122222012202212000022122022122102222122120022220210222002220222011202210222221211201202212111122122221220122211022202211121202200121222212010122121210022222121202202100202101222122202221112120022222200222122100220111202211212220120110102221201121022220222022220202222122200212221121020011011012021222222222220222202001112000022022022222102020022220222222122122221111202212212221102100202202110022120022222121202002202200210111222222121111121202020201122222120222222212122202022122222221112121022221221222002220220222222201212222211010002220220122220020221021222012202202220211222120021001112122020220222222100222212011012121012122222220122222122220200222212021220212012212222222200012122211112222122000220221221021222220202012201211021211211002220212222222212202212212222110022122202220112222022220211222112011221001122002202222220122012211201122121210220120211012202212011221211020121101000022122222122222012222222212212221212022202222202021122222221222002012221211222202202220120222112210101120221102220021212221222220011110201220121100010122022221022222112212212001102221202122102222102021022222202222022210220220212202212222021011212222020220022021222020201110212001120122212001121202110122221212022222221212212012011011112022202220012220222220221222212021221102102212222221101211002222211122221022220021202102202222021211212012221011020102020222122222101222212111111210212022122220112110222220221222002202220001202212212221220210122210021020122220220022200010202222112021210002120001102202022220122222122202202211002001222222112221122201022220220222102212221220202112212220012120222212021120020022221022211201212221222202202200222202000112021210022222101222012022202102012222002222102022012220220222222020221110222212212221122222012222010221122021222220220110212001111210222022120021012222022200022222000200010220100212112022022220112221202220220222112212222200112110202222022221012210111100121020220121222020022001102202201010220122200202120202022222011220001220121000022222002220202121222120220222112112222100112221212221210210022212020011220202220022221010112222210212202111122202121122222222122222220210222120210200202222212221201122022021221222100021220200102220202221012112212211201121122221211121212002212100211022221101120221002202111201222222111222222021121221002022022222211221102021220222101022220101022121212222210220022202010221220001222022211102112221012010200002022022011212021201122222122210011121220001202122122221010101102120210222210121221012012211212220102001022210102201120012212022011201112022012222220122020100221222011021122222222210001221002122012122112220122220212221202222202112221121111112202222212120012222200220121222221020022112112212210011212200002211112122200222122222122222100022202200222222012221120220222020220222121102220021022200212221112011012210212100020010220220100021112020121001222000110221012112100201122222100222122122201110012222212221221122022120220222212201221200022010222220100120012212200210121202210120001111022202010010210221012212200112102000222222112222122220111212102122122221222120222020210222100020211012000121202222202021202120001122022011202022221002122120100020212022000021001102122222022222020211012212102210112022122220011201220221200222010000211201211221212220211200012201100101120122210022100122222101200002210122200201120022122021122222210222020011210010222122122221001011202221210222111102202122100220222220100020112101200221121222200220012022212022210221211120100220022202120122022222200202001122212010222222102220210020110220201222002112222012200010212222121202202211020200221220220222002102202220000111212101002112111102101222222222020221120201101220002222112221210001221021210222102120221112201121212222220022222101011121122200222122110022022121202002210002211012110102110020222222110221001100220021102022202221110102121220200222020212211101012112202221200211212112201201021001222022012021222010000221220010222012220012020201222222011220100111020202222022202222100012102220211222100111210012020022222221000112022001201122020021201222112122122012100200220210100211222222222212022222202222112111120101002022012220112022022021201222021021201211102021222220112112112211020222200100210222120020112202100002022001212122120022012010022022122202000201111001022222102221101212122020220222212002201112201211212220011020202010210220021102202220101212202110020200001011210220010122022001022222022222111210200100222122212222212202022222220222212220220220221211022221000212202121010120112211211020201001212202211000221112100122011202012202122022112200220201212011112022212222121212101220212222121002200102200222022110212210021212111120200110002102100002120001211101220211022221012021211101111001110020002010110001220000000000010122211201020000101211002111121122220' | |
println findLayers(3, 2, '123456789012').collect { countNumbers(it) } | |
def layers = findLayers(25, 6, puzzleInput) | |
def layer = layers.collect { countNumbers(it) }.sort { it[0] }[0] | |
println "Part 1: " + (layer[1] * layer[2]) | |
assert '0110' == findColours(findLayers(2, 2, '0222112222120000')).join() | |
println "Part 2:" | |
findColours(layers).collate(25).each { println(it.join().replaceAll('0', ' ')) } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment