diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index e69de29..0000000 diff --git a/CMakeLists.txt b/CMakeLists.txt index feb914d..1b5a897 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,59 +1,6 @@ cmake_minimum_required(VERSION 3.27) -project(AdventOfCode2023 CXX) +project(AdventOfCode2023) set(CMAKE_CXX_STANDARD 20) -find_package(PkgConfig REQUIRED) - -pkg_check_modules(Jemalloc REQUIRED jemalloc) - -set(LINKER_OPTIONS -Wl,--sort-common,--as-needed,--gc-sections,--strip-all) - -set(COMPILE_FLAGS - -pipe - -march=native - -mtune=native - -mrdrnd - -mrdseed - -Wall - -Wextra - -Wpedantic - -ffunction-sections - -fdata-sections - -funroll-loops - -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -) -set(LINKER_OPTIONS - ${LINKER_OPTIONS} - -fuse-ld=gold -) - -if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") - set(COMPILE_FLAGS -stdlib=libc++ -Wmove ${COMPILE_FLAGS} -fwhole-program-vtables) - set(LINKER_OPTIONS ${LINKER_OPTIONS} -fwhole-program-vtables) - set(LINKER_FLAGS ${LINKER_FLAGS} c++) -elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") - set(COMPILE_FLAGS ${COMPILE_FLAGS} -fuse-ld=gold -fdevirtualize-at-ltrans) - set(LINKER_OPTIONS ${LINKER_OPTIONS} -fdevirtualize-at-ltrans) - set(LINKER_FLAGS ${LINKER_FLAGS} stdc++) -endif () - - add_executable(AdventOfCode2023 main.cpp) - -add_library(pb_1 STATIC pb_1/problem_1.cpp pb_1/problem_1.hpp) - - -set_target_properties(AdventOfCode2023 pb_1 PROPERTIES - CXX_STANDARD 20 - CXX_STANDARD_REQUIRED ON - CXX_EXTENSIONS OFF - INTERPROCEDURAL_OPTIMIZATION ON - UNITY_BUILD ON -) -target_compile_definitions(AdventOfCode2023 PUBLIC $<$,$,GNU>>:_GLIBCXX_DEBUG>) -target_compile_definitions(pb_1 PUBLIC $<$,$,GNU>>:_GLIBCXX_DEBUG>) -target_compile_options(AdventOfCode2023 PUBLIC ${COMPILE_OPTIONS}) -target_link_options(AdventOfCode2023 PUBLIC ${LINKER_OPTIONS}) -target_link_libraries(AdventOfCode2023 PUBLIC pb_1 ${Jemalloc_LIBRARIES}) -target_link_libraries(pb_1 PUBLIC ${Jemalloc_LIBRARIES}) diff --git a/inputs/pb1.txt b/inputs/pb1.txt deleted file mode 100644 index 96a4980..0000000 --- a/inputs/pb1.txt +++ /dev/null @@ -1,1000 +0,0 @@ -14gxqgqsqqbxfpxnbccjc33eight -eight2sevenkl -mrjstg5onetwoeightgcczx8vgrgl -9246 -ninetwo2crrqk2grsctqxqbcrmrdsqbrz9eight -five6dlhx1 -29qhsdqqtgrk4 -mjgtrjnlttxjlsixsix5 -bgnnvfsnbpx29vsjrlmgmsqthreeqxvclkhlv -sevennine3gsmxncqlqvfktxrtcone -2mkzrqlmhsveight1sjtwo2 -rrrbvnrvnqfdh86 -94threeqrhkcpkeightfour -four83 -9ninehbsgkcthree1nineeightsix9 -57zfcgpf68 -hbonefourfour8lsnfgvf3 -seven79rqtqvjddc -two6six7eightqnmnppctxjrxbdxbdmbfkmv -9rdvkbxclk9fivecrxmtpzsxn8cmrzttlfour -nztfnthree2 -nxhjcqzlcxgdkmcfggc261gbt -xqfcdfdsrlhdktdjshllqgqshzmf7hpcdgdfcvntczdxxfqbvz -sbf43g -vsm922three7 -nthree1 -3eightjvtqcb1lkgkzhbgvl9eightfn -tfvv2zz5xmckbc1sevenfour7 -fivesix6two7cptgpfpd -3skfjrzbjpeightdkkkjq -68onefourxmznzlfivesixfqmfchn -12rzcscnkxsbc2ninetwo -jrmmvsdjvftgnrz33five -bhdxxmb36ninedmrlrstrmrbvz -1seventhreenbsth136kzrgdvvjp -7nrc6xpl -fourseven4nineone -8zxncrhffcmq9threeeight -5seveneight4three9 -8ghsxbzoneightg -qtwonesixtwosixvjmnhqbbx5 -sp1psqkctzqnldbdhqsmgsixfivepjnnvsxdldtwoseven -9ninethreefqqlztnrtgcbfourxdgltgft -zsix14sevenhqkgfh -nt3 -dhdsktwo9 -8cmjzrsmr -4bdspt8 -qvzgxjp7six -ninethreexqvzzqhjsthreefivetwo1 -kzhsgr5tpzhxeightpqkfj -twozclthmcx1phkcvgrlbj7fhmcph3eight -9lkctcvgxr2two8rxgkdbx -khfgllh7kchfq9xbnrqrseven -ninekqmvfour81seven -xsfpksix65eight -eightf24oneone -24581snlbjpfronenine -nine3eightjqshqxscvzvskspcmdzd49 -6mfqf5one -zrzzlchrfl167n1 -nsxqfspq9 -7mggsvthrnckcsctjsxlmxghqeightsix13 -sbpkxkmjkxcmg4 -eightonethreevqkjkxnnine2 -kntj2vkcnrkjonefnqddll6 -zlbnprltbkgmzpvtqmvzhpvhrb3ntrzhkrbvd6twoltkpsccvbk -6seven5196fivesix -vj8 -seven5fourthreeeight5 -lqzkbvdtxs3hbqr -7gmfzfcnrone66nqvkmthreekdhfkrhone -nsxftsvssone2fivefive1rcvlzltfdzcgsh -8five1eight -7ljfbvnrbghgkhstwo6vmnhxdteightfour -hdnxc4zjqrbr -5ghrjjbfshonek1sixrvnnkhpd5 -threetjxxlvqfvdcj852dkxlthree -xbpqlbrgcbkzvbjdt8 -cbzeightwo7npgjjxfzrvz66 -zktrxkjpchjxzmpq2 -five1lbdhrsix -5qldpfkqjkfjdzpfhf86 -vnbrnsskxphxv22 -4chnggbxmssnine3 -4k9one -2twoneh -6kgbvpsl5threecxf -562six6 -tsdvbzxpkqbkrpvht33hxhvmjnltwo3 -7fourone -ninesix2sixsix1fivenine -fourbqvbqftvzz88sjszkgxhrtlshkdjq -sfsrfsevenpgpmffthreezzsfb3 -8fivekvmzz4rlrscnxmx15 -jvteightwozhqsnvffxg3rsjmszc7fssnbhrtwo -fivenineqsvpgbkdxlp355nine -9jbfive -zsxzdcvsjln65 -nvcc52twonine83fq -gcnpqqfhq2 -jspfdkpxl4fourbstlcvdhxhjdgxvpzbvltwo6 -8sixsix -fourtwohsqhmnjmph7 -one3eighttwo -tshglpdmjbsgsoneplbjqcsrxseven8 -42sgr296mpkdz39 -bxsevenone25two -two8fivefour -three4cgjttdmfqonenine -eight5sixeightmxzzqmt795 -threebtnlmrrqgnine9fivezdzgldkxnbvhsvzqnine -one14tqvqgn1ninevkzhrqfqdjprzxb -cqqnine52cjmteightgbb -vhhkrrbhlp9dseight -fjzfmqv1bsvqbtpvvzcvqvxnlptk -five6three1zvgznsrvnpmnine -cfkxfmeight18hgkclhmcfcfsjzkztwothree -fivesevenonejmmrjvhznffive4jbrvdhlcpj -gbboneight47xfmqzt8 -sixmjnfmjtsszvc4sevennineonexc -kfsnggdldp33four -56hj2lqncdfghdbgdkzpkr -63five519bztrxx5 -3eight3six9xvdfhrcmsm -drcjrlst5ninefourxcm -4five3dmjbnbeightvxtbbvxdpfourjvj3 -lnmqnine855four17twoeightwolx -lnkffrtmv9t -mmhrvrpbvrcmpczvknkfourcqktxx73qbgd -khbrlcvdpxdkljvkhnfrvtpmbeightgzms2 -shbr9fzbvzhhqmnnine76 -x93 -3onec -v5xskfrg19five -ncmtbgdkfour7fiveeightfour4nine1 -3dtdjs38ggfljpdvv -fourthreevfpmztnzzcf96eight1 -onesjmdmmmcgnvhdnczfzznrvrggkgpcpcggqpkkkcfbq6qpsv -5nvhksixtwothree -d4qhmsljqhmcqlxln2dbd64 -zrshqtseven9zkpmzksqcsptfkkn -9pk -51jnqbzgnlhcglfour5three -8snxnxv3817 -tsvd4 -lzfxkxrcktjlvzbnsixfourthreenineeightone4 -lxdz9326threefouroneseven -6zkgmhktdnfive -zonekfbbcqcsdbkc4fivexpnhssdgbbnine -8zcdxcbhm7seven -1fldmtvgnine39eightdrmrtzkcthree7 -8sixxlztjhjkxtppmrtfour -threekvjx68twofiveqtzfg2fbhnhrdztv -6pgvzdbgjnlctwofourxzpc3xzdc -sixdxpnthgkfmddvqhrvsixsevenx4q -ch29onepqnine -sixlnh68 -1one5rqxz6nine7 -cone9 -fourseven3kddtmbjhnkz9kxhzspvtdngvsix -3sixnrjcxv1 -onemdts29zrbh -beightwo2eight816nnzfhptjhfqvqq -lfmxzp44cqkthree -gl4qsevengltwosix -2eight3qqkksrsevenxkndsxt -eightzxrflknj9jpbmt -knqjgjjjmkninezzfnbcdmqctwozskxsgd1655 -qpfdjsmsqfourfiver49f -vsix1xpglmcbdp -vgqjvzzcct7one674 -4csdttrsd58fivesixtwofive -bslfsjhrl8cszqrppqskthreenine -997foursixeighttftrnktp1 -3ndqmpzs6jkpcvjdltgbfgvlcn2 -lsxprcgkfivesix8eight9onenbdxqbl -seveneight3eight -eight7sevencvvshpgfg -8zg7two -5sixsixtwo -six7two -jjcxmsixhbtvfx2twoxs -9xtg -3onelvrpcvxk -ninetqzpbhxsspcfjlvsg3qlnbbqfxdqnine4one3 -xplhfgfour49 -jdrzrkkzdkgvhsvbm6bqfgpjbvhxlhtxhhpmmtmvqbgnmzpkm3 -hrjqkmvv1bzm2krs5 -vfztwonepdlcn96seven5 -1mpkqmccqqdsmhdgjjgrrtsbconehpfgfnjtxtqv5 -one9qn8threeeightnmqvfjkklg3 -5kgkst4ninegnqnjgmtdpfzspmkk -pmggrbfxghr53eight7mjlzgzv -4fourone -lbjfvxjzd7fivevllrtvfkmeight6 -xtl9 -ninevonevljrvx9 -sevensix7sixhbeightone -npzmcdtdqfpvonenine9rsktdrrnz9six -4six55 -eight646gdvfkjqsvnczbxtwo -5seven5jthree -cfourfhmxqjmseventhree2sgkxm18 -mfxnnjjxtjzlljgcnfpvb6cmknzb -4796 -kzxfnrqktwohmp9cclstwo -vgzgmc1zlsch -lvpnb1five216mbdxgvfkcg -3onezjnmv9fourj -two8vmpfmqmq6 -p8 -4oneeight45 -827eightsnvlrskzlbnineeightbtngkb -kdfxtjj2 -csthreesevennine7seven -hqqjrzkkkh84 -six42four -nine259five -8jngjtkdnine -3ph -8gccpsqfourtxtlbvmvb8n -oneonesix7jdkzfxkdvttwo26 -xkfsdgkjt34vq -98twosjrr5eight -foursixfive9 -17vmxlvqpqmvnfchhmxmdcpzgrsjl3nine -pmzscpthreevone3kdgqldjf48 -dzhoneightonevxtzqsqxxpgtgrdl73 -4threebbsttfhbdtwofivezsvspjp -jlstdnkjgdxszmpv2tgvpbdhdrkdjjvdbscv -4mqqxrsfrfhsbxprbxrgqseven -3rklddqfnczjfhjmkrgrkslxninesix -9jpcvnlvb3lzqzkvlnqsseven -8ngm64zxplgcdxzdzgfqmtworprmndddr -fivefzhdggmfslthreejmsrq8dxzdzcxsj1 -75six294xbzhjxd2five -56746 -jjxxqclf6eightfive7 -fiveeight9eight -npdgsll2twoxfzq -66fiveninerrbgrshthree9 -nine124nkcsltwoqdlvr -eight4vlsddsjxqthreep8xd84 -mqsbzgsszonexlhljdhdt9kjvdvbmqc -shpxspqrck441twoxjhgthz3fournjtxzgbs -2threegtqmddnine9two -rbdvrngvrjsllkrc542 -p6dckscjkhzfqvc -qblzhpspf4glsrbxm923six -4mfbjznone5svkgvsr47dvtbltlmns1eightwob -5sixsix1twofivexjn8 -5fivefournine4 -gzhzlbkzrlsix5seven3tm -eightpgqrhfqsix41slrs6three -five3dtfzfour -6813nine -3sevenrnhznczgb -mmcgrkjhbsevensevenvrhclthree2 -pfourthree9ninenine -9fbxvvtbzkttwoftv7 -mmthree94fbm -1vsblnklmm2zqmntkp -oneninefivenineone2threeeight -4sevenxzjfxbfdzgfgvjgjdscninetwo4 -64sixfrmtmjoneightt -gzzlqqjsevenone5 -1twoxpcqcvgmhbcm8thlrzmplqpkrbjrqr -jgjqqn291foursevenonefnrdhxt -3bvznvqd8oneeightzchdjvj -ntqtg1 -hsqkbfnxcbsixmvfhxrvxrvnineseven4 -bkztqhhbdzr1sevenonenine1 -v79zpdqfive -tqtwonesixlhhnvf77one1 -2twofour -eight89seven -7six6fmzlrttxstdrg -seventhreecbldkqd89threesevenpplfv -7hmhxpg -threepmvqfc5rktgjl4xvdzmhrninef -7qnlqhtrrk1sevenqfgpkdfc271seven -4gxrqspvg1 -zdgfscbzbdg8rvqseven -eightsevenfour5 -five8five -xprtcnxztmfgtwosnsix5six5 -zpjrhddxfzhdm7pzhxnzsp2six772 -43five92sixfivefour -6kjknjjrjkdfive5sixsevennjone4twonexr -11sevenhvsrb5fourhzxrmgfsl5six -2kbtkmsdfkdzmfplone -68onesevenone7one1 -one36eight -89srlblvkzrjone1 -7threekmzvhxpsdc1 -3648pmjmj4 -fivetwothree8eightonev7x -jlkvd1tgjvdqv48three5 -tvtwone1rhcbkfcj82eighttwofive63 -rkpvjgsfmhbvd7nckshnmzknine -8md7xh8bvsdmhjdxq -threejzrnnfczgzdmcchv5hv4eight -8lqnnnpmfourkndkf926 -651jfltzffxh -onehzk5foursix5 -three7sixfivefive5twonine -four3fiveonef57 -5seven5pbqmzzkqsp -none8five -6threefpqx9eightkhmrgqm4 -ndgmck187mjkxccsdhknine -2jtwomvxjnnpmcseven -bdfnkbhbbfvztpseven6kgknpxmxdfoureight8 -cxtwoskgklsqkdpfive8twohq -5seven67two8dlzmttpdh -cdkzhtk2fvmdtphsxk -threepqcgj8dkfgjp -56tgggrrgdnveightwolc -ninezsix1rnpponedpkqrpdthree -vmgtq3six9 -nhbjgxsixsrrftdt3fivedcdqqq -6fivevqxphgvrflbvljlone -ninexbjtwothree4 -heightwocjpppfive3vlcpc2bt -tbtxlftsnsnknine5q2 -fivemfqlxlpgbpjgnvpfthreefivejzcpkone2 -5dmzkpmpghsixthreenine4 -two9seventqzb578kmfrvlj -six855three -2kddfgninezgsonedptb -1cbbtg1kffourmjxbnvfgjfiveonemgbjtmd -5threec5nine -pvgd5sf7three1lnrfive -83mtfjsrln6 -khtglxc3 -qckdfjbz289nbhnthreehljqfklhmjvrgxt -5kmslxsixsix72 -jlcfmqh5nine -454fournine -jgbfzxdsfpcjpsdlhs5gbsnjxhsfivesix -scxsgsevenseven6fdkcpzm -cbznsevenddvdql431 -fivefourpj871 -xoneighttwo5css4 -sixsevenone49 -xpvktkbdzc6threenine7nine6cnxsdeight -6nlsg8zczsblcppjmbzlnthree3 -jlhzvzskseighttwo1twofivefournqzeight -smmsszqpv653sixsdp5onefour -8nhgxc -cbskddhjq1fourfourj -vqnjgcml5vvggqqlhvdtwonetg -4gdhf1bxrhlnslpnglcx7rhvgnhzjvstwo3 -8fourfive9fivenine4one9 -5xbggkdbkddmfknsxpv -9fivekkttcpntr -cvltwo4 -1four62 -9ninevc -nmfrttms6czdhrdchfkntonetwogc3 -8dfbqlpz9 -fivesixsix595nine4 -6mmpks71nine -ndhdkddjchhseventwo33fv8q -ninerbnhsxkninemdthft1seventwonvgdcgt -twosixbmthh3srhdtnljqlqsbxssnsix -seven22ninedplffive -xpsh1twoqmhkqqsjz -8vrxzhkq -5ninegr -five9nqcmxngktwothree62threethree -qffhltbnineseven9reight -threerqddxgmjnj2 -seveneightqxxgmrzxvhdnine2seventwomtkdmjbkfh -9vppxpsnpdfourdmtqtbm2hpgqlgr -seventhreeczjngnklxg3nsfqzqqeighthcggbk -fflnhnnzncdnh9twoqhx -fjpqseven5noneseven5nined -kdnhflninenine2eightfivemknllfgqspbcrjklx -jmgfqhchzmdfnpthhhcc291shhdqp -5bphvpcxvdf2five9nine6four -9gfpnzjkmlb76xreight9threeqvjxpssvrs -4hpsix6five1ptrdlkfmgr34 -1sixnkvfkvdfjqtwo36eightjnfz -bzstgfhrmmfourseven6xnfvonegzc -fivesix426vgzshhklnknbclnbbpm -k5threetrkghrbcn -13nine -1vlrvlxrsrznlpf -9tgzzddgr1b2 -6sevenrzvcqzsckkqbtsevensevenninehbmlxbzzlf -1991vkjhdp -9jkhnrjjv -6seven47sstqkbthreefour9bmkfbxrzp -seveneightnprhzf61725 -oneone7eight7cpll67 -8eight7one -23bthc337qxhmfbgsix1 -9r61vtgqklone -oneplh6 -four9kfmzbgxlhlxxjf -mhk95 -csdfsix71seventhreesevenfour -sqhrc39 -6three2 -four11sixtwofmvgjvseven1five -four4ninefourkmz2 -mqm5seven3five -sevennine63sixvtwo -81rrvgzzrkzmgsgffvgxlrfbmqxczhtl5tvj -vq8qmg7geight62 -1twoqmmfcseven4six734 -9ghstzndfnmzbtdscl -88twosix -8five5eightworh -ddqdflzbhr68mrdc9 -2threefdb77 -7nine4rbfknbtnsvljnqdtz47 -xrfdfcrtqssx79dvhzls68 -cvqjp6fxkdx9qvsjqptvs -hbzjllr1 -1985onezp2nine -6sixqk52lpftrt -zfqqj8 -c4rljszsspxnnvjl1two -78phbjhkmjltcrxqdblfthreeeightvndtwosksxsxccqz -453gnjntwosevensixfourtwo -2fpnkqlzvmlbbkfxmqgrgv3tbtrkmprx -ffive5f3two -2grzqfmnrld -twofiverd76566csz -eight4zftjjzrkx -onefour8nvrxkqzrfthree3hvzk -fmzqklgfh76lcpjxlvrmgfqpnine8 -nine9xjvvxdvksqrqlhqvrbjvx1 -vlfcpfvl8msxhnftleightwop -846ninethreetwo6two2 -4mjbcckzrhtwo -blsn3onesixfour8 -14two -five3fivesbhfour -onevpqdqds5eight -pcvcsnhv861oneeightfoursix6 -csix7vjllblmgjg -mmn4threesix5vxdsf -v1vx4fivefive4fivevjfjvkf -53tsbldc9skgcshbvxdd -1595bxscggsspvjnbxx37six -seven883 -35sixone4lbzcbgk -tlmvbhjnkknz3nineltztzpclxsixzjnbfvseventwo -rccrkvsvxjbchfive933 -5shkktwokfkkmrxzsssix -five93three -8six44snhpssteightwomjv -nine1nrrjrvjfml4dcklljns -pclkcskcp428199 -fivepjvbtstwojshbgxmdr24eightsix -6eight4 -mjjghhcqrttcjrzhjjrc2five -xkhxgsqjstsevenfour4 -3one5gvmhcbkkdd6 -v3nine9threepfphnkthree6three -ml8twoxnzgqjx1rxbpjnonezrp -one8dtxklgmlnbqhpxl4 -1foureight9fourkmp9 -6vzzdgtfourxtzglhxzvcs -rg4onejhpgsfgpdql -sqpeight488four7svb -63five -39khkbdllxv -bdnjhtcqrxrnnjflfrx5366ninesix -tworfrqzgl85twotwoeight5 -jxeightwo8ttdxhc6xqphg9ntmrtrmxfnjb9 -933rsixeightzbkqkb -1onesix4onefour6d -three6vxnhgxbdxxmdmmggmnxtwocrvftworpsdrrkx -5nineeightninezvf -5jfour -zftjzrfjz8 -8four5nine84mpcktbm -vgg6five5pr8 -3sixtwotwo7ppfsbfppbkmjtlktrx -sixnhcl6bxjxdmgt -pdqfvzgsps9eightj -sixfive87hjksxxbgz1prvfqnnsfmfive -tztgzrnineseventjqhxn3 -twoeight3zthree -nczc3two -jdklbdr4 -j93mnmsixt1 -2fivenine2two65xhcjfnddbqlbd -six48zsklgprrvklt319 -6seven1threephh2bldxvrlln -88threeone -hqktgxxtwonine2 -14fourtghmvcbbnkxkhrvncskgthqqfkgpbrln -threen7rnk5zgjfvtlcs -nine87two56 -859 -six8q7twohnrphb -93oneninethree4 -one7nbzmqdxmj5qfxzcmxfkx -3two2two96ninecnkbt9 -fvcqktlf8two -six4nine4fiveqjthree -91qgvlq6eight3twofive -79sevenfivetcmcsrvvlsl -6bnssix -threefoursix8eight2fivehpp -tlxmqclgdchq8 -threefourthreelbd15fiveknzhg -ktqk68czbjrbkrlnmg3 -oneonerptgcnqzt6fpthmjhgxc8 -rcbfpqhxgjfgfgjcm3 -bxbbqcvvlfivefiversxqpmcb87r7 -two1eight -96sevencktptc9fmnthrdthree -fivehkzxl9five -twosevengsblkmgfzqndznine2seven -two58rlnjdqninetwo -5fiveonesxhbkcjmctwosix -seventhree8952bpqccspldk -8fourpfcvrvc1one -bpbtcnzk27ninemltwo -five2tkqfivethree88ggmpg9 -seven6seventhreemfmnmmbsn -three61xrfghoned9eight -mcffvkprk1one -hvkxcdqcthreetqcr3threeseven -8nmbnhbdseven -bdzc8eight -bzp292one78rthree -ninexsixone71zdnqlcxrphnnbxsmpc -ninempgdsbbdr7 -8eight2367 -15113onelhgvmp8 -8f7gpjllpllptonecfhhpqvcr -ztjj6nine1xsltr4 -nine27gkkjnkcqzt -9gr28eightthblghdkf9lcs -sevenbbjnprlqh1tphfbhbgvlsix33fournine -3sevenfmccnzqxfsfnctfrfngtone -six9xcvlflj -9fqcz1 -one63one3kpnthgscdmtjprseven6 -tlrkvjcdx7txkzrvzcjcvvljfcljc -rfrsfive2ctdmdnqnpfzvvseven -1trdgtvl648frnstf -bxkqchjmphmbnjrkrxxcntpxjnine3sixnkffxsb -84sxd -397lfjmzbp -sixvqjthree2szblfstz -29six833 -bnfnnine8nvjjprkmfourfourfour1 -gb93b98cxblqxskm -3zmggzvlvscbkblhmj4zsevencxgjxsbsr -smf1 -zghrszzcvb5rtnhzktts4 -265qvrzllrctoneshgcbdsbeight -2eightbjvlsixmseveneight -tqfrgkqzbtxqcbxvjzgtp1four -pmrrnmtt1kcf8two -49bnp1tmcglrtpt -4three2ggmbzgqltsqzzjjn -six7frvkdsxdktwo -7cjsnbps7bgqzc -oneoneeight8xbfnnldvpdv -568 -6rhxfbn -nine5nine9fivekftqqgpttptrfstwonerm -three984 -eight99fourmflfdnxvbbmhqfgqkzhkffvmkjxjtngjb -fivefivetwo28zdjmpjccknine -5jjs5vpjzfznrngeight4 -five8one2xllhvb6six -threeninelnfkjrz14 -mhmqpq3hncgqgm43threefive -tjtcrbklrbzvnc4 -37twofourtwothreefour -htwone2threetwo3xtkgk72 -three9btgdgrpdvxkkb1gck1nine -qgnd4sevenone9one4 -lcstxnqmghgqzszkhnbf7threenine -five8four51ddl613 -3vslhppr -tworkcgshlckqjtxpkgcgbgppq6hdvshlntq35 -1eightfiveg5 -five7ztflnine4two -39two -tgone47pvb -37glxx23nhlmxvmvtwo2 -eightsix86twofour -46gznzktfqhlbsqz -171rldrjxcvbsfqmmzcdrnqhjphjqgktwo -6twob3xpfvfdxv79kqqcgljd -6three8hpjtvmvmjxkkmlvtwo -zdeightwomgvbfourfj6khtbsgttnsixeightstbnjmq6 -fhdcqdskf2 -mjssnpxchsclkhlh1threetwoxrbbxkcpkgsbxdxtxxbg -1jxzvllkb71vxxpkmqtvs -three74sixhcthreemgtbzsrh8 -sixtthfskgnine2three9seven52 -nhqzkththreezzsj8four -54fourtklcqcsltgvgqone -four7eightwoq -k3492scxsbbngtwofourtwo -two3ttwor -8snlnfbczd78sevenchzjdphrskjngfkseight -four1vxpvqk15ttcfkt -4twoqql -fhzj4lsvjg -7hstphfour4jsbcndd -7eight85qmjsixseven -1three6two -fivesevendxznmf9 -two54hkv6eight -tlkthdcfldvtzlnr7551 -168qtpcr -fourjlsmgtlvsevennine44hjcksrdfive9 -5cxtbmsn -2twolmtprmjhgndnkfive8qzrdfive -2vpstbjqlxgtpqkd -4dmcc35525one -486xgkdoneffvrleightnine -six1onefivetwo -b144lvmzmxfgntpjhzrk96 -gkgkgc7cmtghq6gbx5 -three87fiveeight33six -1hpkjqvz363vvzksonelfctrztjctthree -pfqdlvkrs9nfpmtnineone2three2five -48onetwovrnbz1two14 -nine5bgvpnjbltfiveonesixfive -nine4pqknine96spqdb37 -mfgcngxqxb41 -262sevensgfjjmdczrl -qzmthreetvjdxnine1gpjsmxtth5 -ninethreeplzkztkzlk1qhjvl4 -oneeightnine3 -onetk5 -fthkbqqfhrpkprhqmssix43xcgdzhtrf -twobhbtvtwo1three -ftbdrfnffzkllk59vc -6ncvrsm -7ftcmjbdmx -12fdnnnqvrrd3 -eight3fqpqlhfvbrqlhhvpdonedzlfive -fourktscmbltflone92fbcrpqhsevenhnpccrhb3 -qbtz5mdksqshdqxft96dvsix -tfpfour75dtgjjmzgjsgjbqdkpd -pxjvfivevhjbmqz4 -tknhlnldjm8five5bqbhzbsix -45zqht -3jrsvctdzpjjrbxznf25klxbnvhpxskthree -foursevenskzzthntbfivefive5 -eight84jtllflx2five8mqjnnl -5xxkcbgx6952qpzgpmczsc -five3mpqdccdmone -kninezsmvpjfhdeightbcnctnf8twosixone -34lpqxkcfjvsixshpnsixgrm9 -glhtgtsq4threetwo3 -eightjbtpnhvhxk46sevencfklxxvdvveightldqqtdtk -fsdfhthreefivesixrkdrgk1thjlfflx -ninekxr6djghngtqninefivethree -3qszkcdvcdl -9sevenxzcskrpgfiveninevcdmkpqqpp222 -jmgt6vftshlq1 -4mnmtbvdznmpmpkrp -94nine972 -rzthreebsjvthreenxqm2 -dxhrstvj344seven -1eightfivedtsstwojbxpnhjnzrgx9three -jlkt3 -fivethree7rfour1fournine -rzggmhlvfivesxzfour363 -4npxrvmxmmc7qjbcrhzsix5lbvkjpp3 -eight7ninefivernpv4cddqhtvkb5 -5threesevensixonesjvxjp3 -5tppjjgj4five -boneightthree92nine5tjppmvhtrfive -threettgpkqcvjzdbjgzk9four -6nzllfrrqkbgseven4nkgdddzbnhr -czjbvrqkone3 -msffqxbxc4294 -one83dxstl7 -32ghhrdt5 -eightsix27two851 -1pmkltwozrx295 -j5982 -81pspmvbbjninetxvpg -six4pprdn4twozpqndgdninefour -3hfthcgqq8682fivefcrfxxgd -nineqtxeighttnine6dttrznddl -htktrcx6gqv5 -txsixsnls1 -52eight -76fivefour9 -eight8tjtc -four3onejlqvgl11436 -dlpdv36 -7foursvdjchltr7qjsj -pknqzgvv3qsltsixfoursevenzggprjvz -3eightfive8one2two -z2eightwokcx -2sixnlhfbfsfeightseven -884qmtqcdcrd4 -keightnine9lpmspq7ninefour -43eight4five7 -twofourfourfourtjfmflt7hcxfpf12 -sevensjpbqjfnqtgcjtktfjhrdv5cr -6ztdzvcsqm -86xsdx -eighthmfgbvsixxcd35zfblslpthree -seven8twoeightpnzrsqlcv -fivezmbqpxhfnnmvbsv61seven63 -5vvddrt1onemvmdsvvfive -7sixpfblcglgj51 -s29 -qtdbb4oneone1onethreesevenseven -drj7six7 -6cfhssixnnjgcxgnmssevenmbfzxps -xbqdclktfrmlq5eight294zvtqhszfmtzd -8rnrcpphkrmfnc -seven77 -9gntctbb -tjgvxtbcn55mcjhmkgzkb -fiveseven9dfllnqdntjonemdztmclc3five1 -83zxfive -87tjnbrxnhzpnthxpnxgczmlghjppfgghzsixfour -6rfivetwonerhn -3cnzlm9eightlqgtjppxj -onefrttlfjthreefive3eight7brmcdrzdz -threeczbzscthreefive551 -2433sxdfjzshrfdpgseight -92gfsjbjdbd9bhsqjpx3nkdpjxs -71foursevenone -6ninedlf6ldnxdzhdtwoseven -fivegcpj6 -xssdl7 -3kcnqqhc9 -sfsrtwosrpjlhbcng6 -mvgeightwotbnzgrrc2tz22bpv1eightfour -94msix2 -tdzkqnbdrmrxfpm7sevenfivekqmhqldjfour2six -sixthree9three -1953seventhreenv5 -2onemhgmxdktf -5fiveoneseven8 -frfvnqxtmthreeeight4 -rphdqh24eightcpqxfjqqrchbtwo7 -76fivebjmcnfrnvpfour -8nine6mrxvppgvjsevenlhtrtnsxmzdnkhhjfcnfd6 -hfmjnine8 -one3rvbjqtfivecc -five6fbfkpdvvpfjq3kdbvhtrkvgqz -two2sevennined7 -five8fourseven398 -sixqccsqhgvhd3k1five -4fgthreesix -4xqgqfxltzx28jrfpqdmbtwo -three35twozhgkpltmvbfsdzkfpbrkq -zxcdrkhd8onepcmtkfmtkrphbhcfivetqhxrnttwo6 -six36rsvpjcj -9fiveqqdklbkonejpvxxteighthvthdsb -six32 -five83rthcrgdjqxsevenfive3 -ninerdrthxkhnz7hlgllpkgjc -jmzsq3two -seven9kmcmbvztgsseven7foursixfourseven -xpgtcr5hxgjgdxrz -rvgdt1b3sggthcldlsevenseventhree -seveneight5fbljmnfsdqc7sph5 -onetwo1nine8jpgthree9 -6ninekfqhgrtplninefive8 -fxsmdhnjgx3ngqlsjtjnq4vqcrmgfqcnffnvdgt5tmddtbhx -z49 -5eightone -6fivehkv8xtgthreeninesix -hshtfdbf82 -bgvonesevenrdtbhsl6zqxn13 -hnlgrrsmhskmxbmxnineseven55 -kpeightwothreezmdvm35onefiveseven -threefourskjcsmhjr32 -154nine8nineone9 -sixtwo77nfgncfzhbcbthree -dnxddftf7qxnxt -six2qlkmkgsfgdnch35hfqpcbvk -145 -xtqpx8nlzqhmbfpjcqqz9sevenone -kqspr8gbqfsvnttcfnfhjdncteightj4eight -bhrmk5fxdtbqbrzv -eight2prrttwo3five7nine -ninefivenrldsh1smcpzvdgmtzhbone -42dplrfkksn -psixtwoz5 -nvxmgsevennine95eight5 -five2onebxjtkkkzddcxfbpg -87ninebcsmzqjqhrfivevd6 -1eightclgrldksdkzt7 -136tgxrm -smzcxqsspl2hc6eightsixfour4 -51lpvxvzvjpdt72 -5rflgvvkrqlsninefivefoursevenseven -5eightssfq -qrvlvn46threegvcsqnpbbq28mvtvpsmfch -sevensevenfrk7threensxmfn -36fiveeightsixseventhreefour9 -lvxfour4three4q -sixlnrbbcvzdztwo3tj -eightclvcgtcrpmbstpeightmnine7 -2five4five6sevenvhmhk3nine -rjone4btcbrsix -621fiveoneightpt -hlv815fourtfvkr6 -two4657 -one1zninertmjxntmkdgrdsixthree -7one83nqxqdppcsxmlrcdone5 -dlctxttzvz6fiveseventwo96km -8xfkfkbp -79 -eight1three -11rrnrm4vfqjfkmfleights -9xglzqljbqhlseven -8lll2btggdnfsjteight -ddtwonekgrhnsffd8rdlqjmzfv599 -two2sixhdvgjz7three -7flfpmnrl1mhcgzblfourbsvftjkgbg -5sevenzstvcgdvk59nine1vn3 -kpkdqrp3two62six -two2nmpzfour8 -b2fivenine67 -ffgf1pbztdtwo47nzdxrcz -8two4s -tztwone5three -3lzbzqkgkh3four -18twonezps -fivefour4rjnsevenslkqltcdpznmfprnbzbztfvnseven -hmhlkcg6zp -3zcrdv16four -hnnlsknrjk4one9onezcfrx2cddnrbtq -4xbkl -6jdkxcvmx -4four1hb5tgfrntttjszgdhdq -vttlslpjtwo7fourqfzpbrninepr -sevennine5f -bcphcjvp7three -8q9621eight -88tth3 -7gddrxzpsix9jxstksdpkseven -seven3zc72np53eight -txxrlgqm2859 -1sixsevenjpqp -five24seven -6fqjcmngvthreeplxxtrklleight -eightsfpxsix439two4two -2sevennineone -ninexh8four9pdzjpnx -fourninecfzsrmonelcpdnsmhn5nvzp -onecpvhfvxsmnffcxph4 -hbljxvthree5twokxpbbmpnmhtmzbqmnlpnine -threefddbhtseven9qsplgqjkgstwoeightbqchst9 -two5six12 -ninebp962 -1two2eightsixoneightt -nineone1oneninethree9 -sevenone1 -fivegone4three2threefour -plbvtpgvdtwothree1kcnvxndf5 -svkfoureight294 -5nineonenhxfl2prgv7xj -9kjzjtdmcsninesevensmdbsxh -32bbcbggpsdvnjlnm5 -hllsdcxhtqhfkzsixgjb1cnjxzghksllfour -sixkqjkzfxnx6 -4fpmfour4three8 -gzbgcvf523onefivepqsqkqone -8one83 -sixbrcsix8fdhzvxcvchvlhx7ddpbltgxq -4sixhfrdpshdsixlvptxfjcplscxzg8 -fivebrxjceightone7 -twojmbxonefivefourmsqbnzxsgxbbh2 -five5lrzrsv17 -rtsgveightljjrkhskhqkseven6seven1 -74lcrchfoursevensix -49tlnbghzm1 -36nineeight2 -fivecccctcftfourfivetwo41 -foursevenfourmlrcjglthjd9 -94ninetwosixvbqslbxlone -qjjk76 -3six35onesix52 -612dfpgjlgfourfive3fourdmrn -9one2kctccfct -vbsoneightscfiverrvmsrxjcnbvpeight2onekkqhsjtx -742fiveeightnvjjpx4eight -139sixskbgfc2sevennmlsll -2nineztlb6pxgqtreighteight2 -six58bjjhsrxgrheight9 -nrmncthgr4bggpj -1pgjpxjdbhj -four5tjqsv47ninetmpjmmpcgftjmqq -threepnxphfourplcrpjfngjsgdninepv6fzghjjmrvn -756onejrtbpl3 -sixglcb8 -jqcfpvq46xmffour6 -sevenfbhqztmn96eight -2fjlcxsix8d -eight9fourvjjjpninepndvffivenine -mctmpckkjfqmdhgcdng5sfk6bgbg -onethreesevenrdgcqsldlv8jddcfncninetwo -gmkkbtndjlnzhqfeight6sevenggjrlqkzqv7ngtkfdpjr -4tjpqcjjvxndnhrfdllddptwo -lzjzfshq71ndzmpf6ninesixxjgrvqtrp -sevenhxtmvftb38937 -gxnrvjvclckvfkksslzjgf6kvqgpjbtwo -one9sg7jsvgx28threevsmpxtlrc -five4vvvrrmfj -1hkzflszztc45nine29 -36qbhjdxjr -glfmnmdqlfgxrzfsc2vcxmxcvjkrnltjpdsixgsrpgjnrthree7 -jnbgtjcnbvsf7hhmb -three9eightspggt -4f77sevenkrsvzkrlr -ztlrbheightseven6rcsflgpxnvfkrntbsevensbxjgvsb5 -six7nfcsksevenmkxone -zoneightnine3eight5cdgzqfq66one -8threefourkkkhvc68four -fourthreer9eight -dxzxrjptfmttnppfskctvbngmf268eight2 -2onethree -rtwone3seventwo72 -eightninegmfct96seven -4rcjltsng7threebxcsneight -nine54pghqbgrqjgzmjrgeightrzlbghr -nvggfgkzvknfiveeightsixthree43 -4fourjpzglr -83sevenbn9seven9 -mvgxgqvpbgmrcvdsn34 -sfjlninejbckkxlf8seven -three72threebsgtrtb1tmgjbngqxm -jqlx44 -1threexdftqfjcvl -nnkjmmlqvdseveneightkqlmmzzrpfiveonefour8 -9nqjzjjhhps9twonex -lzqxtpvztwo6 -47fiveeight8gnhcgldm2tlpsxfpsb -5one316four -9lzvbtlkzdgzcxrbtlthhqbdvklgkz7nine1 -threehjxknjnthreeseven2one7 -threeninehjbslk13 -sixeightone6pvdkkbvseven3 -gnlszqcmg8twotwo6 -gxttbccg2khzzpkdtonezqsteight3six -vtfjnxjjkmzppsjx9twofour -twoplbfnmkgql5fpfpzndddt -2threeeightjgkfivevcjlmc4onetl -2bzngbghgkdhhgqpgqkonesix1 -2fivenine22 -lhpxstx1mhgpndxlnk -one7ninetwo2fivethree -seven2sevenonenine9 -onezgpeight81ninekzgqsmmtrpqz -681qchvmrdldjs -nzlqbsvteight11nnnbhkdbvp8 -sevenxgqxtjdjpq3 -8ztonetwoeight -9xkmjfourfz -83four6 -m69 -two1blfseven1 -jdmkrkzkjjsdkkdone5 -7six3 -3one27ninethreeninesevenqzfkst -6nineseven9eight3 -one8zfrvtwoshlgvbl5ljrftn -one1165bjcpkpsjfxlnmz6 -72eightwoh -seven1one94eightsqzhnrfbx8z -sixeight2frplhhsxn46two -7gppcfcdl8 -nine94eightkjxpmzvq -nvf8sjqrncflgpdbone3 -68fourlnc -two5ppgttnk -nine28sixzxnhjr -7kdg38 -twol4qmspdsixfiveskjsbrfsxxjpkqdtsmkgpbc -five5nzlcdc45clclzrrkjthreeoneoneightsd -cvmxgrvfddx3rdthreefdqhxlzzb6 -sevenhzxklrz1threebzvgssix8fstqhzn -tfv866fivetlfive -knmzhbvhzfvrbkvsmnl7sixseven -zmbq9 -vqxqnzrpqvtdtmgndhs7eightnqpxcntfmjr -4vzpsdreight337hgvq -jone4ccn8 -nftdkmtmcz4 -nlnineeightmndkqz8nineonenrqm -nrhdxfsqvxcbcghf35eightthreeseven5 \ No newline at end of file diff --git a/inputs/pb1_p2_sample.txt b/inputs/pb1_p2_sample.txt deleted file mode 100644 index f90c606..0000000 --- a/inputs/pb1_p2_sample.txt +++ /dev/null @@ -1,7 +0,0 @@ -abcone2threexyz -two1nine -eightwothree -xtwone3four -4nineeightseven2 -zoneight234 -7pqrstsixteen \ No newline at end of file diff --git a/inputs/pb1_part2.txt b/inputs/pb1_part2.txt deleted file mode 100644 index 96a4980..0000000 --- a/inputs/pb1_part2.txt +++ /dev/null @@ -1,1000 +0,0 @@ -14gxqgqsqqbxfpxnbccjc33eight -eight2sevenkl -mrjstg5onetwoeightgcczx8vgrgl -9246 -ninetwo2crrqk2grsctqxqbcrmrdsqbrz9eight -five6dlhx1 -29qhsdqqtgrk4 -mjgtrjnlttxjlsixsix5 -bgnnvfsnbpx29vsjrlmgmsqthreeqxvclkhlv -sevennine3gsmxncqlqvfktxrtcone -2mkzrqlmhsveight1sjtwo2 -rrrbvnrvnqfdh86 -94threeqrhkcpkeightfour -four83 -9ninehbsgkcthree1nineeightsix9 -57zfcgpf68 -hbonefourfour8lsnfgvf3 -seven79rqtqvjddc -two6six7eightqnmnppctxjrxbdxbdmbfkmv -9rdvkbxclk9fivecrxmtpzsxn8cmrzttlfour -nztfnthree2 -nxhjcqzlcxgdkmcfggc261gbt -xqfcdfdsrlhdktdjshllqgqshzmf7hpcdgdfcvntczdxxfqbvz -sbf43g -vsm922three7 -nthree1 -3eightjvtqcb1lkgkzhbgvl9eightfn -tfvv2zz5xmckbc1sevenfour7 -fivesix6two7cptgpfpd -3skfjrzbjpeightdkkkjq -68onefourxmznzlfivesixfqmfchn -12rzcscnkxsbc2ninetwo -jrmmvsdjvftgnrz33five -bhdxxmb36ninedmrlrstrmrbvz -1seventhreenbsth136kzrgdvvjp -7nrc6xpl -fourseven4nineone -8zxncrhffcmq9threeeight -5seveneight4three9 -8ghsxbzoneightg -qtwonesixtwosixvjmnhqbbx5 -sp1psqkctzqnldbdhqsmgsixfivepjnnvsxdldtwoseven -9ninethreefqqlztnrtgcbfourxdgltgft -zsix14sevenhqkgfh -nt3 -dhdsktwo9 -8cmjzrsmr -4bdspt8 -qvzgxjp7six -ninethreexqvzzqhjsthreefivetwo1 -kzhsgr5tpzhxeightpqkfj -twozclthmcx1phkcvgrlbj7fhmcph3eight -9lkctcvgxr2two8rxgkdbx -khfgllh7kchfq9xbnrqrseven -ninekqmvfour81seven -xsfpksix65eight -eightf24oneone -24581snlbjpfronenine -nine3eightjqshqxscvzvskspcmdzd49 -6mfqf5one -zrzzlchrfl167n1 -nsxqfspq9 -7mggsvthrnckcsctjsxlmxghqeightsix13 -sbpkxkmjkxcmg4 -eightonethreevqkjkxnnine2 -kntj2vkcnrkjonefnqddll6 -zlbnprltbkgmzpvtqmvzhpvhrb3ntrzhkrbvd6twoltkpsccvbk -6seven5196fivesix -vj8 -seven5fourthreeeight5 -lqzkbvdtxs3hbqr -7gmfzfcnrone66nqvkmthreekdhfkrhone -nsxftsvssone2fivefive1rcvlzltfdzcgsh -8five1eight -7ljfbvnrbghgkhstwo6vmnhxdteightfour -hdnxc4zjqrbr -5ghrjjbfshonek1sixrvnnkhpd5 -threetjxxlvqfvdcj852dkxlthree -xbpqlbrgcbkzvbjdt8 -cbzeightwo7npgjjxfzrvz66 -zktrxkjpchjxzmpq2 -five1lbdhrsix -5qldpfkqjkfjdzpfhf86 -vnbrnsskxphxv22 -4chnggbxmssnine3 -4k9one -2twoneh -6kgbvpsl5threecxf -562six6 -tsdvbzxpkqbkrpvht33hxhvmjnltwo3 -7fourone -ninesix2sixsix1fivenine -fourbqvbqftvzz88sjszkgxhrtlshkdjq -sfsrfsevenpgpmffthreezzsfb3 -8fivekvmzz4rlrscnxmx15 -jvteightwozhqsnvffxg3rsjmszc7fssnbhrtwo -fivenineqsvpgbkdxlp355nine -9jbfive -zsxzdcvsjln65 -nvcc52twonine83fq -gcnpqqfhq2 -jspfdkpxl4fourbstlcvdhxhjdgxvpzbvltwo6 -8sixsix -fourtwohsqhmnjmph7 -one3eighttwo -tshglpdmjbsgsoneplbjqcsrxseven8 -42sgr296mpkdz39 -bxsevenone25two -two8fivefour -three4cgjttdmfqonenine -eight5sixeightmxzzqmt795 -threebtnlmrrqgnine9fivezdzgldkxnbvhsvzqnine -one14tqvqgn1ninevkzhrqfqdjprzxb -cqqnine52cjmteightgbb -vhhkrrbhlp9dseight -fjzfmqv1bsvqbtpvvzcvqvxnlptk -five6three1zvgznsrvnpmnine -cfkxfmeight18hgkclhmcfcfsjzkztwothree -fivesevenonejmmrjvhznffive4jbrvdhlcpj -gbboneight47xfmqzt8 -sixmjnfmjtsszvc4sevennineonexc -kfsnggdldp33four -56hj2lqncdfghdbgdkzpkr -63five519bztrxx5 -3eight3six9xvdfhrcmsm -drcjrlst5ninefourxcm -4five3dmjbnbeightvxtbbvxdpfourjvj3 -lnmqnine855four17twoeightwolx -lnkffrtmv9t -mmhrvrpbvrcmpczvknkfourcqktxx73qbgd -khbrlcvdpxdkljvkhnfrvtpmbeightgzms2 -shbr9fzbvzhhqmnnine76 -x93 -3onec -v5xskfrg19five -ncmtbgdkfour7fiveeightfour4nine1 -3dtdjs38ggfljpdvv -fourthreevfpmztnzzcf96eight1 -onesjmdmmmcgnvhdnczfzznrvrggkgpcpcggqpkkkcfbq6qpsv -5nvhksixtwothree -d4qhmsljqhmcqlxln2dbd64 -zrshqtseven9zkpmzksqcsptfkkn -9pk -51jnqbzgnlhcglfour5three -8snxnxv3817 -tsvd4 -lzfxkxrcktjlvzbnsixfourthreenineeightone4 -lxdz9326threefouroneseven -6zkgmhktdnfive -zonekfbbcqcsdbkc4fivexpnhssdgbbnine -8zcdxcbhm7seven -1fldmtvgnine39eightdrmrtzkcthree7 -8sixxlztjhjkxtppmrtfour -threekvjx68twofiveqtzfg2fbhnhrdztv -6pgvzdbgjnlctwofourxzpc3xzdc -sixdxpnthgkfmddvqhrvsixsevenx4q -ch29onepqnine -sixlnh68 -1one5rqxz6nine7 -cone9 -fourseven3kddtmbjhnkz9kxhzspvtdngvsix -3sixnrjcxv1 -onemdts29zrbh -beightwo2eight816nnzfhptjhfqvqq -lfmxzp44cqkthree -gl4qsevengltwosix -2eight3qqkksrsevenxkndsxt -eightzxrflknj9jpbmt -knqjgjjjmkninezzfnbcdmqctwozskxsgd1655 -qpfdjsmsqfourfiver49f -vsix1xpglmcbdp -vgqjvzzcct7one674 -4csdttrsd58fivesixtwofive -bslfsjhrl8cszqrppqskthreenine -997foursixeighttftrnktp1 -3ndqmpzs6jkpcvjdltgbfgvlcn2 -lsxprcgkfivesix8eight9onenbdxqbl -seveneight3eight -eight7sevencvvshpgfg -8zg7two -5sixsixtwo -six7two -jjcxmsixhbtvfx2twoxs -9xtg -3onelvrpcvxk -ninetqzpbhxsspcfjlvsg3qlnbbqfxdqnine4one3 -xplhfgfour49 -jdrzrkkzdkgvhsvbm6bqfgpjbvhxlhtxhhpmmtmvqbgnmzpkm3 -hrjqkmvv1bzm2krs5 -vfztwonepdlcn96seven5 -1mpkqmccqqdsmhdgjjgrrtsbconehpfgfnjtxtqv5 -one9qn8threeeightnmqvfjkklg3 -5kgkst4ninegnqnjgmtdpfzspmkk -pmggrbfxghr53eight7mjlzgzv -4fourone -lbjfvxjzd7fivevllrtvfkmeight6 -xtl9 -ninevonevljrvx9 -sevensix7sixhbeightone -npzmcdtdqfpvonenine9rsktdrrnz9six -4six55 -eight646gdvfkjqsvnczbxtwo -5seven5jthree -cfourfhmxqjmseventhree2sgkxm18 -mfxnnjjxtjzlljgcnfpvb6cmknzb -4796 -kzxfnrqktwohmp9cclstwo -vgzgmc1zlsch -lvpnb1five216mbdxgvfkcg -3onezjnmv9fourj -two8vmpfmqmq6 -p8 -4oneeight45 -827eightsnvlrskzlbnineeightbtngkb -kdfxtjj2 -csthreesevennine7seven -hqqjrzkkkh84 -six42four -nine259five -8jngjtkdnine -3ph -8gccpsqfourtxtlbvmvb8n -oneonesix7jdkzfxkdvttwo26 -xkfsdgkjt34vq -98twosjrr5eight -foursixfive9 -17vmxlvqpqmvnfchhmxmdcpzgrsjl3nine -pmzscpthreevone3kdgqldjf48 -dzhoneightonevxtzqsqxxpgtgrdl73 -4threebbsttfhbdtwofivezsvspjp -jlstdnkjgdxszmpv2tgvpbdhdrkdjjvdbscv -4mqqxrsfrfhsbxprbxrgqseven -3rklddqfnczjfhjmkrgrkslxninesix -9jpcvnlvb3lzqzkvlnqsseven -8ngm64zxplgcdxzdzgfqmtworprmndddr -fivefzhdggmfslthreejmsrq8dxzdzcxsj1 -75six294xbzhjxd2five -56746 -jjxxqclf6eightfive7 -fiveeight9eight -npdgsll2twoxfzq -66fiveninerrbgrshthree9 -nine124nkcsltwoqdlvr -eight4vlsddsjxqthreep8xd84 -mqsbzgsszonexlhljdhdt9kjvdvbmqc -shpxspqrck441twoxjhgthz3fournjtxzgbs -2threegtqmddnine9two -rbdvrngvrjsllkrc542 -p6dckscjkhzfqvc -qblzhpspf4glsrbxm923six -4mfbjznone5svkgvsr47dvtbltlmns1eightwob -5sixsix1twofivexjn8 -5fivefournine4 -gzhzlbkzrlsix5seven3tm -eightpgqrhfqsix41slrs6three -five3dtfzfour -6813nine -3sevenrnhznczgb -mmcgrkjhbsevensevenvrhclthree2 -pfourthree9ninenine -9fbxvvtbzkttwoftv7 -mmthree94fbm -1vsblnklmm2zqmntkp -oneninefivenineone2threeeight -4sevenxzjfxbfdzgfgvjgjdscninetwo4 -64sixfrmtmjoneightt -gzzlqqjsevenone5 -1twoxpcqcvgmhbcm8thlrzmplqpkrbjrqr -jgjqqn291foursevenonefnrdhxt -3bvznvqd8oneeightzchdjvj -ntqtg1 -hsqkbfnxcbsixmvfhxrvxrvnineseven4 -bkztqhhbdzr1sevenonenine1 -v79zpdqfive -tqtwonesixlhhnvf77one1 -2twofour -eight89seven -7six6fmzlrttxstdrg -seventhreecbldkqd89threesevenpplfv -7hmhxpg -threepmvqfc5rktgjl4xvdzmhrninef -7qnlqhtrrk1sevenqfgpkdfc271seven -4gxrqspvg1 -zdgfscbzbdg8rvqseven -eightsevenfour5 -five8five -xprtcnxztmfgtwosnsix5six5 -zpjrhddxfzhdm7pzhxnzsp2six772 -43five92sixfivefour -6kjknjjrjkdfive5sixsevennjone4twonexr -11sevenhvsrb5fourhzxrmgfsl5six -2kbtkmsdfkdzmfplone -68onesevenone7one1 -one36eight -89srlblvkzrjone1 -7threekmzvhxpsdc1 -3648pmjmj4 -fivetwothree8eightonev7x -jlkvd1tgjvdqv48three5 -tvtwone1rhcbkfcj82eighttwofive63 -rkpvjgsfmhbvd7nckshnmzknine -8md7xh8bvsdmhjdxq -threejzrnnfczgzdmcchv5hv4eight -8lqnnnpmfourkndkf926 -651jfltzffxh -onehzk5foursix5 -three7sixfivefive5twonine -four3fiveonef57 -5seven5pbqmzzkqsp -none8five -6threefpqx9eightkhmrgqm4 -ndgmck187mjkxccsdhknine -2jtwomvxjnnpmcseven -bdfnkbhbbfvztpseven6kgknpxmxdfoureight8 -cxtwoskgklsqkdpfive8twohq -5seven67two8dlzmttpdh -cdkzhtk2fvmdtphsxk -threepqcgj8dkfgjp -56tgggrrgdnveightwolc -ninezsix1rnpponedpkqrpdthree -vmgtq3six9 -nhbjgxsixsrrftdt3fivedcdqqq -6fivevqxphgvrflbvljlone -ninexbjtwothree4 -heightwocjpppfive3vlcpc2bt -tbtxlftsnsnknine5q2 -fivemfqlxlpgbpjgnvpfthreefivejzcpkone2 -5dmzkpmpghsixthreenine4 -two9seventqzb578kmfrvlj -six855three -2kddfgninezgsonedptb -1cbbtg1kffourmjxbnvfgjfiveonemgbjtmd -5threec5nine -pvgd5sf7three1lnrfive -83mtfjsrln6 -khtglxc3 -qckdfjbz289nbhnthreehljqfklhmjvrgxt -5kmslxsixsix72 -jlcfmqh5nine -454fournine -jgbfzxdsfpcjpsdlhs5gbsnjxhsfivesix -scxsgsevenseven6fdkcpzm -cbznsevenddvdql431 -fivefourpj871 -xoneighttwo5css4 -sixsevenone49 -xpvktkbdzc6threenine7nine6cnxsdeight -6nlsg8zczsblcppjmbzlnthree3 -jlhzvzskseighttwo1twofivefournqzeight -smmsszqpv653sixsdp5onefour -8nhgxc -cbskddhjq1fourfourj -vqnjgcml5vvggqqlhvdtwonetg -4gdhf1bxrhlnslpnglcx7rhvgnhzjvstwo3 -8fourfive9fivenine4one9 -5xbggkdbkddmfknsxpv -9fivekkttcpntr -cvltwo4 -1four62 -9ninevc -nmfrttms6czdhrdchfkntonetwogc3 -8dfbqlpz9 -fivesixsix595nine4 -6mmpks71nine -ndhdkddjchhseventwo33fv8q -ninerbnhsxkninemdthft1seventwonvgdcgt -twosixbmthh3srhdtnljqlqsbxssnsix -seven22ninedplffive -xpsh1twoqmhkqqsjz -8vrxzhkq -5ninegr -five9nqcmxngktwothree62threethree -qffhltbnineseven9reight -threerqddxgmjnj2 -seveneightqxxgmrzxvhdnine2seventwomtkdmjbkfh -9vppxpsnpdfourdmtqtbm2hpgqlgr -seventhreeczjngnklxg3nsfqzqqeighthcggbk -fflnhnnzncdnh9twoqhx -fjpqseven5noneseven5nined -kdnhflninenine2eightfivemknllfgqspbcrjklx -jmgfqhchzmdfnpthhhcc291shhdqp -5bphvpcxvdf2five9nine6four -9gfpnzjkmlb76xreight9threeqvjxpssvrs -4hpsix6five1ptrdlkfmgr34 -1sixnkvfkvdfjqtwo36eightjnfz -bzstgfhrmmfourseven6xnfvonegzc -fivesix426vgzshhklnknbclnbbpm -k5threetrkghrbcn -13nine -1vlrvlxrsrznlpf -9tgzzddgr1b2 -6sevenrzvcqzsckkqbtsevensevenninehbmlxbzzlf -1991vkjhdp -9jkhnrjjv -6seven47sstqkbthreefour9bmkfbxrzp -seveneightnprhzf61725 -oneone7eight7cpll67 -8eight7one -23bthc337qxhmfbgsix1 -9r61vtgqklone -oneplh6 -four9kfmzbgxlhlxxjf -mhk95 -csdfsix71seventhreesevenfour -sqhrc39 -6three2 -four11sixtwofmvgjvseven1five -four4ninefourkmz2 -mqm5seven3five -sevennine63sixvtwo -81rrvgzzrkzmgsgffvgxlrfbmqxczhtl5tvj -vq8qmg7geight62 -1twoqmmfcseven4six734 -9ghstzndfnmzbtdscl -88twosix -8five5eightworh -ddqdflzbhr68mrdc9 -2threefdb77 -7nine4rbfknbtnsvljnqdtz47 -xrfdfcrtqssx79dvhzls68 -cvqjp6fxkdx9qvsjqptvs -hbzjllr1 -1985onezp2nine -6sixqk52lpftrt -zfqqj8 -c4rljszsspxnnvjl1two -78phbjhkmjltcrxqdblfthreeeightvndtwosksxsxccqz -453gnjntwosevensixfourtwo -2fpnkqlzvmlbbkfxmqgrgv3tbtrkmprx -ffive5f3two -2grzqfmnrld -twofiverd76566csz -eight4zftjjzrkx -onefour8nvrxkqzrfthree3hvzk -fmzqklgfh76lcpjxlvrmgfqpnine8 -nine9xjvvxdvksqrqlhqvrbjvx1 -vlfcpfvl8msxhnftleightwop -846ninethreetwo6two2 -4mjbcckzrhtwo -blsn3onesixfour8 -14two -five3fivesbhfour -onevpqdqds5eight -pcvcsnhv861oneeightfoursix6 -csix7vjllblmgjg -mmn4threesix5vxdsf -v1vx4fivefive4fivevjfjvkf -53tsbldc9skgcshbvxdd -1595bxscggsspvjnbxx37six -seven883 -35sixone4lbzcbgk -tlmvbhjnkknz3nineltztzpclxsixzjnbfvseventwo -rccrkvsvxjbchfive933 -5shkktwokfkkmrxzsssix -five93three -8six44snhpssteightwomjv -nine1nrrjrvjfml4dcklljns -pclkcskcp428199 -fivepjvbtstwojshbgxmdr24eightsix -6eight4 -mjjghhcqrttcjrzhjjrc2five -xkhxgsqjstsevenfour4 -3one5gvmhcbkkdd6 -v3nine9threepfphnkthree6three -ml8twoxnzgqjx1rxbpjnonezrp -one8dtxklgmlnbqhpxl4 -1foureight9fourkmp9 -6vzzdgtfourxtzglhxzvcs -rg4onejhpgsfgpdql -sqpeight488four7svb -63five -39khkbdllxv -bdnjhtcqrxrnnjflfrx5366ninesix -tworfrqzgl85twotwoeight5 -jxeightwo8ttdxhc6xqphg9ntmrtrmxfnjb9 -933rsixeightzbkqkb -1onesix4onefour6d -three6vxnhgxbdxxmdmmggmnxtwocrvftworpsdrrkx -5nineeightninezvf -5jfour -zftjzrfjz8 -8four5nine84mpcktbm -vgg6five5pr8 -3sixtwotwo7ppfsbfppbkmjtlktrx -sixnhcl6bxjxdmgt -pdqfvzgsps9eightj -sixfive87hjksxxbgz1prvfqnnsfmfive -tztgzrnineseventjqhxn3 -twoeight3zthree -nczc3two -jdklbdr4 -j93mnmsixt1 -2fivenine2two65xhcjfnddbqlbd -six48zsklgprrvklt319 -6seven1threephh2bldxvrlln -88threeone -hqktgxxtwonine2 -14fourtghmvcbbnkxkhrvncskgthqqfkgpbrln -threen7rnk5zgjfvtlcs -nine87two56 -859 -six8q7twohnrphb -93oneninethree4 -one7nbzmqdxmj5qfxzcmxfkx -3two2two96ninecnkbt9 -fvcqktlf8two -six4nine4fiveqjthree -91qgvlq6eight3twofive -79sevenfivetcmcsrvvlsl -6bnssix -threefoursix8eight2fivehpp -tlxmqclgdchq8 -threefourthreelbd15fiveknzhg -ktqk68czbjrbkrlnmg3 -oneonerptgcnqzt6fpthmjhgxc8 -rcbfpqhxgjfgfgjcm3 -bxbbqcvvlfivefiversxqpmcb87r7 -two1eight -96sevencktptc9fmnthrdthree -fivehkzxl9five -twosevengsblkmgfzqndznine2seven -two58rlnjdqninetwo -5fiveonesxhbkcjmctwosix -seventhree8952bpqccspldk -8fourpfcvrvc1one -bpbtcnzk27ninemltwo -five2tkqfivethree88ggmpg9 -seven6seventhreemfmnmmbsn -three61xrfghoned9eight -mcffvkprk1one -hvkxcdqcthreetqcr3threeseven -8nmbnhbdseven -bdzc8eight -bzp292one78rthree -ninexsixone71zdnqlcxrphnnbxsmpc -ninempgdsbbdr7 -8eight2367 -15113onelhgvmp8 -8f7gpjllpllptonecfhhpqvcr -ztjj6nine1xsltr4 -nine27gkkjnkcqzt -9gr28eightthblghdkf9lcs -sevenbbjnprlqh1tphfbhbgvlsix33fournine -3sevenfmccnzqxfsfnctfrfngtone -six9xcvlflj -9fqcz1 -one63one3kpnthgscdmtjprseven6 -tlrkvjcdx7txkzrvzcjcvvljfcljc -rfrsfive2ctdmdnqnpfzvvseven -1trdgtvl648frnstf -bxkqchjmphmbnjrkrxxcntpxjnine3sixnkffxsb -84sxd -397lfjmzbp -sixvqjthree2szblfstz -29six833 -bnfnnine8nvjjprkmfourfourfour1 -gb93b98cxblqxskm -3zmggzvlvscbkblhmj4zsevencxgjxsbsr -smf1 -zghrszzcvb5rtnhzktts4 -265qvrzllrctoneshgcbdsbeight -2eightbjvlsixmseveneight -tqfrgkqzbtxqcbxvjzgtp1four -pmrrnmtt1kcf8two -49bnp1tmcglrtpt -4three2ggmbzgqltsqzzjjn -six7frvkdsxdktwo -7cjsnbps7bgqzc -oneoneeight8xbfnnldvpdv -568 -6rhxfbn -nine5nine9fivekftqqgpttptrfstwonerm -three984 -eight99fourmflfdnxvbbmhqfgqkzhkffvmkjxjtngjb -fivefivetwo28zdjmpjccknine -5jjs5vpjzfznrngeight4 -five8one2xllhvb6six -threeninelnfkjrz14 -mhmqpq3hncgqgm43threefive -tjtcrbklrbzvnc4 -37twofourtwothreefour -htwone2threetwo3xtkgk72 -three9btgdgrpdvxkkb1gck1nine -qgnd4sevenone9one4 -lcstxnqmghgqzszkhnbf7threenine -five8four51ddl613 -3vslhppr -tworkcgshlckqjtxpkgcgbgppq6hdvshlntq35 -1eightfiveg5 -five7ztflnine4two -39two -tgone47pvb -37glxx23nhlmxvmvtwo2 -eightsix86twofour -46gznzktfqhlbsqz -171rldrjxcvbsfqmmzcdrnqhjphjqgktwo -6twob3xpfvfdxv79kqqcgljd -6three8hpjtvmvmjxkkmlvtwo -zdeightwomgvbfourfj6khtbsgttnsixeightstbnjmq6 -fhdcqdskf2 -mjssnpxchsclkhlh1threetwoxrbbxkcpkgsbxdxtxxbg -1jxzvllkb71vxxpkmqtvs -three74sixhcthreemgtbzsrh8 -sixtthfskgnine2three9seven52 -nhqzkththreezzsj8four -54fourtklcqcsltgvgqone -four7eightwoq -k3492scxsbbngtwofourtwo -two3ttwor -8snlnfbczd78sevenchzjdphrskjngfkseight -four1vxpvqk15ttcfkt -4twoqql -fhzj4lsvjg -7hstphfour4jsbcndd -7eight85qmjsixseven -1three6two -fivesevendxznmf9 -two54hkv6eight -tlkthdcfldvtzlnr7551 -168qtpcr -fourjlsmgtlvsevennine44hjcksrdfive9 -5cxtbmsn -2twolmtprmjhgndnkfive8qzrdfive -2vpstbjqlxgtpqkd -4dmcc35525one -486xgkdoneffvrleightnine -six1onefivetwo -b144lvmzmxfgntpjhzrk96 -gkgkgc7cmtghq6gbx5 -three87fiveeight33six -1hpkjqvz363vvzksonelfctrztjctthree -pfqdlvkrs9nfpmtnineone2three2five -48onetwovrnbz1two14 -nine5bgvpnjbltfiveonesixfive -nine4pqknine96spqdb37 -mfgcngxqxb41 -262sevensgfjjmdczrl -qzmthreetvjdxnine1gpjsmxtth5 -ninethreeplzkztkzlk1qhjvl4 -oneeightnine3 -onetk5 -fthkbqqfhrpkprhqmssix43xcgdzhtrf -twobhbtvtwo1three -ftbdrfnffzkllk59vc -6ncvrsm -7ftcmjbdmx -12fdnnnqvrrd3 -eight3fqpqlhfvbrqlhhvpdonedzlfive -fourktscmbltflone92fbcrpqhsevenhnpccrhb3 -qbtz5mdksqshdqxft96dvsix -tfpfour75dtgjjmzgjsgjbqdkpd -pxjvfivevhjbmqz4 -tknhlnldjm8five5bqbhzbsix -45zqht -3jrsvctdzpjjrbxznf25klxbnvhpxskthree -foursevenskzzthntbfivefive5 -eight84jtllflx2five8mqjnnl -5xxkcbgx6952qpzgpmczsc -five3mpqdccdmone -kninezsmvpjfhdeightbcnctnf8twosixone -34lpqxkcfjvsixshpnsixgrm9 -glhtgtsq4threetwo3 -eightjbtpnhvhxk46sevencfklxxvdvveightldqqtdtk -fsdfhthreefivesixrkdrgk1thjlfflx -ninekxr6djghngtqninefivethree -3qszkcdvcdl -9sevenxzcskrpgfiveninevcdmkpqqpp222 -jmgt6vftshlq1 -4mnmtbvdznmpmpkrp -94nine972 -rzthreebsjvthreenxqm2 -dxhrstvj344seven -1eightfivedtsstwojbxpnhjnzrgx9three -jlkt3 -fivethree7rfour1fournine -rzggmhlvfivesxzfour363 -4npxrvmxmmc7qjbcrhzsix5lbvkjpp3 -eight7ninefivernpv4cddqhtvkb5 -5threesevensixonesjvxjp3 -5tppjjgj4five -boneightthree92nine5tjppmvhtrfive -threettgpkqcvjzdbjgzk9four -6nzllfrrqkbgseven4nkgdddzbnhr -czjbvrqkone3 -msffqxbxc4294 -one83dxstl7 -32ghhrdt5 -eightsix27two851 -1pmkltwozrx295 -j5982 -81pspmvbbjninetxvpg -six4pprdn4twozpqndgdninefour -3hfthcgqq8682fivefcrfxxgd -nineqtxeighttnine6dttrznddl -htktrcx6gqv5 -txsixsnls1 -52eight -76fivefour9 -eight8tjtc -four3onejlqvgl11436 -dlpdv36 -7foursvdjchltr7qjsj -pknqzgvv3qsltsixfoursevenzggprjvz -3eightfive8one2two -z2eightwokcx -2sixnlhfbfsfeightseven -884qmtqcdcrd4 -keightnine9lpmspq7ninefour -43eight4five7 -twofourfourfourtjfmflt7hcxfpf12 -sevensjpbqjfnqtgcjtktfjhrdv5cr -6ztdzvcsqm -86xsdx -eighthmfgbvsixxcd35zfblslpthree -seven8twoeightpnzrsqlcv -fivezmbqpxhfnnmvbsv61seven63 -5vvddrt1onemvmdsvvfive -7sixpfblcglgj51 -s29 -qtdbb4oneone1onethreesevenseven -drj7six7 -6cfhssixnnjgcxgnmssevenmbfzxps -xbqdclktfrmlq5eight294zvtqhszfmtzd -8rnrcpphkrmfnc -seven77 -9gntctbb -tjgvxtbcn55mcjhmkgzkb -fiveseven9dfllnqdntjonemdztmclc3five1 -83zxfive -87tjnbrxnhzpnthxpnxgczmlghjppfgghzsixfour -6rfivetwonerhn -3cnzlm9eightlqgtjppxj -onefrttlfjthreefive3eight7brmcdrzdz -threeczbzscthreefive551 -2433sxdfjzshrfdpgseight -92gfsjbjdbd9bhsqjpx3nkdpjxs -71foursevenone -6ninedlf6ldnxdzhdtwoseven -fivegcpj6 -xssdl7 -3kcnqqhc9 -sfsrtwosrpjlhbcng6 -mvgeightwotbnzgrrc2tz22bpv1eightfour -94msix2 -tdzkqnbdrmrxfpm7sevenfivekqmhqldjfour2six -sixthree9three -1953seventhreenv5 -2onemhgmxdktf -5fiveoneseven8 -frfvnqxtmthreeeight4 -rphdqh24eightcpqxfjqqrchbtwo7 -76fivebjmcnfrnvpfour -8nine6mrxvppgvjsevenlhtrtnsxmzdnkhhjfcnfd6 -hfmjnine8 -one3rvbjqtfivecc -five6fbfkpdvvpfjq3kdbvhtrkvgqz -two2sevennined7 -five8fourseven398 -sixqccsqhgvhd3k1five -4fgthreesix -4xqgqfxltzx28jrfpqdmbtwo -three35twozhgkpltmvbfsdzkfpbrkq -zxcdrkhd8onepcmtkfmtkrphbhcfivetqhxrnttwo6 -six36rsvpjcj -9fiveqqdklbkonejpvxxteighthvthdsb -six32 -five83rthcrgdjqxsevenfive3 -ninerdrthxkhnz7hlgllpkgjc -jmzsq3two -seven9kmcmbvztgsseven7foursixfourseven -xpgtcr5hxgjgdxrz -rvgdt1b3sggthcldlsevenseventhree -seveneight5fbljmnfsdqc7sph5 -onetwo1nine8jpgthree9 -6ninekfqhgrtplninefive8 -fxsmdhnjgx3ngqlsjtjnq4vqcrmgfqcnffnvdgt5tmddtbhx -z49 -5eightone -6fivehkv8xtgthreeninesix -hshtfdbf82 -bgvonesevenrdtbhsl6zqxn13 -hnlgrrsmhskmxbmxnineseven55 -kpeightwothreezmdvm35onefiveseven -threefourskjcsmhjr32 -154nine8nineone9 -sixtwo77nfgncfzhbcbthree -dnxddftf7qxnxt -six2qlkmkgsfgdnch35hfqpcbvk -145 -xtqpx8nlzqhmbfpjcqqz9sevenone -kqspr8gbqfsvnttcfnfhjdncteightj4eight -bhrmk5fxdtbqbrzv -eight2prrttwo3five7nine -ninefivenrldsh1smcpzvdgmtzhbone -42dplrfkksn -psixtwoz5 -nvxmgsevennine95eight5 -five2onebxjtkkkzddcxfbpg -87ninebcsmzqjqhrfivevd6 -1eightclgrldksdkzt7 -136tgxrm -smzcxqsspl2hc6eightsixfour4 -51lpvxvzvjpdt72 -5rflgvvkrqlsninefivefoursevenseven -5eightssfq -qrvlvn46threegvcsqnpbbq28mvtvpsmfch -sevensevenfrk7threensxmfn -36fiveeightsixseventhreefour9 -lvxfour4three4q -sixlnrbbcvzdztwo3tj -eightclvcgtcrpmbstpeightmnine7 -2five4five6sevenvhmhk3nine -rjone4btcbrsix -621fiveoneightpt -hlv815fourtfvkr6 -two4657 -one1zninertmjxntmkdgrdsixthree -7one83nqxqdppcsxmlrcdone5 -dlctxttzvz6fiveseventwo96km -8xfkfkbp -79 -eight1three -11rrnrm4vfqjfkmfleights -9xglzqljbqhlseven -8lll2btggdnfsjteight -ddtwonekgrhnsffd8rdlqjmzfv599 -two2sixhdvgjz7three -7flfpmnrl1mhcgzblfourbsvftjkgbg -5sevenzstvcgdvk59nine1vn3 -kpkdqrp3two62six -two2nmpzfour8 -b2fivenine67 -ffgf1pbztdtwo47nzdxrcz -8two4s -tztwone5three -3lzbzqkgkh3four -18twonezps -fivefour4rjnsevenslkqltcdpznmfprnbzbztfvnseven -hmhlkcg6zp -3zcrdv16four -hnnlsknrjk4one9onezcfrx2cddnrbtq -4xbkl -6jdkxcvmx -4four1hb5tgfrntttjszgdhdq -vttlslpjtwo7fourqfzpbrninepr -sevennine5f -bcphcjvp7three -8q9621eight -88tth3 -7gddrxzpsix9jxstksdpkseven -seven3zc72np53eight -txxrlgqm2859 -1sixsevenjpqp -five24seven -6fqjcmngvthreeplxxtrklleight -eightsfpxsix439two4two -2sevennineone -ninexh8four9pdzjpnx -fourninecfzsrmonelcpdnsmhn5nvzp -onecpvhfvxsmnffcxph4 -hbljxvthree5twokxpbbmpnmhtmzbqmnlpnine -threefddbhtseven9qsplgqjkgstwoeightbqchst9 -two5six12 -ninebp962 -1two2eightsixoneightt -nineone1oneninethree9 -sevenone1 -fivegone4three2threefour -plbvtpgvdtwothree1kcnvxndf5 -svkfoureight294 -5nineonenhxfl2prgv7xj -9kjzjtdmcsninesevensmdbsxh -32bbcbggpsdvnjlnm5 -hllsdcxhtqhfkzsixgjb1cnjxzghksllfour -sixkqjkzfxnx6 -4fpmfour4three8 -gzbgcvf523onefivepqsqkqone -8one83 -sixbrcsix8fdhzvxcvchvlhx7ddpbltgxq -4sixhfrdpshdsixlvptxfjcplscxzg8 -fivebrxjceightone7 -twojmbxonefivefourmsqbnzxsgxbbh2 -five5lrzrsv17 -rtsgveightljjrkhskhqkseven6seven1 -74lcrchfoursevensix -49tlnbghzm1 -36nineeight2 -fivecccctcftfourfivetwo41 -foursevenfourmlrcjglthjd9 -94ninetwosixvbqslbxlone -qjjk76 -3six35onesix52 -612dfpgjlgfourfive3fourdmrn -9one2kctccfct -vbsoneightscfiverrvmsrxjcnbvpeight2onekkqhsjtx -742fiveeightnvjjpx4eight -139sixskbgfc2sevennmlsll -2nineztlb6pxgqtreighteight2 -six58bjjhsrxgrheight9 -nrmncthgr4bggpj -1pgjpxjdbhj -four5tjqsv47ninetmpjmmpcgftjmqq -threepnxphfourplcrpjfngjsgdninepv6fzghjjmrvn -756onejrtbpl3 -sixglcb8 -jqcfpvq46xmffour6 -sevenfbhqztmn96eight -2fjlcxsix8d -eight9fourvjjjpninepndvffivenine -mctmpckkjfqmdhgcdng5sfk6bgbg -onethreesevenrdgcqsldlv8jddcfncninetwo -gmkkbtndjlnzhqfeight6sevenggjrlqkzqv7ngtkfdpjr -4tjpqcjjvxndnhrfdllddptwo -lzjzfshq71ndzmpf6ninesixxjgrvqtrp -sevenhxtmvftb38937 -gxnrvjvclckvfkksslzjgf6kvqgpjbtwo -one9sg7jsvgx28threevsmpxtlrc -five4vvvrrmfj -1hkzflszztc45nine29 -36qbhjdxjr -glfmnmdqlfgxrzfsc2vcxmxcvjkrnltjpdsixgsrpgjnrthree7 -jnbgtjcnbvsf7hhmb -three9eightspggt -4f77sevenkrsvzkrlr -ztlrbheightseven6rcsflgpxnvfkrntbsevensbxjgvsb5 -six7nfcsksevenmkxone -zoneightnine3eight5cdgzqfq66one -8threefourkkkhvc68four -fourthreer9eight -dxzxrjptfmttnppfskctvbngmf268eight2 -2onethree -rtwone3seventwo72 -eightninegmfct96seven -4rcjltsng7threebxcsneight -nine54pghqbgrqjgzmjrgeightrzlbghr -nvggfgkzvknfiveeightsixthree43 -4fourjpzglr -83sevenbn9seven9 -mvgxgqvpbgmrcvdsn34 -sfjlninejbckkxlf8seven -three72threebsgtrtb1tmgjbngqxm -jqlx44 -1threexdftqfjcvl -nnkjmmlqvdseveneightkqlmmzzrpfiveonefour8 -9nqjzjjhhps9twonex -lzqxtpvztwo6 -47fiveeight8gnhcgldm2tlpsxfpsb -5one316four -9lzvbtlkzdgzcxrbtlthhqbdvklgkz7nine1 -threehjxknjnthreeseven2one7 -threeninehjbslk13 -sixeightone6pvdkkbvseven3 -gnlszqcmg8twotwo6 -gxttbccg2khzzpkdtonezqsteight3six -vtfjnxjjkmzppsjx9twofour -twoplbfnmkgql5fpfpzndddt -2threeeightjgkfivevcjlmc4onetl -2bzngbghgkdhhgqpgqkonesix1 -2fivenine22 -lhpxstx1mhgpndxlnk -one7ninetwo2fivethree -seven2sevenonenine9 -onezgpeight81ninekzgqsmmtrpqz -681qchvmrdldjs -nzlqbsvteight11nnnbhkdbvp8 -sevenxgqxtjdjpq3 -8ztonetwoeight -9xkmjfourfz -83four6 -m69 -two1blfseven1 -jdmkrkzkjjsdkkdone5 -7six3 -3one27ninethreeninesevenqzfkst -6nineseven9eight3 -one8zfrvtwoshlgvbl5ljrftn -one1165bjcpkpsjfxlnmz6 -72eightwoh -seven1one94eightsqzhnrfbx8z -sixeight2frplhhsxn46two -7gppcfcdl8 -nine94eightkjxpmzvq -nvf8sjqrncflgpdbone3 -68fourlnc -two5ppgttnk -nine28sixzxnhjr -7kdg38 -twol4qmspdsixfiveskjsbrfsxxjpkqdtsmkgpbc -five5nzlcdc45clclzrrkjthreeoneoneightsd -cvmxgrvfddx3rdthreefdqhxlzzb6 -sevenhzxklrz1threebzvgssix8fstqhzn -tfv866fivetlfive -knmzhbvhzfvrbkvsmnl7sixseven -zmbq9 -vqxqnzrpqvtdtmgndhs7eightnqpxcntfmjr -4vzpsdreight337hgvq -jone4ccn8 -nftdkmtmcz4 -nlnineeightmndkqz8nineonenrqm -nrhdxfsqvxcbcghf35eightthreeseven5 \ No newline at end of file diff --git a/inputs/pb1_sample.txt b/inputs/pb1_sample.txt deleted file mode 100644 index 1ba8437..0000000 --- a/inputs/pb1_sample.txt +++ /dev/null @@ -1,4 +0,0 @@ -1abc2 -pqr3stu8vwx -a1b2c3d4e5f -treb7uchet \ No newline at end of file diff --git a/main.cpp b/main.cpp index a740aaf..30e6d62 100644 --- a/main.cpp +++ b/main.cpp @@ -1,18 +1,6 @@ #include -#include "pb_1/problem_1.hpp" int main() { - { - std::cout << "Begin Problem 1 part 1\n"; - if (const auto result = pb1::solve_problem_part1("inputs/pb1.txt"); result != 0) { - std::cout << "Problem 1 part1: " << result << '\n'; - } - } - { - std::cout << "Begin Problem 1 part 2\n"; - if (const auto result = pb1::solve_problem_part2("inputs/pb1_p2_sample.txt"); result != 0) { - std::cout << "Problem 1 part2: " << result << '\n'; - } - } + std::cout << "Hello, World!\n"; return EXIT_SUCCESS; } diff --git a/pb_1/problem_1.cpp b/pb_1/problem_1.cpp deleted file mode 100644 index 04bd85d..0000000 --- a/pb_1/problem_1.cpp +++ /dev/null @@ -1,158 +0,0 @@ -// -// Created by postaron on 06/12/23. -// - -#include "problem_1.hpp" -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace pb1 { - using namespace std::string_view_literals; - - constexpr std::string_view digits = "0123456789"; - - constexpr std::array digitLetters{ - "one"sv, - "two"sv, - "three"sv, - "four"sv, - "five"sv, - "six"sv, - "seven"sv, - "eight"sv, - "nine"sv, - }; - - const std::unordered_set numbersSet{ - "one"sv, - "two"sv, - "three"sv, - "four"sv, - "five"sv, - "six"sv, - "seven"sv, - "eight"sv, - "nine"sv, - }; - - std::optional read_file(const fs::path &problemFile) noexcept { - std::ifstream file(problemFile); - if (!file.is_open()) { - const auto error_state = file.rdstate(); - switch (error_state) { - case std::ios::badbit: - std::cerr << "Fatal I/O error occurred.\n"; - break; - case std::ios::eofbit: - std::cerr << "End of file reached.\n"; - break; - case std::ios::failbit: - std::cerr << "Non-fatal I/O error occurred.\n"; - break; - default: - std::cerr << "impossible to reach.\n"; - break; - } - const auto path_string = problemFile.string(); - const auto msg = std::format("Failed to open file {}: ", path_string); - std::perror(msg.c_str()); - return std::nullopt; - } - return file; - } - - void part1(const std::string_view &toSearch, std::size_t &result) noexcept { - const auto first_digit_pos = toSearch.find_first_of(digits); - if (first_digit_pos == std::string::npos) { - return; - } - const auto second_part = toSearch.substr(first_digit_pos); - const auto second_digit_pos = second_part.find_last_of(digits) + first_digit_pos; - result += (toSearch[first_digit_pos] - '0') * 10 + (toSearch[second_digit_pos] - '0'); - } - - std::size_t solve_problem_part1(const fs::path &problemFile) { - auto file_option = read_file(problemFile); - if (!file_option) { - return 0; - } - std::ifstream &file = *file_option; - std::size_t result = 0; - for (std::string line; std::getline(file, line);) { - part1(line, result); - } - return result; - } - - void part2(const std::string_view &toSearch, std::vector &splittedLine, std::size_t &result) noexcept { - std::string line_with_numbers, word; - line_with_numbers.reserve(toSearch.size()); - word.reserve(sizeof("seven") - 1); - for (int i = 0; i < toSearch.size(); ++i) { - const int second_letter = i + 1, third = i + 2, fourth = i + 3, fifth = i + 4, sixth = i + 5; - switch (toSearch[i]) { - case 'o': { - if (second_letter >= toSearch.size() or third >= toSearch.size()) { - line_with_numbers.append(toSearch.substr(i)); - continue; - } - word.append(toSearch.substr(i, digitLetters[0].size())); - if (!numbersSet.contains(word)) { - const auto pos = word.find_first_of(digits); - if (pos != std::string::npos) { - line_with_numbers.push_back(word[pos]); - } - if (word[1] == 'n') { - ++i; - } - } else { - line_with_numbers.push_back('1'); - ++i; - } - word.clear(); - } - break; - case 't': - break; - case 'f': - break; - case 's': - break; - case 'e': - break; - case 'n': - break; - default: - if ((toSearch[i] - '0') < 10) { - line_with_numbers.push_back(toSearch[i]); - } - continue; - } - } - if (!line_with_numbers.empty()) { - result += (line_with_numbers.front() - '0') * 10 + (line_with_numbers.back() - '0'); - } - } - - std::size_t solve_problem_part2(const fs::path &problemFile) { - auto file_option = read_file(problemFile); - if (!file_option) { - return 0; - } - std::ifstream &file = *file_option; - std::vector splitted_line; - std::size_t result = 0; - for (std::string line; std::getline(file, line);) { - part2(line, splitted_line, result); - splitted_line.clear(); - } - return result; - } -} diff --git a/pb_1/problem_1.hpp b/pb_1/problem_1.hpp deleted file mode 100644 index 3ba8528..0000000 --- a/pb_1/problem_1.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// Created by postaron on 06/12/23. -// - -#ifndef ADVENTOFCODE2023_PROBLEM_1_HPP -#define ADVENTOFCODE2023_PROBLEM_1_HPP - -#include - -namespace pb1 { - namespace fs = std::filesystem; - std::size_t solve_problem_part1(const fs::path& problemFile); - - std::size_t solve_problem_part2(const fs::path& problemFile); -} - -#endif //ADVENTOFCODE2023_PROBLEM_1_HPP