From bfbd6830a829124fbccd254b07c613e5a4e14380 Mon Sep 17 00:00:00 2001 From: Zack Buhman Date: Wed, 27 Dec 2023 23:56:57 +0800 Subject: [PATCH] add day1 --- day1.s | 126 +++++++ gdb.script | 5 + input.txt | 1000 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 1131 insertions(+) create mode 100644 day1.s create mode 100644 gdb.script create mode 100644 input.txt diff --git a/day1.s b/day1.s new file mode 100644 index 0000000..a9a52cc --- /dev/null +++ b/day1.s @@ -0,0 +1,126 @@ + .global _start +_start: + mov #0,r0 + lds r0,fpscr /* single-precision mode */ + +parse_lines: + +_pointers: + mova input_start,r0 + mov r0,r14 /* r14: pointer to input start */ + mov.l input_end,r0 + mov r0,r15 /* r15: pointer to input end */ + +_constants: + fldi1 fr1 /* fr1: const 1 */ + fldi1 fr2 + fneg fr2 /* fr2: const -1 */ + fldi0 fr3 /* fr3: const 0 */ + +_accumulator: + fldi0 fr9 /* fr9: sum of all values */ + +_ascii_characters: + /* alternative sequence + mov #'\n',r10 + lds r10,fpul + float fpul,fr10 /* fr10: newline (10) / + mov #('0'-1),r10 + lds r10,fpul + float fpul,fr11 /* fr11: zero-1 (47) / + mov #'9',r10 + lds r10,fpul + float fpul,fr12 /* fr12: nine (57) / + fmov fr11,fr13 + fadd fr1,fr13 /* fr13: zero (48) / + */ + + /* the less efficient sequence that uses more floating point + /* instructions: */ + mova _ascii_newline,r0 + fmov.s @r0+,fr0 + flds fr0,fpul + float fpul,fr10 /* fr10: newline (10) */ + fmov.s @r0+,fr0 + flds fr0,fpul + float fpul,fr11 /* fr11: zero (48) */ + fmov fr11,fr12 + fsub fr1,fr12 /* fr12: zero-1 (47) */ + fmov.s @r0+,fr0 + flds fr0,fpul + float fpul,fr13 /* fr13: nine (57) */ + + bra parse_line + nop + + .align 4 +_ascii_newline: + .byte '\n', 0, 0, 0 +_ascii_zero: + .byte '0' , 0, 0, 0 +_ascii_nine: + .byte '9' , 0, 0, 0 + +parse_line: +_parse_line_init: + fldi1 fr14 + fneg fr14 /* fr14: digit0 (-1) */ + fldi1 fr15 + fneg fr15 /* fr15: digit1 (-1) */ +_parse_line_loop: + mov.b @r14+,r1 /* r1 = *r14++ */ + lds r1,fpul + float fpul,fr0 /* fr0 = (float)r1 */ + fcmp/eq fr0,fr10 /* fr0 == '\n' */ + bt _parse_line_loop_exit + fcmp/eq fr3,fr10 /* fr0 == 0 */ + bt _parse_line_loop_exit + +parse_num: + fcmp/gt fr12,fr0 /* fr0 >= '0' */ + bf _parse_line_loop + fcmp/gt fr13,fr0 /* fr0 > '9' */ + bt _parse_line_loop + + fsub fr11,fr0 /* fr0 -= '0' */ + fcmp/eq fr14,fr2 /* fr14 == -1 */ + bf _first_seen + fmov fr0,fr14 +_first_seen: + fmov fr0,fr15 + + bra _parse_line_loop + nop + +_parse_line_loop_exit: + fcmp/eq fr14,fr2 + bt _parse_line_empty_line + /* coincidentally, ascii newline is also 10, which is exactly + /* the desired constant here */ + fmul fr10,fr14 /* fr14 *= 10 */ + fadd fr14,fr9 + fadd fr15,fr9 + +_parse_line_empty_line: +_parse_line_next_line: + cmp/eq r14,r15 + bf parse_line + +loop: + bra loop + nop + + .align 4 +sample_input_start: + .ascii "1abc2\n" + .ascii "pqr3stu8vwx\n" + .ascii "a1b2c3d4e5f\n" + .ascii "treb7uchet\n" + .align 4, '\n' +sample_input_end: + +input_end: + .long _input_end +input_start: + .incbin "input.txt" +_input_end: diff --git a/gdb.script b/gdb.script new file mode 100644 index 0000000..dd87a38 --- /dev/null +++ b/gdb.script @@ -0,0 +1,5 @@ +target extended-remote localhost:1234 +tui enable +tui layout regs +tui focus cmd +tui reg all diff --git a/input.txt b/input.txt new file mode 100644 index 0000000..bb9803e --- /dev/null +++ b/input.txt @@ -0,0 +1,1000 @@ +twovgtprdzcjjzkq3ffsbcblnpq +two8sixbmrmqzrrb1seven +9964pfxmmr474 +46one +7fvfourgkfkkbloneeightdrfscspgkdrmzzt1 +15two6six +htxxfmfd7nb +sixfivesixeight4pfsgxvn9sfjfk5 +pmjjpggvhkrq2 +tvbrkhlxdsnine65 +four5gkrptqninenbdvffour1z +foursgnlxmjtcrrfour7 +3onetwogkhmllzvrsqzhhnkvdg +nineninegxknqzpsix28 +1seven85189mv +gtwonejcncdlhpsxjrxnmpvfgtdrcdtd2nm +1ninemxzntjptl +qcmqfour2onesgplvgzkdltqtvzhtb1 +seventhreerxqvgkzqhfxfdhnp628zxtbjklkpdtwo +fjdsgcsqppzdthreefour3one3lvmpm +sixsevenfivefourxf4mzhmkztwonepzt +nineninesixskjkbhx6nineoneightj +four6nzqxhhnrg +86fiveone9dhrkkh6 +8ninetvnsrcsbpn +two43one +8vfvbrnclnmthree8onetwoeightthree +one2czxjgbzsn46ktj8twones +qfnlfivemqninextzppkfkb8 +ntvcmxsevengxdtc3five +8lsfkbbxkscc +seven5817smvjfpdktwo6mdfngz +92hqxbchfpnine +tvxbltz53oneninethreeonek9 +hvvjhd1 +six1six7sevensixqcvhsfour7 +seventwo2 +2svpbhrlhfjhbkf3fourvvspkfmbvztmtpcxndfnine9 +fivefour42 +sixvstzdtfive3qzmbbx +rfcxmthzlgxgrmjncszdvlnp6 +lhlncfjlhrqrfzr1 +cqnkmtfj5 +tctfngvrxljlt53pntbcfrftjpjvzqbqxh +6fgcdfive +4834sevenvssix1eight +rpxcthbpmhgrcxk4 +threecthhnine781 +pppqkscmthreeseven1sixfive +2tgrmvxpthree6 +7ckxjmlpkqqqjtfiveeightbmmdoneighttnv +six2two +lsshzhtdfour24 +mrjjgzsb92fivetwoxh3 +5fourcqhk3two85fiveeight +lsxpkxfmq97one +b87twosshtxkkplq5zkrrqcmfn +threeqsnd64hthreeldbtfkqpbqpdlmtwo +eight2one +14r +71fourzrmsevenseven9 +threesixmmcjzzml4 +stnmbsix41 +cztnnflpcl4txplfour +five6six4kxv +5oneqmmbnvgvbq6vsncbrjrsix7eightpzkhvrjz +kflckfgxfeightlr37fourfiveseven +9three7three +rkxbqnine7onevvqgzcvvjthreendkddfournine +fzzfstwo44vm +19648 +7fivesixhdxhlgmv9 +six9hzlctfiveonefour +66eightthree4nine +jcgk8three +tbctwonefive2eightsixbntmjceight +ninemrqkzsevengvq6 +rsmmpmrlmq92fourfour453four +6eightbmjhnpbgnccfninefonenineglkfgp +8onefive7kn +eightrgzfdksevenftbvkt455oneightnl +3vxtwogxpdhjmqskjc +shzvnlgvvvthreenkv14eightbcmjd +2sevenlbq +1zfjpz1mdfourstvj7zpfxxlqf +twogm22trvplbsk29rbjtvctqr +twoqpgcbskdgh2tktbbpnzll7twoxljpdhthree +5nineeight6 +936 +218ptffour +1clztnnsix1 +bsevengsxbpjmbg5eight +1cpeighteightpb +vrlnveight2twopxmtwo +fgrjr8six +5sevenspppgjtxbtqlzt +5sixczhncsix2qcqsevenfive4 +kgcdpqclsggzm79nine +eighteightone6sevensixthree +92eight7plhftxkntl1two +5dqrhhqrrgmvrqznbgx4three3 +twoone953cdkm5stzdbdh +heightwothreennzljtptwo94 +6sevensevenfoursix5nine +cnbslkngtk9five58xpqvgjpqrnpjnzbk +onebrcg1bnfivekftnzpclqxvhchloneightzrn +four855dpknm +4hkdseventggkffhrkvsixcrsqjsix9 +8seventwo +two9sixthree9cdrmqntmcv +525tg4h +five7kxrlmq1bzhdmhtgglmvzrtfbqqd3 +bnbbsbhlcbktsqlpq69ninesfxhq +gndxnlmnrmnk29qkfxfoursnnbvjtq +5bzppjrgcpk +2three79pmgtcgmtdf2fjh +sixmmpbmtznseven62 +4rrm +ztlthreesix28ninesix +j7fourfourfbrlxplk +zjhrqtqsix1 +4three6hhndrlszfrgphcbonenxfive +jmg8hfsxfsvdxz3four7jfbczjmdhbpn +39ptfzqjfpnpxrnf7eight +three6jrcrgpfxg8vxgk8 +57kvbczxn5eightfour +8xbdbrbpjp +sixtrhhl2tktvvmkffl5 +three6fgsjtmnine54sm5k +ninenine3stfpft2nine +one61onenrhmtwos +pzdq8 +pltd9sjdkrscxr25 +dzsldkmzd1 +vlvpfmz24sevenshcrvx389one +1rfvlnmfkdbmdjj +sixbzzbftqggn8zggtbcd +hzxzjhkvd5twofivedxfdlrdeighttwo +six9nlgcdznskrsb +sixrxkfhvsjxzbt4fivenineninenine +dsbmqpgmf8nine634two +fourknfzpthpf1 +two9twovbmldd +5zgnnrxtwo2two2 +fivezfvzfdxkmrbvtpdhqbmdhcthreedvlstmq28 +ppfqqq75seven954 +sgtjpsix3 +twospnc9cnchkzthreegj +3eightwoqs +goneightghmkgksqfk2two2six +sixthree6bjzpqlsbgq2rkbffxtmprpddkxv +rkv43 +bzfnbq8onefourthree4 +3mqvr +fiveninefflpllcqzonejqqbtwofive43 +tvoneightfour3three5 +mvhlv6bzbjggrsvvxh4dfcpmrnhnq4 +fcrsmfmpnmkfs3fivekblglhqmvfourchc7 +svfmfbdrgd81one4 +mf7threetwo8nine1 +qngfr4gnnxbszqzsixp +px5gfx7two5seven9 +4gp +8lxkgvpzxch6 +3mdgqrvtgnthqnhpxteightfour +onethree899btbpjnxxjhone +fnjdzx5vrzc +four5twofour +9fivetwo2 +threezlpsdhxvdlfpsvkxxnnine3 +hvnnq9two2fourpdjv +bvjkdg9four1 +2412 +threethreeszmhdndctj1eight8lcqtwo3 +cdnmjmxqrz6vrkkxtfour8cc +njldrqggdnfsix5 +9csxcksh6three697 +92four2sr32 +3jdpqdjjct44oneone75pjgkgv +576sreighttwosixxzqmj7 +twoscdxdlfddmfive54 +ninefiveznine33 +threenffnvx3 +916tpsgsxmtml8 +6five3 +fdztvpctnr5dmbjnrjslr +16four +4oneightk +three5fouronenm +threezrksvlbdb891zfbbcdrbpd7 +five821ndfftdbmbr3nine +ninehvdxftmgcvnkrlrvmmbb4nine +xkkzphgfv1two +3pm +ninetwobtjxdvnhv12 +fiverbkmfbx8fiveeightksjzphkrj23rdlrtnb +kseightwo2fivesix +5snpchthree3 +71oneone +6frxncksfxboneftdpvmnfdfxreighthrmnqc8 +two48mhgdtlp246four3 +993three8 +threenine7twohbmcrpd +9bpdccqbts +kptwonejntgcdqdfffour4twobvtxnhqkl7 +1637sevenfour +soneight6lbcrzdmhltpbkbjfivechxzfrqqgfeight +99five3hjvjrdmgl +qncqlreighthkfmbbfqx87five3 +7jqkdsfour +ninemmvcxlkcrg1 +mkdhgzcvmseven3onesnkhtxbgf7threestvjqn +nttgqsmsl4five1eighttwo9zg +one2ninefour5 +bdfbveightseven1lcrshdgxznineeight +qsnvsonezqhsjmfive9one +6kvdrgkgznf1cmklmxgnine6 +xkmzzdpknl661 +ninefoursix7gnbmzd37 +mmxmfnsrmt2bnhkmftxnjsix +fmhsrdtnrxlqgjttlgvmqxgzpl756sixllmdvblrvrrzkqgb +7xmppbvd976dqt87 +fourzdctfglzzf1xdbfmrbfeightwor +8thncgqzvr989lthreeseven +5qmrzeight169 +4qgvkmninegcsdgcthsp62onehczjhdxcgm +25tlppkmctwo2 +668four4 +rjbxtvfktchflstwo639one4 +seven6eight4onehfztk +five53 +nine33threethree3pznjbtxjmrrxm +19six +fivethreefivegxcqflqhjrn3fivehcn +vpbntqnpkjfninesix6341 +7eightb7 +bktffkqsx6fzvpnjhk +38jrjprtwo628 +77tplflrp7 +4one9one6 +pkdhkbxrbshccxgknrjgseven44 +49rthxdvlmeight +5twodhkpfn1 +znine2fbsmeighttwo7 +5ninexvmg +dbjbfmqtkp66 +mdsrdjdnxkzr3xfm +two9twofive3 +9kfivetg2five18 +6fivenine2 +2dlgpxsq7sixone6 +tnqxgjbnc9bhqbgtwodxssml +18sixcjthreetdtprgsix +65sevenfive9nine4seven +nine34fiveqjdqc +threetzvxrb5vspdhrmjcnhtrzkqhd4 +67nine8jrxt39 +443oneklzsrtwo4tbbvxblk +xp7fourseven +ktsrninemlldztwo5ghqfgh55 +five6eighteight7mtstgjlqmngzonetwonec +rmfourseventwothreedjtvf9 +rlsgqhhvcdvthreekzjdssslmsixfour5rxk5 +sgnfjqm4fivefiveone87nine +6twoonefive +sevenrftrnqrjs1 +bcfgjklzfbnineninefivesrpcqtwo4 +threek7seven1fxslmvnhmffqqvbfbhlceight +sixxzqz9fivethjgdv2 +nineonefivesixtcrjd5 +5645ptsjfrszgr8 +1threezkpgczxr8four3oneqm +tvlfrfcnlc56eight8ninesix7seven +7clvmrdvdgjg +7mcstlktwo +dlxlpchr3eight +3ninelrzgkhx85 +jlkqzonefourrvlptlxxgrthree4six +rxhpprsqtd982t +six4671nineonesix9 +eightsixtm9vngskjglgvrbsqgcmxczbqqvxqxfj +vxfmc1six1ninesixnine +39fivesixthreevmpm4 +xllclztxcxjskgfourlvggrvr25fourthree9 +31sevensixninedpfrvvfftc +three64ctshdpcsfdjth95 +fourgcqf8sixfivepsrdqvrld +5nine1qldrqhvfour +5three1three +6hjbgdqjtlppzoneninesevenqlmvgkq +eight1three6sixthree5two9 +17141oner +five1two7 +sxcfxblvfbtdtlkdpnineztnsfdkmeightvrr7fivejj +eight183krc8nkqk +sixthree38fourkgfbbv2sixsix +922threeeight4moneightsm +3threefive8bdzjs +onechvnhrfthreebqfive9 +8sixgkvzgnfkjrrxrxvbvgvx +meightwo1dnbbpzrxftwo8 +253lqt1bzfpqznz +klsgclc549rbksgrbbh56 +3xksqcrhdsthree +55nxbjvps3nbmf +7qzzfourtwo1688 +h5skqsrnnpxdone5fivefourkffrsblv +3fourfive2 +25stdpqvgmzg9qksix5three +fivenxhkvbscrxx1j4 +dtszrbcgpgxbh1 +fivefvrp159three +68mdjsggnbtwokmthtwo286 +xtwone7bkhjqkmmdkxvqtxfkpmckj5 +btwonetjkkdfqphr2gkknfz7one +ninejgnxcchjqsevennvdjvttnqqsix6 +395seveneight +lfrsoneoneeightfour6 +four9prvhcqdnrgjl +qhbkninefive73six8 +sixkqjtrs1hrmnt +5lmctnqtqc49eightnt +sixghthgcnpfeightseventwo3 +vvvjbvnjfeight41nine +9gkxpcrql9three4 +65seven4eightmjnh2gbjjstdgb +8four68seventhree +19924nine1lxnfzgt +fgjtbsfour4nine4vqfznznqxnsevenvzn +fiveone9bzshjmdvdsixxknhmmqskone8 +xqjzgmdmnfivefourthreemmksmdsix6cct +eightklfnlkb9 +rmtsdblmcghszsfgd66seven1bct +twoseven6 +psbfmmmrppdfm5ninetwosixnine +rkcgdnslc9pjtqvgdmbvpkbbksxgr +mxjpns69 +rspjpcv4fourthreesixfourninevlfive +2dgjgdn +66five8qxeight +five93 +six7twovssixsixztrmfdrrvgqtdhmh7 +32sqltqgoneightd +4five8tns1six +277 +pmrzrckf6 +8rglvpcttwo1twofive +fivethree644hrphp +fdpjb6 +dfkpmgxfgfmtklbffk4sevenfive +nhqfpnvpsqpffour6neightfour +threeseven9eight67three8five +txttqnnineonefiveninesixlbscpqp1 +three2sixtwotwo7smkmq5 +8bjzjrnpspnine5 +5three659fourfour +qrdrk7fouroneseven +three7threevhct +mpjpgfbt8five6fqjbghvbpcnine +7zonesevenzmlvfvzn +2hzldqdntffxhfpxlghf6threeninejrxngnjq +dfppvqcvthreessnnm65tqtn +56nine75rdkxdcmj +8twozvjkdltz4sevensixfive6 +vzpzllmbghcccksevenjgjghqjr98 +fgjsgxlh48sixg3three8 +4eightfbppqltgxttoneoneseven3 +six1eightddcthzd +fiveggljcppdeightnine5hsbfrtninenine +2xrdtzfnhpvpgone +982 +two7nine7eightnine4 +one431 +eight9fmbfqxgzlskgjrrksr8six +9zhvdllsszd +4pnkpxrgltkdbztlnz2 +4ninebkh6ninefiveh +five9ninevrzxhfnggfourfoursevensixlncsfdvrz +rqhjjxzeightnineseven7fnmbkrtqgr +8xfmqdone +pnszhd1trqb71gfhpjpq +9htfkgbxlht +sevenoneqgx29three5six +fourdlscbpbpb9four5jbdjzqqdthreerhqdsbb +five31sevennbmrbhtthreebzqxvthree +one4c +three38183threesix +6rtdclcbfbbdbeight1 +2one8xdeight +2sixsixtwo +nine3pcjthmlmtljkrzxcdxkbmgzneightzcmtwohpdpkvqg +9two81qlhsrnfpdksdkd +threejrgxc4seven26njlmtbheightwodjh +lrjzhghhpk342threeninejskdnjjltt6 +46threegj +ninedgpkqblftq2b3four +3951sixssgmjj3 +8jteight4 +three6mdvfkgrxcjmfoureightfour3 +hvbf28 +9fournine713six3 +four1seven +763twoseventwonine4 +ctpfmnsvcthree9sevencbqtjc3 +sevensqdhvxd36 +fourninergfmdxpdbt1ninefour +2kptonesixzpqrsqzhv +h4qcscfxfctjbqnff1sevengxvjjc3 +d8cnjksdf +hzcgnine35fcbxtlg8rjhzbjfkv +jdvoneightdpfvzvp758fourfour +four27jhrgqnrjnkzffour5 +fivetwoszrxz2fzfrbgqntjf +onergnqpl3 +ccfqnc5twothreefoureight +grgsgxsevenkvzfjppnzq2sztcfive +9two94onesix +nine7seven7 +eight36 +plgsevenvfljnqvtfq5two +threethxdbnz49two2vdxbpqtpb +cf9fkrbrvjhssptthree +one5lrcn3klrcphllmz9 +onesix6seven8tzgfdbm +964khvfxtrljs88 +trszhb48fmseven +tdfxvnhrzv8threesevenkgp +ninegnmjxzbtcb32four9mlpkbfqdxdkoneightg +sixnineeightnhlqfslb2v +one83fc7zs +pxfkljdbdqqqvnrfivefoursg5nine +2onevh +1fgjrsdlgnbmsbzsevenfive +3nine87pmsqqntwojtnrksdtwo +two59kltcxhzszhdtwo +6451 +sevenzscjhgpfgsseven7threeseven4threedlbtxtcvl +eighteight8sfsvhbkf9jgfrddx +qlvdplcqtrcj2eight4 +sixbcpxtjt4onetwothree69 +91fourrbblcl +twozvqbsx4 +twogfh73 +onesixljjrlonethree3rxtwofive +onefour62 +b7vfplpqnine5 +67dgbmmjsevenfivedktq +7foureighttwo4 +sevenctctvfg51tsbzqgcvpvslqb +mjkeightwo7eightsb6one5xzsix8 +151dht66 +93tkbs +29two +foursixtwo5gprqslprxkrbfbmsl1six5 +one3six3 +three66rbh82bgtfzsfrkhrv +2sixfivethreefiveseven +fcjttg4onesixtwofive +15seven54 +5kjdkr9htl +gclrsklbvkfbdcb9seventvdtdmmmksh52xkxtpmfpvk +spone7eight5xzjrlxrnzjtqgpdcgrsjn +vs3fourdkdlhx7rb +9ldxtdk3 +4dppnthreetwodvkhjjrqh1zbqxntvtxgchv1 +1sevenmsdrjgqfivevphqmxzghktwo6fdvkvqhj +tbptrcvxhs9qcdxcpvp +8five2ssrrhgtxfone +3clvbm2g961 +four2onegkhbdfive5vxvxvtxglg6hxrtlhzjh +kfhcmflznrg9qnkkxqcsm2vqqtrdg8tjkshzpnddvd +eighttwojfktjcrqthreepssfour39 +359nine2fivevvscbvggjhbnnzqtxfsbpb +vvshjlcfqt6qjvfjsix2tgsjbdxgppq1jmr +ninehhmeightcvqskvjptz2kdnhpptvkz54 +39threefourndztxcl +sevenfive7 +csmmpzfsix41 +9cgqxtpdxt2 +3mpzvlxrzvhtj +fourkqhzsjjjvx3six1 +52one +nineltplrl8tfzqmnqeight +sixfourdqrfvrvbvfzzgb6 +mqnxglzjk6qqhzksklvsmthreesixmvhmhbdkqpnxcsgvcsl +65 +zqconeone85three +rxnhdflsqdqglxdmfxlxponeseven4one +88nkgcglftwodfxfhzxbqdpfrqmtwonenf +jzoneight9htkkpszpcqvkmlvl +388xnq +9xhlrqnkjpthreedfknpmqqtwo +4onemfzjfvmhhfive3two5pjdcf +djqjglztxs5nineeight8jdzone +four35ninefourfivethreecnhntp8 +gxqxl6fourlfdtndgdql +fivenine6 +1pqctbpbbgrmgqfqbzbjjt6 +xzvjjfnfr28jblqseight +ctwone23 +6sevenqjtwo +8nineplhlmsgjvs1 +lmjgmltfivenine9 +8gxnnnjonesixtwotwo1 +2seven678cdxhkflhj3eightthree +djzninefour3one +vbqhjjhpzg86rkzdjzfj +eight1twotthreeqqlr +bkxseventhreezcjvdkxzksxrznp6four8 +five77xcvphzcnlfbgbxnqbhfrldg +71qxqdncxdjsix +eight6one6jnpspgmhngzrfneightzdnrdhj +xb9skhpnfjsmq +jxgtk618fiveone1zr +8dkdnbfr +3llplnp4dzdxfhbvbn7two +eighttcgrbhrspktwo6eightddxhqqbprrf +eight2mpmzsevenrcbmsqg2cxjvmblnqbqdjsl +seventwo54 +koneightsix22three +zdsnjr5vxrhkthkr8qmddrzclmrkprmvbll +fbkmfxncztwohjbfgkhgvcdkrpnc5 +ksprkgxkjnineseven3fivebjpqhrmbdtwo +fourpss5 +1three9fbnnrjcgllkvcs6 +oneone9kjchnfsv9ffcdspfive54 +26ninejctplmsgb +9ftfjrmvjblzqqmrdczpone3bphtmmkm +7lpssdtbc67mhnthree9cndbsthree +fourfour49four +nineeight8bzeight +128zpqftnxnqz2threettrhscsll +1xdtxcg4tkxtsnl +hmxbjczvgmcrd9mqsfivefourninethree +5hseveneighttwomgxmlmskr8 +zdtbtszzkbk5 +eight5nine6xthreefour +9rbfcnjztthree4v9vn +voneightqdtnrtc4 +86cnzxs2three5 +eight9seventhree +tjmrjgcfldqtbrvnzzxshxkrs3onefour +2rxplslzcglskjxgthk76cczdbxrp +sevenpdvsbhkknxqkqxfcz6bhmkxmhdbvhcvvhpmv49 +three1twotwopr2lctfjb +zrbrqmh87dmxzmtfvthreelsleight +34dcnd8eightwombx +two9xnqtcfgq8tsqzvd3three +nine5fq3 +eightsixfivemtcgzlbkheight4 +qlspgfndmx5twobtjgzgvzmcone +5zlldrzrffgggtwo648 +seventbqtkpfivel6 +hjqbmfnnqzmf4 +fiveqhdfsnjvqtwo6two +jftwone7 +4twolqvglgxcc +twoqjmgjtrrjjt1eightcpj +eight9sevenmlkpsbzmtnhdrkbmj +trrpdninesix8oneqxtrzf +5sixtsxqdbnczhbvmfkvkc +tvbf2 +sixtwonjssgpljqrxhlstfx4xbhqzlqktsixfour +kfxccb45tzsftztxjhgnxqsxknl29 +tworjdcgsgvsix6 +eightjbqfive26gfspjh3nine +2sqhleight7cfkhzrsevensevenfive +kzpzjcrl98sfive +sevenrsgtnine4pbgvrbcpf8 +25q3qkcxlvhrxdonednbtcrrvjlnngq +twothree4lffpxvfcgqrkvdgzdsdjxjsh +seventhree34seventwofive9ckm +three25skfkvqdmbmsixxgqx +three1eightthreesix4 +threeftjlv9 +6spbhfckxcdrxlcg6hxcfive6five +8drbfjrgzvs834slzhsbgrjm2seventwo +sixsevenfmrvpqbgx4ncrmvfkjx62 +lqfsslkmstwo7rgnqeightthreetnlnonehszkrghlnt +5onethreebxxfstvd +djchrbjcrddcqfourmnninesevenrdlpfxthr2one +three3threeoneninepcrjr1 +twothreernxmhmtbn2fourtccrqhqs +lzzdpfourtwo1six +two3one3 +zzcnprtjdr22286 +seven5qjlfrhj7seven8 +seven99 +mtztq6one37oneeight +mrfcssmzxpvcz2sevenfourfivelpzqkvvdxmmpmxqshskfnh +nine8rtx71 +1llzpvcdgmvoneonepksninefourthree +gbbvkcfive18two8twonineseven +2fivenztsix2nine +gjqnnr422seven4ppbsqdbpcfour +fourtwo5one7qfgpmmphdtl +pglzjrr4fivebclpf +slrrcqxxhtwoeightseven6 +dnknxxkbjplrkjone2threesix9 +htctqnkcmfqdxrzd9eight9seveneight +8sevenfiveninermlrrzpcdxkjkczhgpx6eightone +eighthnfxhrtssbmfxv6v +6fp539 +sixzmsfqjzpvxjkhfqcrbss7xgg15 +nine5ninevddknzczpxgzjx +jbcsf3 +jjbstlskzxc5nine +jlrvgcbch7tnpfjnczdsrgddrseven156fvdmfhtl +one89 +three52sevenlxxskf7gxh3gb +eighttwo59mqzdlqjdkkxgjhnktwoone +519six +1onemneightsixdlqx7 +7fgszpqcj +sbfjtrfvnv6four +qtwonedvkninercj8 +ntrnzldltrvtcsh8eight77sprgsvfdljthreecndckrzmjl +gtspn2 +54six6mkjznlb +sevenonethree3sbpjqgltv +four8two +xdzrskv3974mgvjlhzbkddhcxzzxv +6three1mtlxshtxfpnine +14threeseven6 +37threeonefpfgmz9 +three3sevensixeightfive1nkjtndgrd +2dsmr7qhmnrgbsrvjmsbctwovb +gkdsnnqzlzdvcgthree3fivedzvpcfive6one +3vkftsclsxtxmsjeight +sglkcnzgz4mnhgblxqgdv69 +tpcjb4one73s4 +sevenrvhhxjcfqgs32six1pjvltwo +8zmktmxkbc5mpgrtnxmnp35fttpmdbhfm +1sevengeight +hghs1sixvvjpmlcponethree8kckgkf +gkbpflqvh1cbddlvdkzhfmzcfourkmckngsevenxkjknplzv +5sevenfk5qgfshtqseven155 +dfjdtxjxb8fivefivebjtbggkdlpxlmnrcdt4jrrpnbtvlthrhmczn +2fivefivejxhh6 +41threehtwo4nhzdn2 +2fzngnxvvpjrqxk6 +53sdthreeninexrfone +6qmrthlzgqeightrzrdglxvscgr +snkmhszcbmthree5threejsvkpkknpeighthbv +cmgb9seveneight +5djnine3bcffxgjbrhxbfhgthxb +1flqjgsf2ms +fivefive7onefour +threeeightksmhj94jvfvqrsgqrsevenj +jttgbfmh9468ddshrxnjthsix3 +25four +9sixseventhreefiveninefive +eight5twoqrfgpkbdfc3qxfmchrjx8kpp +nineftnvllx1rjzkkt +gmeightwothree1fgfivejldgmt +nine966fivethreeninecpmgsxsxz +77bfhphxczdg2eight +89hcgjjtchsix +1onexps1 +3fourkgm +hjgnbninevxdtpnct7bmstnczzteight23 +twoone1qt8 +43744 +fourtfgn2 +sixppztkbvllkltbs51xknnfive +tqxoneight5 +twong3zdrbpqnb +fivebcrxk198three +435sfddjvfg56vkddkzhhj3 +qcnhlbzmbld2fivebsix +zfsrtwothree8 +nineeightfivetwomcjm2seven1 +3gbnxlzxhvzzgfjjhf44fgbccpthhnkpht +3ccmrkbfour68ninetwonebz +sevenrccgdjrqj9one +fourzgdfbsnlb66txclxgp7 +jmzlbtgbtl8three +6nine32pr +sixffcsmhlfiveklbmgj8nine +psmjrt65tppjqeightzqvglglnine1seven +fourninehhzh8seventwoone +48two2vzbrl +mdlzptrcsix3three9 +sevenlgr3t +7sevenpphjhvdhkheightwojv +seven3756 +four85 +4twoonettmxjncsqmgsrxsf +fivesix6twofvzqxpphzmlkj +eight1twojrzspbfbzkftwo +5eightthree5 +31ninecjnsevenjvbsvpphpxxkcnine9 +nine5vnine486vrhbkgl +sevennineeight97qpdlfbskz7sfbtm +onernqbxt8twoone +gftjrbmkmngtshchbgfc1nvvt5 +four5dgvsixzhlxnnmjhkhkljcfdpeight3 +ttmfdxhd3ninekzbtsixnfmvfour +8pfkhxhmh8xkghgdk +nhs4threemxjpbgsix1s +ghtwoz1 +sixdthree7vlfbpzcm1ndbbczvc +ninetwo183 +twofxsdt36fcthreethreeseven +7grvvzqhcbeightwopx +twoninevknhnkgdmhmlbxkeighttwonine4 +4fourdmclrghj2 +sevenmtgvr8four76fivekdqbsmmtq +klgpeight5sbknbhvsixfive6 +2vddxlzfpsrqsbsixlgrfnhone +jxfhlzcp6qctpqhb1 +eightd1162jsfcsplrctwogcpzlhqf +one4four7xx5 +threebqmzstphclb5fiveninethree +bkxfxxms6eightwoxz +nineeight4four +sdsgszdznng4sctkfiveszkdknqjf8 +vtzmnllvvhrcfdlxcxxlqvzst1 +htzxcxpvqj91sevenxrggdtjzbrgcv +ldcnbzstq4ktzdxgmcl +twohshbblseven4grzpdtfmjn13cmg +cktjnhdnine1three9mjqvnjtkseven +891ninesevenxbdjs +kxjpngdtwomxttdqcdkhdj686sixl +hsninefourcxfj3five3eight2 +6eightgkkr1one +658one +zqgrxfourfour8 +twobbnfkdtb9five21zcfiveoneightjgt +79jsm55twonine5 +eightftk2two +eightbjbvqscs5pvmb14lgvgfv +four4four +qmzheight5hgfourkgtqfhjfournine3 +twofzdqtvssx2 +1fivefivesixsevenone47 +xhrjffnine8 +oneseveneight72fqgzscqt5 +nine7fours58 +three2fourseventhree +35ninesix +qgjsrxgqb5 +fiveqghjjvjthree4eightqfgrhblkjtwo +9mvcm +96fourqzdsix +vbzqmmzbvrbxltvlfmcpfvnddmgsbb6four7onegn +three3qnlxmkhpctwosevenfourvmqmqlgfrsn +2seven5one2six15vgnqzpggn +sixljtvqzlh1 +45onesix +foursix44eightseventhree +djsix84rnx8z34 +1mkgthree8two9956 +psgnl6six5seventwoone +546cfgr2three +thtpczmkskptzn9pqzncp +31threeninesn7xhqvrsv +threehmjpvctfhnmhs57ninepzfvq +teightwothreesixdzqhvljk84nineninesevenb +gvptkx9rlsnmtwoonesqfxmzkv +7twojszdrxcxfour +3eight617npsbbrpkjtzsmeight +3sixqntvpttddsixninemtpb4 +1onefiveseven2fourseventwo6 +67foursevensixsix2 +one7qeightonehckxhxdfjjzsrdnj +38onehzjxg +4splxs1zfvfksevenkrzfive +fourfournkcj9 +1ljmbhcpttjnine +2xnvfpdgccxfivellztmtpnc +ljvlxplhxfsjqv6sevennine44nine +qdonefourlnrzrgthbt1 +twothreehvvhsxzqz1chvbcsxtll +82vmfjbvssmlgk2dbsljgvd3 +xzfbfmbbxfeightgfz3lvzpzbpmv1four +oneeightfd5ninetwo +ghddk7six7xqmglkvnqonesix +six1eight +7five5ptkbvvvfive +3hftgthreehcfrsnl1fivetwo +7six12onebhpz +mkqjv8bzdnt9sevenfourtwo +five3mzgqnm +sixtwocbjxlgvp1twoseven +dkfmbzmvxseven971 +bninetwojnsnkc7 +ninekzcpfive4five3phz3 +eight8143 +eightrzdmxzb8eight6 +5pdjm22ninej37two +fourtwo8fivetwosixthreetwo +ncttc71fourfivejpjzcgzpj4 +5882three8glcvgnfhscbtmnqmnh +ngxkxtwo9pltbbmxrknvjheighttwo53 +twoninenpqqqgsbsq3fjdk +eightsevensixhtsjvxjc8jxftgnptgqsixvcncglzlgq +sjxtcnt8gpeight7cbgffmgqksix +fdsn9threenineninetthree37 +19rrfdqtpmonetqjdcjtxlhkptccjn6mtztqhvvtqftbv +vrhprdjsfour28p4 +eightfiveeightninevdvnmbv58vrs +qdzhzrhlfl7hhxqzxqdxeight +svnbzgbhxjcx26xclfgs +5lcggbhzrmnknine83txffvcdonecrqvvjf +six5fpncsbbqbbcczcmbgrqmndxmrxloneone +1one6 +88gctsmp7eightrvshklprtm +xf874onehhcknx +sevenvvncrhvxjxnzsftkfhsktwo3eightfour +8ngprdqfour +98fmrxpxzzbrjpxzqdxmv +2zbxzsthreefivefhdbhvjjxv6btwonef +jzkjcvpn924qjcbr97h3twoneff +foursix3 +9pmtdjvrxjrponetjlxbdzbvrcjtc77 +52twoeight2fourh8 +kpzfztlzlkdprbmrhsjcxfzsbch31 +4fivebtfjmfive6seven +ccttxjmheight6twothreelnjmfoureightnvcvpmpc +6twoz1dzv95 +threelsmgdnxcsevenqr4xrtthzgkqxsrdssmjqv +fourgpvjxdg4qpvfivefive8nine +9mncmnhrclsq +9zjfmctz +pndgptggnsthree8xlcctvpsix6three +98npgrlkqmcninethree +fivexp6fourdpckhqpcxczrfbr +six2xdgsqdpsbmgftzvqhnjg +7ninepqheight2eight7g +2zrsevennlpcljnp +twoonethreevvpfp1jrhsevenfour +threebzmggv7bjm6cczkbsronetwo4 +three1foursgvfdrrqmk4two6 +onengzkkjsxsjlxxxthpd7xfcvkthreefour +sixnine5sixeighthlvmf +63gkmbsdc3fourmgrjhrlbqgcfxf +2bmldthree7skhhpxfonenineone +b6seven7 +seven39 +twoffxbsgpcxctmmvb4kdhn89 +seven1fmgtseven +ninegxbdmztzzbqq6lgcvsbhzplqt +7twoonev +24nine +tvjmbzlsjtrtdhdlvnffmcfoursix6sevenonebvq +5jpntjsthree1threetkbsh7 +sixone423fourqnczdxcpmsvjpzhl +33zdfourseven3 +77lltwo5nineseven7djjmdqkqfd +4xfnpfbtdl7 +two5ninejbrfrsbrsvzfivenineseventwo +89znjldjptdnfkeightkpcxdxcc3bkmfhtzkkh +qlkxd1rv44qlhhpjrninetwo +6l2rfscvcgdm7 +rhtsrbrmlnfvseven1eight23dd +7xcglznxrjzsmhqnkqjhbjqxnjpjx15six +fourfiveq1vcsnnsxkmrcjscn4sevendbbtjh +6qcvjplvnine91rfjk51 +jmdsgfxd5 +tlzpvtsvkdsixtwo95 +8threeeighthvhlqss +threetpxxlmfrhpf15 +4twoeightsix +rg8nvrtzxjvfddkeightwofzs +tggqninemk1 +mlchhftqkxtbhfpjsixnine817 +231rpkxcvcz5fcztnqskqtwo +five9hhrtmp9twosixthreeeightv +9threeschsm17 +hhreightfour171dtbmhzhhjb9fgbg +bhgp6 +fourztzlhdr2hbdlv8fivenine +fourseven8seven +eighttwo8eight +two12 +threenine76ndvklb +twoseven9jxfcthreecnrpvglksc +84fivehmf +jpgbtnrsb15eightgdtqmk +34two8eightbxqvc5nine +four4hsgjmtbfrvfivenine +threecfcx8ninefive3xone +cvhtlnlnhh71 +four9sevenonenine9ninejlgmtvxmxseven +vttchshfgfpdbmpmp338 +nfcdnhq6nineeight79 +rgltnqzrzfqdjsfrhzmfivetwogklxqdhzbjtwo5three +five3n69fiveninesixtwo +nfhheight12clcqcnpdbz6nineseven7 +eightgxtmstbthreedvrqllvp1ljqstbjdhcmbmbeight +two26four7three +6rtninethreefive +vhnqgdzzbxr9two7mdjzsx3lf +twothreepzxljpd6sixcmsxkcqkfive +6threesevensevenjzkcqthfivegmjvstrsix +five7fivetwofour +onesixseven767 +36onehxdpmcqxsfbfive +2hdvqrlhs5six +pjfcjrnjnk9four99nineskshccmmnvxzvhvqmcprkdqvhhk +4gronexqnzdfthreejgqt +kvrsixtwofive2 +eightfourone4hone +cgbjtdbvptworbcz3 +jpgmhfour1 +ngbgjhlstwokxc8onejlhczxvnjbrkqzdl +chbmqrz3fourthree +rgvmkpeightqdssbcgf9fivefive +5vgrscgshtbfgbljt5 +pxgq5kffxbdjgq5cjnpzfdt738six +meightsvfb47xcdfkhf5 +clzqdc4five1onexfxlxnltfourfour1 +fivesix3threeseven +tworgklxh1threefourcsrsbj5 +3fivepdppjlmmb6fkgrcbldbxsdjpbvbqgpj1nine +9clvlvsckdmjsbxzrmrhfour +fourlptwofqspctl913 +28foursevenrfjfive5qrfsl +gfhmkfln2jcqttonethreetbmcdhhvbnmqdgsbrrmpk8 +eight35qvkxtwo3fivevfive +26fivegpcqqsjr7five +three1seven4 +9fiveonevmxhtndtfzmnxvtjkmr51six +64vgrgtwofour +four9one +nxjtdt2three1three96lfzglzcfour +355six +9lvqslrvdrd8six +9threetwo35six +two57 +phpkcmfxvt7gphd1qglpmckhnj +sixthree1ffrdbsix4two +spbscvjfl8vvkpjkshkx3 +5nnjdbjj3 +bmmqrrkdcfbctmsk124eight9one +4rxdpvqlhn +seven13glpzfknqtxdqjq3qblzcjvx9 +8bnkbzszkxkrrfdmcstvfvp +nndndjrs1qd1421 +twovn9four8five +eightrc1 +ltjvtcqfzdfourseven8kvcx43 +vn6ninelr8 +2seven1 +7rldpqrfoureightthreesfhz11six +56fourkmvl6threegzfqnlrlz +8mkpcsnzmknmzpjppf8two7 +bzgvzcpkqxmbxcqsix4qjzt28eightwoj +threesixxqkshhnine7njtvvxfmjl8 +5seven6vqcd62sixone +three552 +hsslkhbd88zjhqvgtzpfour1 +oneone96fvjbmcnzrr +pspndcdtctwo6 +v3one9 +fivefournmrfrzghdh7twoxmpgkps772 +vdkqxqnsthreefive25 +kgjsevenczqrqf14pjchtfbnnninexhgn8 +lqkhzjzm3six1one3 +1three3l61seven +1flsfhznl +r8hnbpbtrzkstdg +hhrmnkktv7seven29fourpvjceight +2mbft +954five9fivegbmlz5 +dshbfdqdjjgtxffjmllgvxjfrstgldgdxjsfxbone9tgseven +fourseveneighttdgghnfive7pchxddgggcq +8zx5seven7pffldzjhdb8 +bpqslhkt33sixnlxckbbr2 +xqmxvjcplh4seven +jd9zxmz2two1kvsghkvkpz +9blk3 +6rjvmrjk46 +onetwo6ninehdrlnxgbc +6drvnkssqzv5jfnineseveneight +sevenmvxlzmtwox49one1 +8fxnnjr18fivefcf +five98sixkblsvns7mgttvhhz +85qkkg463lxdhzdtllqtv3 +fivethree5eightfivessrnhsmdrnvssxfgxmsix +xgmqjone7j +pkclcg54 +dvllcqqghh891pdlqnbtb6183 +2qbnqkgncqrvlfntwo +seven7qdfzfpfivepnbhrqx48 +682sixqtwotbgnsspzqcntlrhpzcq +2sffrxkgmsixfivetwokfvnlhz +sv9klzvnzsgjmoneseven +bzbppxbdpxs9 +68ninetwo99four5grdrrkpr +mtfcscprzkeightfzdbhdndqh1njdfourtdtflbfjrth +8nvdtbrfrvfivesixtwodzxfhgpzlk6cgkbr +3slmzvnine5fm +eightone16nine +kdzrjbh2txzz5hbone96one +17pgtwofl41 +eightoneqjvzv3 +fivetwocrhmvxqkvbeightfive1qzcxvds +2htzsvdhvqvdjv