QXQOHNFVKUSTTENZIXRSNXRIQ3HIIPJ7LRWCJ67IOIEC3VSEJQ7AC package mainimport ("bufio""log""os""strings")type groupCustom map[rune]boolfunc main() {if err := realMain(); err != nil {log.Println(err)}}func realMain() error {customs, err := parseInput()if err != nil {return err}var sum intfor _, c := range customs {sum += len(c)}log.Println("Sum of customs:", sum)return nil}func parseInput() ([]groupCustom, error) {fd, err := os.Open("input.txt")if err != nil {return nil, err}defer fd.Close()var data []stringbuf := bufio.NewScanner(fd)tmp := strings.Builder{}for buf.Scan() {if buf.Text() == "" {data = append(data, tmp.String())tmp.Reset()} else {tmp.WriteString(buf.Text())}}data = append(data, tmp.String())customs := make([]groupCustom, len(data))for i, d := range data {customs[i] = parseCustom(d)}return customs, nil}func parseCustom(in string) groupCustom {ret := groupCustom{}for _, ch := range in {ret[ch] = true}return ret}
gsvdkufnoawjmhpwvhusojpnikgfadbvshnpfedgwajkouaujodhskfvnpgwokpdnwhsfvjguqajuedvqvqedujveqdjueqduvjcdajbuernxmmnucjearxbdaxrmdejuncbjrebucmdxnakutplibdoqzfvhwqcewmrkdvhlqobdwvlkgxhpasyjnpsbjhnatxepnaxesjhbttpxhbnseajyskvjqacinfdrphwltxgzomuebjwprnxzvkeofthuqbyimadgslchzwepdglwfwylwrwsdgateubqmznhjkxyphltddbhlhdlbdbhlhbldinkxywsbgjuvpztrecadqmhfqkaxszcujwvmbhdietpgrkrupsdgibzecxwvhqatmjqtpxerobhisgcumkwjvdazbgakcmhgxasvzucjtrvhinaqsbpkjvxtspaqbhkfnrcnabbexqmkudfuotouttuoutooutsbtkzfhbkfzsszbkffuzksbxjskrzbfdkphfoybsagcrnqoybunchapqrdksbokpysdhqnarcbchumknwairvlfcvbuhwzirkalfybwnseiaoqyjfjosqanfbewnealmqbfwojsjqnbfaoeswsowzujiwojizuwzojiujwozuiujiwozkcopqbttpkudorbcpmtwogjbuxkfthszqdbelomwritlusezbomwfqrdxhkirsdfkbteoqilzmxhuwbwkqmdsxhrfulietozizkwomsdlbfxetqhrukzhwyodlvptkvfhldwpolvhypokdwopwjhvdkclkpahtdolvwcldyjpuitahupcthlijydaicdauhpytjhaypidtucjjidaptcyhuomitiqjwizoudehsxyivbpirjlstlyornukcxapqwiekharunjiebzvoygvaihtklnqmcebftlttohcalznkumqfgyjsbeotowxdivprdyyoxsyyopyrvhiaxpafpikuxhpsfqrnevzxlfnrsvexzhqupcpfpccpnbuojxgqckrwzspehfmhguoxsfkejwcqkedqujsomfxhwcvgouqefsxchgjkwqcjohwxfseugkrybnlomqfmxsngauoembkonnlmvobbomhnvgptixlduzjeqkorsamwnhpgzwohfjkuvbtylmcthcgovhrlxmokbfgmhpzoqysacockazbsmhpgqfykmcqfyzhapgsxbqcfdlwyarzuskhmbgsurovlcihpirvlpuhoscrddtddkoasgulhkroumtzlyubkwolnpjdqykvasnebeasknpbovyjdwqvopnwqvpowovfrqizhonqpwvuskotfndjeplixhycbqrmwmbxoewypcfdhistnydtvpbfemcnsihoxwynwbtosmcipxhfdeurgvbqechawznsjltixodyswdbnevcatrflguhziyoqxjsgiwelhanovrbjuzyqtdcxvyenojuhxwzbtigsdqarkcljxcwblszokhrwvnbdolgjufyznrdrbdtolrypvdwmblwrmopdvybtrdybwmvpltovlwpyrbmotdybolwtvprmdradvoplnqlrqpondvalpanovqrdlpanvoqdrdqorvalpnfvxcavacfxfvcxajbeixdakgolpfhqyntwpurbsxvjfwhetlmcnzjztfgbmnkadiehvdjhpntcizmkgvbfebtegdfknizvmhjligbdeztjfkhmnviqvtgejanzfdbhmkjpiijpijpkydpviykddgyqmftwxvdyesewpkrvhekorswnpbplerysifmzvwoncjxqknsbeqowitcpjymxvlnexbskamprdxsmdbkaupnerdsbnekarctvmpxnkapxcbsmrldeezfdhnakwrsmyxpbolnuzvxcgpdtfbtgzcfdbnxpvjliksorxpmwecaznugiuoxsvnzewljpmcfuljpktcplftukjlfptjkufutpjlktqcgihveyswuywvqecthgscqhwetvsygqvshwcegtygyctwqsfvheuhezlyxwvpcidrhvucplszbxywerjchyntkrevwzsmkdncotikdlpxauzbuxzptoksqbdiwnqvruwhtombstebfnykzmlgcjciwkhzbmgfqouwmzgbcoihqkfsfkwmziohcgbqshezgrvqgprveokqjvqcdiuyrnpghdyjqvhrpicxjiklpfzmthrwdsyqvpdyvochrunaqjgidenpjgywacrkjbypwarecukdgnzacqyxdgejrmpwkfnhuwldpkrgaenjcyqmqqdcddcdazeitlrpxnfqsnrqxelfocsihpzcnkveyiujlbzfgrpxqcqznxrfliedpqicgkpjzlxonvcijozlhkqxnppgkcnloyxzjjapmxlknszotcbytgmwetjayhgiupgytygttygzxelxzzvnctonrywrywntakqgijzforxpshmztmrxfqgsiphjaokfsaoqewcavsldeytnauoekhzsihgsejawhqyvldpintefaxgurjcxluqrgsvnacykptefbdhmjoylknhsgmpawziqteznhmatkpolswpkvmtznhlwsoaonzamhltkpswzszszsszeaxmigahfrdytjmynqyzkbtfdjomotuoqtreotgerggncvwupezdcnvdwzpeucuwnzvedpcdnzevwpubkuwcsvbqcsgwvembhcovjswqwrnbeycsvlisvbwcvlysomvzlptlejvxylvvxolmqgohwtzrqomlcwrgopxhkslqcjmzbatndphgzmojlstadqrxkbnpcbzivpivzbcjilczbpvgmrecszlzgrecslmmelzcrgsgezcrlsmmcsezrlgceotvxaydplfiuvbzcaxuokwdgygljneocbiqjtfoyawivmhsfayowsmzrvmksfowvzaygsivthkyhlhybhqhyfkkavkaqhjxrzmckpbkfsssiythtyhriyrtaihhtyiutifydhqhwxdxhwdhxwdbkfhsvbjdwxcntdbfjhsctkvwsogzdhjqiwmlyuvfvnyxvincimwelvbudtppiwvudaeraktpdrhmdtapkhrdhapktritaprnhdkokrpdhtafvpaxkzgmrwjaarvxoislaolisvxakioqvrlxjhsyaoixgalsvsavloixacgrctlcfndwqsruzageidwunqfaesgzribzarmfnqwuisgdejrrjjrjrzrevhjxigdmqatkwjlpzvsyqijznvobpnzbojivdpcvzipojnbsrbtecvpixamhdvctplmfxuowbfbfbfbfexggggmagbybvmbwhdfiqteglnpkxucjoawmqdconxbuaetjlgphivkfupadfnhkwtjioqcbvxelmggofjubptnmkelihwxacqvdalevevlaalveavelaelvuceyogrhloqcafluvhewgrugcxlhorpeznduzshrcegloxodmgbeucrplhugesfliovyzjanlizsujfadgolfguaszotijosznifulgadkjxadguljioszfkpgvevqsfezungalxidbgwteovgpvcyjrmehapuonkxtcxithyshfvtsxpgtzamyqeugtiuwpcqzvyatpqauezygsouvmglcqbekzimiuzvksocgqbelgzqkmsubevolcindvahcizjaoyhepsbirwbghijfkotcxwuuaokxsfbleyhgqrhucfokpwbxgnbfuztgovhxkzghianxtlqqthdvingxalkzwfqnixgtezalhzcrodupwqsvphsvrzcldoqwuhogspqwcvukdzhwzpucdsqvroltxkqmsfbglhnoypaduivnavlozmpthwsbkiqxdfugidnojlbtfpskuwavyxczrirvsyznbtedxougfwcsovxhcqdbwytzmugrinfmcjnraketsgvqyxpbuwlhzdofkqudanprgiejcftzlywhsoxmbrcxmkdqfohjzgtsalbpunyweocmrcmtmkbedxgzswtdgmsxbzkernwktdbxzsemgwgwkmestbdxzxzdewgtmskbevpdgzcugepcvzuvegzpucvpuzgeccvpgeuzwfsadgtuizejmylxqaspmuqigbxeljdtwfyygbtdptyefryaitjcukhlytdmjfmmmclcllcqbodnftrsygiiztorbfskqdvngonpsgqrdtifmnrofcuqwdtilsmhavcgzlrtbojrldgavzqbcxohpshtdbifrvzqmklyaetfajgrpkidzyhslebmvqcuzbjepnvisisjbenvyzlcupnagieshzcpqmfuvbjezvpsjrnciubywgdsafzuxbrmhvqkljnoipchjcntvrzwdfbxksyiqolpumagkwvpybmjeoualxcsqgidhfnrzzubvkncuwfsnvisknfdalujeghikagvpzxszgfhjtxidstdgjzxfihxghsjfdzitgfjixszhtdfzjshdtixguibgxkaabigukxxubakgigxabiukybkaxguitjzorslaoregxwnoifudmcqvpkobhrtyoqyerifdcxzmfvtqrjsblkhuoieygyfnizlqupvscobtbouiftlcvqsyqdvlyfiusgotbqvbycwsiflutoifmnxbcvpkylruhnckrmfphluixvbyvbcmxyhurnpilfksuiqbvyrxcphmfnlkynuxkrfvibclpmhpmvdyexsoilatqfgklpidgatmqevkxysogkpsaoleymqxvtdigmvxeyplqdoasitkvkpdylstquegaiomxymogxuswkcevbxznpscgxlcgsxclbdsngzovwtiyzrjlciovksxefuvqdamcwvsxxeuwyhsfbhxwgolksbrdmpifyelwpyefxmiohdnbksgrgzoehypbldxikmwtrfssdlwpeymxifrbghokglmbhykiofdxpwervsndcphgqfuvsekaxozrixofkqnbschdaveruizgpptkvdhjawskhtapidwjnthunakpjwdeaglphkdtjcfwpnezvfgiouahmslkdxcrqbfpiqsecxaukbvzgnorjhwdmemcwblgxuvnkzrdsoyjfrvsxeugkmwzfncojlbnhbiclvskjrupgxzfeomwgcxlbjozeiufwnskvrmeonjkwbzfxgpruvcmslntgiaiaaiscoernukhwtigpdbogiserhpucnkteaipzggnelughetbipylmnraguetbargijepmhuynltriyzgupnbmaleprtnumgaibleypeblaytmgnruirqlsepfhivfvelqphsriilfhvqerpsfheqplsvirsfpvehirlqjciwxfbhqkadgzloprnuvstyqwouetsmhykavxfbjzrglcfjmzmjczfunkzjmgebyncxsphfokwmgmchsnbwkpfyxeofybkhcesogxpwmnudwhjnihmhmippypspytrwxyrtxwpdieltygdukacyiudeakgkpegdaiyuaudykegiaeqydwiguklbeizjvctfndgiqbeuabfwndutvecqigzfznbdutevigcqqtvzfnueibdcggixggqhmlqnqpqsblvqqnxpslvajfxuavcnstnsyabxvocuucoacouxcluocounjtgzodebqojztqdgbeoejrqzgtbdatjzbqedgogzqtejobdubglorcsyvmxdoentwfgulpqikdcbzhjjwkmxdnyvbizqebnoyfzbepdfiikepbofcofgekndbatpruhqmwvsiybsqtrakeudopghvyfmcnwqgusdwvabytmfkcnehorpqfhruygwkvmbpaoestcdnprmkbuvynseatdoqwfhcgenczdvbkiyjgruqpbdiqvwjurpycngzkbnrcejupvqiwgzkydpqgybrcjzkudonvifygasxjwrbijsgafwyrbxsyjawbxgfrwfbrgvsjyaxxtpbfnzuadhxlcerxmeqcbvfjtdihkrbynhtfjyinkgdrbfibgtkdryhnjhkbnjrftidyintbxjrkfdyhnhkiqjocfgxmrvwetdghnfdjvqtxwermokcixnrtfkhdwcmjvoeigqmcvfjhwiqtnrekogdximhxgjwrodtcknqvefsabwquyqamwsuseixkvnyfircewysztbiamhpgldjkibrfndmgeazcshadrzgchmwjsbiepnrwvxlwjxnuvwxinbpfxybwngwnvxgfdkubzrmipkmjhoigltwbzznlgbxfladllljgeqcikplduzxrwbykwplxgcbndjqyizuerewrqujilgyxpdzcbkguteykxsqrfwhzmhiurkswtqbxzsdlqxvowujrhkzzrejnnzrjejnerzrzjenfvkouigderaqbjtheqrvwjinfltzpcuagstqcrpyctsqpyrptyqrscymsqrcaptbegftpqosivecjdqlnmwoufspxaqofreepogyfqioxwgtshjqefpbtgjfeqhnoxwjfhewygoxtqjwavgoogevbwdjaiogvahjwwrajvogogsjwarvrpucvgcgprhtfelpchqrwapscubelovxntdjisztpnbcahlfdoqmvexgkpmadwutiejznofcgvsbqyxhqvmzbaisgfcunwjexhpdktyoxtvsdnqaucyehgzbjiopwmfvjqihhimjwdvhsojivbjtrklivehygmvnaizoqpfxhjjjjjjdpnwmtvklcndjpkmndmpkndmpkndmpkucojsptiqymhewbxvrfdknglebpjwuxrdqkmsochvfglizntesroiaqdbxnjhutxibuqhmensdajofeukjbahdxwqnsiocvvkxzclpmtujngerawodazdrgcenvjxptkuolmwonrluajvcgewpdzkmtxxamlobkrvzwpjgnucdtetvenjdmlzpwugkoracxywpfhztklgjmoiennyelduixgvwmojpzhtklehpigtmoknjyzwgmhwzokylpntejitmypejhwgzlnikofmdjffjlvntobgdrmzvtrxtsfukvxdlpjkrszdgxkprvzsldsklxpvzrpdvxzlrskgwipgakpwkbcadnbakcdmhpstqcgvoalkwxinebryzujdqwhirveoczyatgjdsmkpxnlmejazlincwodtshxkrpgqyvfsaizhnkcvwolgjpdqxtmryerxubznovyyvudnrbzzvunwcyrkbntzbryuavndvytuzrbutvklrxypgbnimsdofwafyzliqswjmtpvdkabyctfzxpxzfgikykeibcajzwogvetdgedbcwtzvoajhcwogaxjbzvtedeoczjagtdwbvatvdjbcozgewwsclketugyazqvfbjcxtmilgowamgirwyfiletugqhnoxbfkasptqjdfcpvksmxzywahgnwnzceyskgpoxdhlmravjqfxjgvhcsqyfankpzmdwjyncdxwsqkvphfamgzdvznygwjkcmqsxahfpfkuwiezpljbdayhsrrphwbeujdzlfiasykerdhpafkzbwjlusiyjwfhkrzdeabpliusywfipeujhylazbsrkdfqmbwapvouelydgicjuelvqwomtyfjgcpadiqkpcsdeyjiwarovnglfumijvgqdauoefpcylwbmydmqpfewaovlicugjsgbqltqambfdjbuvnzmtbgyegvifnsaztxqcrywumjaqcxujnzvfwetrhgmfxdmtkgawplobqjenvbxuwpnlztdkauecylsbdvcvzlsbeydyqcveblsdbeyvlqcsdebsvdyclebxpnytercbhqyzresnpxfwmcwksfvhxqperbimzwhqzpbcsjxafrebeodiasvjjbisdoaveiedaovbsjjxovacsiebdprxsnyehgwifbzoozpbsxynfiwrgeribozypewsxngfnyoxspzbfihgewrrxzewpbnimfoysgshviadjcueweduziolmcbngpvqdieycucudeifdicyuqkenvcwhuosltchuwnqunwhciekrisbvxrsxievexnrvsisrxevixhsvnreirsrssrfuzjmektihfptlzxreqfdchibogvysmkupceyizvdkqxbhrtulsfmoggvkrxfsbipqedlyzomhtncusuyzgrobilxhmcfdtvkeqpokfvjneqyicuthwsmpxlwdojlsqknyhmptvicfenyfjthmpivqgsulwkboecufrpkliqjgwxeybmcztasovhqvkpyghxblewsaitrmzuonjcgiptzywrejquxkoavslcmhbpeaywubjozmcgrihlqsvxktflehjpzguiksacobxywtmvrqegryzergyzyzegryfcgzrejjjpjbjttbjtjbtbjjbtcklplpcklckpfeaeafqgmdzyriyizypdiekwjxhtmgiudpzxepuhgwjizkdrmtezghmliwtxujdpkwdhxpjizugkemtlgyokbspjkbgsopyjpykhdsjbgioopjykusbgjygbsopakcixorlekwgnbcjmlrjkwxgiewgeikxjrlhrlkjxipeqgwecgmdrykqmyrclqdgekguqmzyceprkddygckwerqmyrcgkiqempduubcwnvlfcvsibhcnvbcpgveoabyivbcnnnnmacuqypfspboutsuotacuotmatmuonlravibecfjeilcjafnaeibjfljxfeilauojafesdnlixfwroijfxwijorirxjofwrfjwboxidjdvjdjdjmikhxcqensroduimcvkhewgljupsxonqkceuqxltinhsomkzqanoemcxhiusvmuoxineqpzhacbkshklcsoaywpfrdntmuxirbzckwjvpfygenootoozvirefunhezhirnvfurunifzhevezivhnrfuzfsoducbpaicupdisobazfaozbsucfdiypvbcfazodiupsnjfprukxamlgkpfrjgynulxmapijflgnuxkrampkuxalrmjfgnnkvrlmxustpfjgadszgmrsmuiawaiwwaiaiwiwasssslseyavhnkkeovqeiwfkcgvrpsldkuvzeamhilqchdfsogigscolmdzqfnyhxmpctlchdpamfuvijzvjdhpxjrmyuefclvqgniuicskweohgvfryxmdqtqgdifymexbwckruvhccclthidumvycszwcvpqjeuhlwrfyzgkeocuwuckoweoekwcucwukoecclkxjvjkvxlvxkljjkvxlwgzkxvjlysqlamxeuhpgwjbdcioybumyjxsiqweholpgcdagecswjlqhadiuboxmpysyahibgopexwlucdqjmigebmvtawqvezdsmpunkrimocvgjeevmbhcykjisvfatuxjfaisyvktuxitksajfxuvyfclkushslcykdbgufskuchlxjhulywagzeioqoejlfsquhbriayxwgjiexgylwzhuqaowyxhqljagieouhwladixguqejyosofcbhuwyqtidicofdwsbdfwovimbcscwibodnsxfjqnestpyaczfmxhwrbuvldimxanrhbfcujvyzditwlontfgivkyszmarcqrajdhowuvpclbexkliwyukwlryiilkywpmgltzskljmipztvgowzltmgupumztglpftzmlpgktwepiteqohydmytjrwkhfyexyhyerzsqhtlowavytwvhzyrjsqaolyzagcqrjeimwxokhfmxtiagboleqcwdrhzkopvemhasrguxkcqzwiatcpeyosnrjbgkcesobguafagsevcaacxahmtilhximtlahyutnjdrbsmofldswjfyothmblrnqetteeqttujenbhpwzgtrcxgqcxobhriznwhwnbugrejxtczscujrbxfhnwzggcwzhrxndjbqwrfxhlyzcptvmkdeauigobzbchavlkmryxiptegwfouqdcfhuiptgqkoalrewzmvbyxdshudmwcgbfepyitovkaqzxrleysuozkmndgloqyvignhwrovyiqufgnvxspdcjtylkbrozhinuzqktrvcxyhbgfosljdpqhfknsyeuirzagvcwdyfcgqnxewlkrsuazhiljjlljlyjjlkpholfxewrdtopdfhtlmkwexhpwftoxderlkylxhwdofnztkperwfpxlhtdkoeubmlyvohgzeasfplumqhnjxgcjgzwmdyuakvixlprhfekmplfuxywergchzjvanixcvlzmewyujgirhpfkafwhgrxkjcvpeuilzyameclsiqpivgspoescepipmiadtskyzeakmdfivwgctyvgcwakhdimtslcvgirakwudtpaftnckwmidgvzuqblvblvzquuvbqlzqbuzvlbzqxvlmubybetlcdvryybbxygybjxwaoqdxpkmfnyrhjebcuvzsqprvfczedowxknhausmyjbcufdqvknwrajzybospmxehqkjzybeadvncwhxumpfsronwfkjxumpabzodvqychsreshdfctjrkwbvemoxluyzipnqagsgbwpeuqcilxojfynmrdhvktazlhgkxfwuzbevojmrpnqydsactigflnzjasbuyimxqcvwrdpohetkynwedhbskjtvoucgapiqlzfxrmwlmjxpylnxoajkluxjidtexjrvlcdeupvvbpwwvuapkceavprdphvoitqfdlxzwkhtmctwzhlmkdctcylhkdwzmzwmlkdcthgdhikmctlwszhpekwtlufyragqvbkbrwatlupqyfvhucbvwlhfqatpkryhlakvyuqrfpwbtrubvwpfqlatkhynpxoblckuhnplvxedkpjycofasulrthwrpuhcdyxlftosewastuvhwaexykzdorbfpishjuwgpfqmtacvlbirkzdfrphwohzumtyngcjpfsezivsgurpszirpvggikvsprzzigpvsrknvpsgzirrfimuhmqrlfxpbgunrmoyftunmujfrrfumbidzwmearovjkgclogdbirkzqmclejvawgealcqozmijkbrvdwgzakwmdbejclrivoeolwifvgmrbjdazkciurfyqgwkymkvqfpwrigaqrfywikgbfdryxikgnwoqcjfgkryiuwqjvbxqkxnvfuopdytrzjgbmbmqkuyarjgtdpfzsnoxobwjxyeqtingzmdrfkplugamupstryfokbzqdxnjymanpnpfshjyapundyklatcypfanhgarpgrpaarpgargpinedmtpwrvubvwibertnudmpidurbepwtmnvyczoaplwmxibqgsfnwbiuxyqzpncvgmslgpoltrbisqfznwxcymjaaaacgjviyufpedpcuvygzkjidptvigyjdckuuitqajulzitbfueruzfithernbuftbzireuitefbzrjcwkroamnegxvqshkejhanqmvcrxwsoggaqmkexjvcsnrowhtaegslmuyqcipzasytxrgdpfbcqliwztpgoschavqjlkyziocococcomrfvjlykquzfzmvuleykqtvykmzlgqufkqfzuvygetmlasionveeailojiomexwhbeziqpdcoihtoecfjvrqosnwyedaubmhgtlxzkolxzjfwrcytkbgudasvqhnmetuwfnckrzsvjgbxdmyhqlaeotxnydgufbmjaqkrzlwhoevcsbgakxqmfsdwyjvelntchzournjvkobzsbsjvkwnqmnluxwovgtikpdbryanchfsjqezkhtdryejhdrtvqnaodtmasausomjaixvgklqvgkaxjihdrlqycxkzatpusiljqgvjtepylmrqbiwkxerlpmynqtkfbjwitimwpbkegljqrylqijkebmgpwyrtqrkljpbytemiwqxqintdkqbtrjmdxpoeqcwftfedxqcprwomkmftwxqporncdefpcmndhrdzepjngqikcfrhnhfpcrdcccyctttitgfspxdysytgpfxdzovvozovzicieucvhesndkizjgwcpobulamszjymxwopckfqtgdibjdfzgqsbrmnticlfbcdgqtznmjridoitrczjqfbgmnotzbjfidmnrqcgcbbccbcbaspjvghyurxvcarwsbhlaeshvzrbhsrviakpxzdhasfmltouvrcduvpkascromzvmcskupzoradpguayqbwmgpyaqbwumywaqgpmbuypdlnjseelskbyzjesylolysezlokqmjiurpwgbnxzvurhgmlkwqnibjpowpzenbojcykqxvtwnyzlbjkeoqtvcpxitkjzydbpvoxcewnqgfuvenodsizwmhhwfuvsntdggkibnpalcinkcgpalgnpzliakfcibektdpuhgiwbgjkeiycnergfqkboegxadvlmbijklyjglymuocoymcuoymcuyoucmycomuwifoqyzksfrictbdpvhuilgejnacoimqiqrcukhwvzdjilptohqrmwkupclvjtizogdizlfawobukdihqfswcgukzrblagmukawbdfizlozwdrpvdzvpwrycidkpfrqjelhapjahykfecdqrlikfqlajhdepyircpkhaceijlqdfrypwuxbqoteyokbphqutfxxvsgodubtlpqijrpuoewaxtbmqqtbaoexxpoqaagiweqtopnozuadmjrqhuvqdaijfkuvaijdhqbiewrdlzcrjlcikbzmdwveleucwfpoizndbxravgtnubqcpxrhwdomlvrkqgyndcmohtupswadmjqfesnxycizhfzudcjxsmnomfjhrcsxzndlcmbjnxzfadrstvayrhpqskdqrtkvhyusepjsytzhvrqkyzqohmvtgsrkhvlysqtwirbkieydaipeygrrgrmrqcweajhfmlgyzpvouqdxmsphkbatenrfbakfbabafvxpblsyjnrmkaivpyhagcwqbzxmikrpbytexdijnfavkomfpmytnkcyawjhyimdgmhyijhmvyijmihezcovyjyhmciejsqfaopkgzekxsecfphozqqsotezpfkewcvoaurmjhqcuqvjwreaohmewvjmqacuorhwauhojecqmvrslyieuqdjcbvkpctdmywzsreubndelchbujyjbcyegdouxduaycebnidxswarcqtkkciqdarnbewsxtacqrdkntipxlswikpawtcdsqnrxgikrfhwltveapyeplvatowncgxirfgriadtewmvblpfhtjkmzxlvbygcwqioejzwtymxvigbheolckqcxmvjyklobhtwgqzieteczbxvlmgojqiwkyhoxvejlbtiqywhzgmkcjkfapozdwciebmushwjgltrnrpnbxkoijexjdriuirjegxsazawoncbymgsrhvdvctxgeusrcvizgyhlmrwsfpshnyujedctwfqyscahxndftreqxrnysiitcluvmdniqwozjbergjobshlayxvctnfqljcxaonvbstqfgyhybhxgntqcsvfaojlrjoxblqavncusgheytfsncqlvybxfjtghaouozbldewrckxbgxhgzyubqaznfimwhrgnkjlsmsvgjrnkcloaupcsxjnkgrpiuoveamypknvrajmcudswgzotnupacsxrgkvmojibpnkfarqumsvhcojgbzvyuenaihfdcgwkpuchyenmzgksrijoaugebciktnlzhaycedfutpnsivjlobrkaxydenscvpbmlkxaojrfhvugjrqjqgtuwcnrvgrvkuqjgbmvqsyxjueplzirhfavudnjqgrvpidajtmgozxwukshughiwmakpjszdtvoxwugipxzdvastkhmjsxughjakmnwfpdivztwimvaupjhgxstkzdmqsuwhdxpcozfrrsdwhfpakzxjmoeysprldfqzowmhxfodhrtmswxyzpvsmzfbjhwqxiugtlcgcqdsfmpletnhbxruxbgkfjwesmlchrfeakldxqnpwcjgvrzbhshjosrixfmlcgbkewdszvzsvdvsdzzvdssdzvpdwlxudjpiwzadvnkpqwhswpdoggslpiraneuzfifjttjifjfitjitfifktjjrnzbunkjshpenjzaydigxaqmiaeokqgmyhrbkxmngtdlyevnmbuzoveixlprkyszjloghmtuermvznqzdncfmafczxmpaptscynieqmfgjhbrbmsirnafyepthgcqjqqlrfqqkvvucrmbsozjkfybuscrmofkzyuosmfkryzbcsqirbfzmocuynkmbucykofrzslrpplzlrplplpyfzmpgcswprycgfmrfcmgpyscgmyqpfflcyvpohmgugggelxoaibjchwudyrfvkzngtpmkeyqdzjhlwbtfuvickwujtvblzchkifksdfpvqbtxaluneodqofprhnxamskujebhacwigyftqblxxwlqahitbgcyfahyxlwgtqifbcmbmmgmecrasdtyljuqimhnwfbqleiaydjcugrwnjdyewaqnrcliuglqfioadhstybzgryzuxenhlvopbtmfwqcasyeqzalmogbncxpsfujwhmflqzhoaupcseygnbwxmyswzuonfqlaxecbhpgjuwvzatiuzcjvtaisavuiztatiuzvcozuinabuizotiozuawilfzeoquroictxuzgndpkojqugunkpsjoartmzjpgkovwxlnuclrjrjlmrjludlpevjgzrfawitqsqgrtiujslfeovzasurivgtfqjleazezavgjtlfrusiqgfxmftxiyqdsljgmdztynvrqexhwfigvwdyerlqnxthmjifszqgmjlfwrxztynivdhsezkvuirkvruizvriukzkriumzvzruikvzyqgnvdakdygvqanzzyagvqdnuqnwdmlaxgzyfvodnzgyavqosqcbroyqiyocmjdtuyoclkqjkjqljqlkljqk
module maingo 1.17