forked from HarshRangwala/Interview-Problems
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFirst Unique Character in a String.py
21 lines (16 loc) · 24.1 KB
/
First Unique Character in a String.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# -*- coding: utf-8 -*-
"""
Created on Sun Mar 8 16:45:49 2020
@author: Anuj
"""
#s = "leetcode"
def countstring(s):
if s == "":
return -1
frequency = {}
for index in s:
frequency[index] = s.count(index)
if frequency[index] == 1:
return s.index(index)
return -1
print(countstring("fjkadgejwiviwughtujavcvbwpiowwmhhfnucurxrcbjxeaxvobwpxovoqwcpwgheaewrtatjudrsvmihmjwnqdtawobwtxtmkgvaigvhxdjxitjauawhnfulaxdlgguxlmshwvojdaaxnndxipjvgewwxsrghuqnloeouvvqptxqejnwgfupkhudtpcanjbhjldfjwtvntuluixehtrvsxdjenhhsmhtxdxeohwwdbbjhrcjkbxhwtnicuonmnbtlabdlaaukeoilnenbgonwejiuvriuopvoaqsisjasvrrjmiqsshhkbqbdqajsujlxlncffhjktenjvdswgrwcdqlimrbgcxdqsgrrimomaptdqhdncninjmgqswpqgkphenqfehrwrakowlepfjxeublosospaswfskakibbbqrmdhptlahrperqjdkmmbviselhvvbovnsqskebdlxqgadganruxafvojkhrsxishrydqjhvvhcirxgeblsixrfrcphnaexhxagojwlkgjrpgggnhjogdcisoiwaxotgvoaseexkhmejapilwjatpgwkwpglgieviembbcbmqjthokdnpgifaapjsdowwxsnqakrbqlcipvjjagnrnovjvdpbfwjgvfwoectexekaoexrhljvicdqpseteotxrvxciepbwmvphpqfcbktgvhfvvpjaggadtsdlbebvdtwigfgwiqchvqjxsrlroasmvfcvpmlmrenlcotnassmtxmgldiigsvdnbxgxnqmghlqbdvwrceuavnbgkjmoeiibgbpsqxmcfiwmmlslwqhcpnavjnopvtmtuaxgvbvvxnftboawxfotituohnmpxpoccfovtwohkcvpjfqkneqsxqetdbqpimovranguvpirgpwvjkaanfoldqlgikibsvwbikiwpiblsssvkhoppgbnnawacqqcprukganktcapvgrjpgfucssvgvurbebtovhmbemikugwaunajpovpjrdfhvqkosdfoxpkqfqloeiddfuxtpdotohdebhamsdegusalqrhbivvtqtkrkfgbbihoqeqadmnmwguonngemfxuiwjrnnickpcesqvjeenjfdoiukhhhxixuvvekbdpbudoplvaflgdbjnrfrtdqujeeagradagoplvxnieolautxkjrbbpjmrrigtapjpccarqtvinxktebpeboejtrhriqqfjpdxadooirukdqjwbvpuanavhinqquglnadqkktktlsipjabnvibwphteowxjmiodsqexavetphsqdxvalkumcxdblbgubwfunrqpdvnxxligewkafffbiigpphuijqbhbxplnseakgjsnmpxvilfxeufcacwnvjmwkosnocfphfdplffkuwjbrelnmhuwowlebqmcxwgihncqrtqlcqevrpbwcmmsdivegdjwxbeewbfcgkkspogdcuagmqodmgrehhkimdgtmaodersowlhtnmxgamiqabpgvnwigtmfidmvkbbpgvanrooexqmabaiiqngopkwkmrahhsonweqbitgcatrfnuduiwbcfhvcwlrimdjihjqpadwxfwqonuqqfjhmktqnpihcjvkqrmpxsvwkvqiljjqwwvaumnitxblugpsomunjobwnhsjmrdsnudfcegdvfwuwkcqairkfuippeldrejwvxdnxbwljdgkixvexunplmsbquepkldefpujrfeqqhsnsdrxujvtuvpsqomehwlfxuwpjwaalkrgexgivpuwgqvehuudafgaknlbafdviummpddpugartfhgvuedfapwptipekfxbfkxrwinxwrtrmtjkptmhpuwuoihxvvenueitkobaoamkfjdovcwurnqcoidhnmoltjwovntoivfnptwjwakgptmrtdkwmknniksiaemjkhnreosucgptbwtbnpfdiwhsuxclletjvxuisvwnqdfvhnudlmdwcqocphqfgvavamljjnkfbafsirxnwuupkrjnildaqolxnhqudjofnvwewjvjgergpbrlrcmdchvgcqobhpttebikhofnlgaldxmeqnkgfbntagsqupprvmdeexhtmcewmuviwuvqpemuhjgblsfwkiijnfucdichdhbxlgglqhichkjmeascrcgtcadcwomgijsswtlwslufiblkpiamtnobshekwhjtssxhruxjtqvgjfnbldggaxhdospulbrhdbqpcjxmevvddxwkcafpiajkotfpeffabgotcjfafctwwghgkamxkruesxnttceifdqjbvadgixnsdolettoicjkcraawigfpvolpeiwhpschwvliqsmaspewpvogrmjphrathwsxgklmwmewpcklswdnbegdtfsfwqxpgjnqwcsdmrifrsgajxnqanwfojcqflkjabiqghwkhgwoodbrajehmrpdlbqrckaknpmhxdhsikwjnduuguocuhkpkemqvobsxsaxivnswwpwhenkubfqbpnxksgvawfatklxcwqesjlfmgndspqtkksmtdghalmoeapwnfiotlrvcxfxhowjahpfpquqxmgshtlnqsvkcubaubeglpjtsogudqqonjtvptpmefxwpvueamrhpjijbioxkekcsktpsrltqhocjnishwomlultnugxctsemixxqlxrnhdabfwcirclhqsqncqmdnqegcfxtedqsnmgotodmunurgnbbltgocvjgqwvijxwacsgbjrpsqhjevmgtfpfllxmnllsjeleonwobxfeluijwghpituibxqosskoguhkwgogpdmdwailixxmdcsjbwwngfnjprlhfoeidheumexqjtsvkebwkrdbavtcluavfuhtedxwvjvqjhrrnibinhfejrtlkmukgaowsnldawctsnvrfgdgjqouqbxsnbjhpdtsopkbglxqsmufsxncpevcgowiumnubevxqitbwrcrbeaftkicpukgtpqmgmsjmlufpboljpuuqwaarhfxiinigunaurgfxiilejdxgwgkoalitxcrkogihvfkfmdbsejcpicugmpdendlsbrqpivnitaekmiogwpdhxlmrtogscxcvvbeuvsqongukrfkdxseuugvgcfnxrpfvmjuevnrumxsoecniodfqbdivsdourdmsvtbvjwaqguqothjoliiawceasxkitlwdqgdpiffkndnbrmevwslgcmducdrmgxmqwksldlhlbfaaljxlicicnxledodakhwtnpojiwilatkclwctqgvmpegwtipdplubivoibxwretlaitvlwatdjmksvrgnotofuudjwpkwfhdjcqqedwrpcghrgbaawqenlmvtvvmbjwbosgsnwkjrsjptabvbxafjefehaatdkhwopdnppdbbkxrhsxfdknssxhaepkidiudkrjxrwjcgapuvmualwndaflitasukrewcjoieedmbxirphjvedkisvpwunanqxxxnoukhrthbeualcefmscirxfagflternqeisettqcxbcqjfxatsxfuulxrrnahqoxgihniechcfcdcbiocdqvmldlhifsacsfmfnofdjutbmhfvjpboframdtvkudikjtoxlxdqokseqvejqcxknrbanbgpqjgvtodojajupjgopnmwpqvpcnxgqliisndfrrtlpiqgfaqhhxxdfbcvtmbwmstucwgrbkhfvbhxbbhibtvikfhnqhpjrgitboqrmdhvljxnrkeanqfnouegsoloxwxwfdjwtcccjbpkwuoxmhitbfqrhjsnguxupwaxeijexjrojxwwuigjdklmaipowwbvihgermtdgakpbceehlgqurgbndqcpnmcggsoribamiehvphbeaipmdrapbfqrrbclsvmtklksppvpehocgggtilhmdhimkhnwfpoblqjroksgkgsdxnfchfaorolbhhexnxuslaghngvsbjngjpvxbhddtjqwbbovtfpokfagetglbdhtfmnuxqwnabamjudcpcwfqexfkqwrbsrssmfxhallcfbmurdviwcpuqutavtmtgsdcgwcjismpgvvfxpwiisuxpocxdquvitgdshlpibsaldwtponnbomrjfbnscbqqltobquxhkuvnmbnqjlaiwpchbicrltefkcddsudwusgmhfedhwbglosblhqrkkahqdkhtdrmamkxukapqxxtexqgcwvbxhwawosgwiskekcwehjnmoeortoopnssdiufdefpqfvhlmolowhfueoxdlclrmxenpdbhtrtdjmnscgdkorwxpopjffsqemwvctslnhkounjlfsraprjvruotlgwuljrmdtawaptspjnflktrsfnpqqecmhngsfejbfeawrwfiabiffjmnotmwkhnxgxvccautpgkgmmcqcmfemesrdsusjceoevbjgeotsvtxbvwxohdwhejwotamotairxlbrjnaokltaatgwrkfgidnfowlbkqffmsanwukdmtbboilqttiabaurkjbkqunifwibeijrmrbmwvanvvopgwfsagnbnmirjiquddvhcqlirllfwqbbaxwahhxfargjrhhhsugofnphpbwhhnaholrkilxhskpquthckmmovkvphhhfxstbbafkstgpcqdglmpvsbxplonbkvinhccpbijognsfbbldwlpptfiqxbinhuqigcfankppdtmrxxvgeppkmandauekhexwnuefnpofcveclsliwrhegqiohoscjdfhdhpgdowplblsgalslqpwixhkliddotkcrtolmxpxfjpxpthreuailfuhnafgfdoaxrbulsbdrfskwdfainqrxivfvaslplbcmibbwqmegdscvopgamiltkedkqibemlwbbujfqbsnnbjcglktqrmalikvgrsdnfmvkdvjtovgdwvfkdntbbvvjqcnmmmfpfobfhvsxumhdipptgxnqcolowdljbqbqusmshjhwubdpjhiaeadechkrjfgwxwqklrhxkqbaecigqvhjnqfvlhjlrahsqwrnitcocmpdoqpjvjeprgseeaidodnflhvhvimgodkbidxxqsbqadtifqqrixbhatmkqigivobkusbajjtwkpqjvibnaudjqanwdsxljvnmiomeqgfjakqxopcaesskrhibfhhpbiwroibuobnqieldxhujnbhdephfoaivnwdqfwixbctltmkmawoqdqjsrkhbvcqtfqmcnqqfcqqscdvlrvjohijrjwdgeqhusgtggijxsnmgtrlplmfchrgasvblkbwncafeinumphwgigviedbuftrvwvjixmfiwonelornlpxcpckwfkofpgkktwmneslmwijxhuhquvwdkftcpilupjaxtccthtjrtfrumxhpeauiioqtqhabmolkuqcjrpwalowutwbbkjqrqgqbrnpnwlufihmacfdiqlavstexvrtwmfuvddohfjlpgikwtxhramwjkuaaxgvqtltonavpqxxbotrvkltevabiukouxafofhvmgwfnrpbkipmvrshawjiiwfomfjmbctmqalwcipjsmgreomsvcvmdsvxwjhrasfwrcaxvdagscoaetautdfmbhksulentvolhenixdsaicakehaplqrjaedwotwxcmgecgsdwivrwmehvrcivrbtkljelcwigfvrtpggfkbouicwwtpcpoeboleudwdhgbcjjkdjbsvbrpcipmpddhddneungqpfkbgufehfmgckfxlurmrlauwdggrhnjiktdjeggdbnqajqkotttpdgnvorrktxxpnqrlgeahgmoxvtwtnfjhdwtihonabmeuxbbefhksmcsxonfcrhgkcpuxuosuqfwhppfdpafgsvsxvgvtxccijcjbfiadbjxxwrukeohjraqrspivivgjhfthlnpamqoothvxnrseiitdmoncmiafvcqrwdqkidssxckdckmpaxdgmolakejtkrsxvebqvjfekjsgcqxcruqjreuitakmhiqqramdecwulmnpwtbucikoekhjpejqdjbwrnptfovrtdtavmehlsrdehuvfbipatpxgfmqhgkfjpehibxrfsvjsetsfgfbdhrmhqbjljnoghifovctqqgiwqmjidsfguhffmiaqqwnbmqcannmlfeqxtqcwboebsbcilalhjnkdecvwtiohiijwnvnoxrwmrpshejliglvmrxahodhljackxecjvllnsbwkqdashovttqjuxgiijnemawiguldxmpwtgwrvtxliatjmmrbghaalajiwctfaqbkxwsqdsphmskqqaukmtxdiagkirdlanpkjrhtbmebxrtohqpttgealxogfrjlrtswhfflssqrqlqskwltchgftvaefrowikifbeeadkshqkigjrgmrwmeatttpbstatcaigmkpxrspnkatjcucealmabumjfuwfrxmkoqmwhdmfajapfelardmmrxtkapfaukeiaekbtchrrbrcbteshmdxlmvlrwdnsaqalmcxfhbrnhocndwksfhkhtjukpadvtkdibmjfkcgmnoiqcrjspiufeigrcnsujaqoshwlsroorscubeghthonwcqarsswlsxebeoxaxltukdiqpsbhmhxsosocoenjjieusrbetveovqmheubdghlqnfchchqtvennsiboglpotdiniefbvgriwigofexavlosmkaginfgnluugkoplnsrjtjqakkbrdrtxaelqtpuljakmpvpnluniwdelrcwsofkdioxwoljuleicsihwiikrsuunbfpitkncexaeflnbdigrdbxuvpjmouwolmeddawbefxxavqbrvdjlwrxrhsslddxwpnseilloslcadbnubjbbruamkulqbdishrnqingufgkumkfefwkfbxxxxronhgiisrfxjlkvnocupbqrkdtxwddbfhmcdtapsfcalxacemaawhpegivipafswpmawuqhvfldppxcbaebatredfiiogedrrxobhhbfaaalebnmsaofpgribdfsejconumknfmratqjotmfcbivbatugwbtuecvseldolaqtssxvpnehroqtflrscdreeaokpksbrgusvoxjvdjkqawtvjgoplvvrgrdebbigfmfnuajvtulgwisrddrekvgelwgdjprdfiurvrwfpnskrmxjlafkhkrvpocnaefpwaoljmaionxualueafqqlnvldhbkbqelrumqoahmqcsvdopctslxuebpokbsblghnmxcgflkgfkfllbvkhwxeigajimtsfkslauridlbxxqtxmkkpfbpdcmhchaidgrerjgffcarlwuaxxsmkcehpbcetjnpvoegsnumdkcmluwlugqrcpojcusgtefqwnialnnrvebaoqvnfivrhnjklnswdkhvilabgkskigfvmrkfkecfrstntlltkssdtjdsscliojgmgrgmemvfrifibgngaehvovilppakgolvlppccxwagngdngqogiwabqqlgajqqlvptdvwmnhpilqpillmtnhpellkvenmfsmsgvcqcggrpjrmifippnriqurrhnnueriivnmsvknpeokrqunakqfttfcqrcbifsaghtfjebkaxudofilpfumbinvgfdbbrlghnpdaamnvgcmvjrcdxstcmtlucivogoirvrxnxbaolqeldhrvbcnvbrujjbmrxsxucbiatrcsvgvtddcerurdggawrwxpbxtjbqicuvskfmnlcttrbjwtukpssxxcgvdiuuflilbnrkndpbnlbhnwsnqwmebsfebicpicjvxutrnmsladpaoeipnkavihxmlslhjqprdgdhuguldbfsrmgaeffllhlfcvigiuqjpehfeamiiedhwofqgqdmrnjhocqsmpwerwcuddcrvmhoeleatkdjtxjdpqdfpqakcljkkgpadstoftmgcuetjoepmajopqhsstorbsbeswojhnltevgjlrbmosdvnhcorxxhaolvspjwlkticossjaitwfjcrmrnphhwgdctkwtfikedkxxacnccsrbfsquxlclffbqouduwiluomxvchoglsifockeegbfedhuogfmjjqnakpfpituvixevhdavauesrgptbemgexxqtwwbvnnxkbgcskbijkjrgvhnnsdvjjqqgvihgtqtremvlaowrtlqmngfbmkpqfkpmtdjsxfqfavgkuhphakhrfurxeqkruevvripkoegwgkogqmevrgowwplnsvptnxciwocxcovewbtijglbfaotibbmorpxbkghloawdcfwhupajeomfpfqscfexvafhvjqiokcjbgwkliwiglfrumveafvnievqideeaikkcaswmacvnewhvtbafdgbsrpemulautvbndlejverhqnsudwlrgadlrkcaevdajumkpqdcjdexpdqbkcakntkudhlumswwmhecnluftinciickconkshpfpwojcbawkoietcheldmknmxbkbsaumbeuhmgxtcgfriilodwbecgfpqgrnavtcbdekmeuamiehgxtpqeftxxiiuhjahipaorohxbxivmgbqinvavhpkeoamojdorihjpsvnpskfqvhotharrpjmfqpxcjgvahhsdqvnneaooqbjjdxlanjmsmvwmargocaiajphuvanfpharilxlbhdmlsjtiloccbeldlftudvosqndweujtdjcvfpproaepevwxqmktjmxjnfpfslkmunuliqqrisnchuioipsbcsduxsguvmxsuxdtbopjceejlibgrebwfaptlmhvegxxrjghrptjmhbwaskbudccuwfhmltaqccjeanvxtfrvtfxwcsvrfkfntmgbfblrhjcuhjxvdlkhppgmhjmpklqbqebrfbppgdqdtrerghsaexctjaeajujpegjfjlmcgavxxvumfjlrrgdmkgxcsfjrajmfcilrqjqjbggoahdshdbehduwhpbntvurhxsomnrjbcmpgludfwlodhduobxuotarqqspjeipaunxavuduhlrmteuxdmorcpuhumnioulojrnvdfeehrecghnlojltsldrcwqqmxusdqcghwuuvtagrejrbftuetobkchcnbtfbdwcqhufkknaddoduxnwoxfffpmnkqrxlibspatgeodpemvwajlgtpavsnfskvlwkalwlbdqgxslepvmusthatokrtdifamnnltfmcssfojwenqfqcvhhtqmstoadktkfssaklcndbjvdueaubloxphcgmfsfrhoilbgoejjpsktbnlobhuvjhanegsvsgrqqivapvhfbxuwhjdpwmpmdtomnjtkkkjinhjfoowbskxwuwnsmankheaiavjiomxinkmojiuhabcuqoahktwxfinbnlminlkwsinlkbdmwopieiwaqnkvlqooebmbhjekdjvdrljljqmrxencgpactnthoqqunvlfbeeweuhrdxkarbwhvhkgfgeocbrjfpapdtsgngmrttqmlbbpewokpcbqispxsgkpbnwieikbcuiwtlwklnfndtrqrncxjetndssxhjpbhcqgepmhddpbqinleqcauiktkseaitulsfbtlfewtpddpanubfxtckgwnonowfbulntfcfhqldlnhnbjbtqxutibvefpspgptcwvapsnmgnxagjklrgnqrqkrnudlbcbbvctvuiufhciddeqpjbeqnnjjrjmbdxvfmggscqwgicjguttwsrnuhbpfjnpmftraalxosjcpifsuchkgmgqsacuodagnppnrkjncfebjhkcctnwkhxuuojxtjcjtblcqiibubrtlvkrkaiohlwskdobeclipuwiguitwaqposvrtbhlhajrsvbbkflkhwcocvaspbjfihlhfprnbwasgwbadejhvanfmkkhqllomkmwbaxtvwfnonqfkggartauffejaaakxmadgwjnuoxjqkmrelknjfdumfhjhxoqlogbuxpvnhvwgugulsnnpiwmbskogqgbxwpgefjaakqvxvgfofgrldqfmuxrutpetolcnxwrwvqgeelvwlpadvlpwlmbbqtcqekoxuxnosfaebhdsnglrivjghdpnxilfsmkcwmpiqgehmqqkrerudxunqbtjahwcoanxuvnvwvbfoplgqbtnoqhshjmelaupkxqwocpewiqxnmfxcmjtbsdfssdpidevfrsnmcgnhabusxvuapswutpwklhipqpuxgmwoocbrvlmfpevaqpgpnugawbjboukiogqmpkomwoihvcttixucokecjasegmraahlgsxpafthgjwfsptpgoiasunrsaoqxopqnsarnicjuljtefcibhgtwjaqjulifgxoxgwodikxxlsoirfnuhwmapqhlctpcrhwffrncfuirrkvafdqqintpvfehbvpoogoqiiglximjeailxfjlqwaluijekkqshfqoxlkmnvupnnabitopaoudurfmnrausmejkuqoblpsmbdjaujkpaxbvxjwcdbgrkaarqqkbdferdufgrbgpsxmodmkbhtgchgslkdggnouuuiuurxsguomqfgikgmgfefjjpiuxatsmtrxqnkfvqdceuhiuaouujoetshkwntgkbwulnkbudomiiqsaersnfatjrrsrthignhenaqftpqtmtagwcthsjlolundstobianpvwdjreapskanwmwtjupnqudvpnixacpovqlfaspjapxfphrfdpnijbmaaqvdvcoptwaboalhqcnhlwfhpsmppkhuxewojaitixlfuwwcidkuixripuvkxaejdkcgkfxlmedcsvilbbxkhcfqrnxbmcdhtkbnjjdgpeiwhvpbsetdaqbigwsvnbnwatmbvlsliitsfvftnvwnkjgowhoubnjoswsmimwmridpcordimqkhmdljhehbfpxatdfieoiqtrdhhuiuacrnjjpghthnjisujadwkdhobtimjvkjkekncodhpllfddfuihasoejdulebdmjxbemxmuncfvsbqrsbjttebrfwrqbfokvfwerdktpimqwidixlmjuutswjddgksfgfadqqkjpjkewdrsokqtdjtqjkhltwgqunisjqeqpmabbsnwngwaansspsaqhsdixgohfbbqvtvijnfnwovjtohrqbmlmnaxxqbnsmbhtmsifmjgatwmvutdewldjbgenskjrbdhqagsngsjtnrlerwtutpqommhhwivsxqhuxsnreapwmvgjmxwognsdqdrokmiophapjvrsxkhdqsuvuowtihcjttjdhnstsrrjvqgoubjjikngkvcmbnxwfthmvuulowkcmdnggmnrnsjowrcarxrdqteldbfemflkxfvsmmmrxnqlqfwgpebqkehptlvqlgvbehwlvbnsoitxpxhinewofwihdcfnvchilqbxscreswkrnhvvjqatxjqnuqmnqjrnorfitpgxlfdiiowfmaajblfiwskxfcmrdbkeasguqfiwbdeafdvxcxcarlxtmopflrrfjirbkhacxqgwwsxuelufmrervvkhobbkvuvarluuekfxvuxcvpnpruqrhogjmqskvtmhvqtehlqlecuqgfugwvmllbcjvxnprqgavpvkpdhkjdowpscseuhhkxgrafbirbrkdpkgfkkeeioliifddqjfcaliolgnfwhnnjljjxcrprcjahxksbsvdlawhiuwmahienxjckokbvnhbxindjdipbnkdvutppsfakxhkegfrvmwrpwwenteujtosrnmhkptqarmhfteqibmrpdlgqsddmabmnirrcgkwjhgkuungxdcrqxwjibturhdijllqoxcqsrxlsrslbcaacafunhoxrvfhmbathldxwffkodjgpppauqcjiukemefjxhbjfjoltvkojbmiqbnhxxuwbbjsjdeorpxlhsrerimjstscniuostcuxvctbssntaibfevjbhvrsslkwnsfoowddqufdkaqmkgdbrlusjmxjuhqsxbukphdmtrbakuvfoararjtgwbtomggsohkhhvmluigxsivocfknkbxkhmerhqcvdgjfvavawjgbdkigbpxfojpakfmmhfvenvpljipkwepoumnfafitndfakmbvlfqpeefklwsjojkvvvwvbxnnngpsejmmlqavjdkruioovrppxmbtlngdijxmsmfcawawksqjlhsbtswdbdxcpxcovgtrtoewbqwlsbfbqlqbjvxjljqimncwnedhxfqrhmmewidkmngpgkrdfwtfshpshdjxxcklqmqiihqegdfktknhqkksjngdtttasokdwwlahouwghvlgddflflpkpkabetsqpacbuutlfrivigsrxdohxpluwkssoppsxmphunsnnvtsnpglffcdiwxxavrvrifpnwtcimfuushvqbinuiqhbicuweutgfexqfvbxctaewtpiupowfrtafvkrhdkdqflskgvjhmcdkqpvaegceeqoehriwhmbhackvgngdsblvofhvwwafcfmorksjqbblmmqgmjwgsntbmjglgniissqtlmjhvxjubrmnjrrpphsekmsbtlsvnimtexebhalkbcojuwxxxospbnlagioddgwgumshgegfjgolghqwckckbvjqxvmtluidvkfbrrjumwmtofuubecfrservbufvdbdejuhaboqaaqjnglrlssqkwudrnojcjjoerpamtujvptntvgukwkkmjsnkxlosbqmtdgnnqtxmqlohhlpdismwkeqrrbwfaffbosxsxdsvfroroeajpsgqrmevlrhbqsaxdjteqebxnwtcrhijtkqloajhtukbqxpnquecdwvtiigsigogmdshsshplqhlrkikhtrnjroapjoatpegdldltqfudhvhjmugaprfrnupranfleabxdmimunwjiwpcnstrgfjmkxxoejjiutiqmnfkfvoxcaiuvuhekfbqjorohddqxvdpmgtxlgmuhefwfakbrrwxadfcqttvvwbtfxbkwparwklqlinofrarrucjpjcoowluwhaugkifhcfsbbhffmwussiumnqusmqdwqimlnhqstbffgjwaljcfnbcxgmvjbbxxaqknrlsxxxqrgtxqgjtqekdigxmdfvaqargmgmmgeateqmsunvvfbwphlqoaifwrpcraumnxlmofwvweqncdstpuvavqcbssxmksdiglmkcgwnmiosrsqrkqwhaukqllgobassnagdgorfdqrmtctrbjvexscdkegbhtccnpdwlfovduhchtslkibpleajgnfmtmtqtbbuqlxuuebfnfxgpotclietpwlbnbnljmjnficcxboufiqlajlshaiinakfoeadokdqsuabdbqiiuordtbsasdrjjqcnedjcrgnahjwqnvjfjbbclupnqunslhicravvdengcnehoggvpjkmiwugbewaufggcvwixtqndlihcdphhffsefplvlbmodvirtntnevddfnalevtpwslwsifuravxinivbrmnhvsljjtqjqrqnahgfqmwwdtbwnwgjdnoeakjauhabxklqqhufpwtjjhdtvtejkvkkujxcpenvtnxprjquuvtldauqwwhspfrcmrtoslwfecleuasaiigejoofaihuklrngkhoesdrbbbvqbcstxumkricsqvhksdrlcsqgeujclitooakllfdgccxngplqxhgcdunpgjeaihgvgupltkiwimdbsghtmnwmeffaksutwagwjpljibmsmwxuftmeqgxawnijxhpspclrahmgquhbfqtbgmscdqcxiufjoqgwsvuvkgdjvjredlpgfdjwwniacsvinviwirldxkilwcksovtutgjiitoeuxqpgxpdhposanldmfsmppwkpxrxbuxtxdwgbmjvjvglunlkomqcvcbbjvddsprecwhumvpdoeknlmspuoftimuqjavokdwafbdsbdbffmurwrwthdbhbppiahqnrkewrsraqfxegochueqowteahjkinuethlehfkcnxkrqrqfwvnapjontsuujboigfofkscwjqmgahmfxjefoqewllhpldfngctjawqvnckpfhakrrjjnmnvgbkbntsmehkgbdgprwtupjolfuecrmblmuudirddildvmqttmtbnnfnsclnbvjaqgmxudgrsrowwjgokpbdcxeuvjnewxbluekkopjelxidbkmrejbjkwgnnbcrbhwaovfvpldneekdguslrtrtxkrhktkvjwqixjoqracshgduusjmrfmbxshcmxogpuwepseekfinkfdiecxetoxelxpgkunwmipkgfhxsmnmvklnouxlboeccqctftxtflgmmvxstkpjcekfsrwbjwcuggojnlvpneabqivvdracieiwijwoeojtvjwjkvgatuhaewirebxjwkocptolsvcnqqpjuisiocdtoaimmrfvvntqihogseeexltscnjghpcjhgwausjofoxxeppqfchoctbvomukglwchpjululewedbqjasmqevjajqwmtmdvogvmbxloephiffpfbcvgkilbmntwmuwotfteplkqshckitqudcqlrwjhjkvjrsondppqkxrdiunrjtsfvbhijjtkabdobgedjeshkdihlwrvsfospwqelqjbkiwumaihkumshoptnnnhskuisdnqhdlufbhetacsaqurccoqfcdxraerfhmttcauedevvocdswmdkgefddreiqfvakwornkjugorldxlqxcbqlsdirbpgtjdtesqqupkhsuvlftclexklhactvjpdhgexvcsipiquhidxvuhcttptlwrufkvivnidfeucxesuvilxmtdfwwhqxerudlbuwwoqubnncnjvunmbbxnnehdlubrsookxbiwfcjwkrbncuhhptkojmqtliosonjrkfvckpuopfbvqofubmcgripoanddbsffeuthpejgomnjbabkntjefxnudjafrekpfvdpnpkvpansmtjjfavagbkglovxjdagwafsdbnuihrabaocqsgldgnuicjswpwtgnbabdltllasrvivxlgfngafthoosqonfuoiqlurhllrdexjrsdvtbjscekcmwovlfosxdpxnhkvhulpwapuvprlarwhnjxdjahpgcoeepvvoulowdqjliapcwrulcjggfsxgqxbmtejpoqhcuwngfngclvsqxdhtmhrwedfflgcsbkkbltivmkjhiaiejhnognwwqcjqxfqpvbwdbwjigfisvupvrdrbjgvgtmempxkpcfljmwaamhcrcpwnnasugqphnqxktvjbancsfewumaqxpjouxojfommawqkjtgmohstgfileairbuexavmgopslkgcejaemvxnfwtkgbpggbcgatjeaxtbelopwcafboatbrorikqmxghbkvcupgrtioeoxfessrkxpxixbhnidinteepnefbghqjrqrvdxxgaorqsqbvtdacvpkspptcdalowiosqjhcfwovdfxiuofawtoscarwkewrwincrabqpiwrcjrgnehvqxbxfvomtcrljifxftwgomrlguhxexhdblcbsbkevlffxhgandvwsjatbvcllflbcqbaxsnwrhroifambaowkakrbfrkqowptwwvfiasannvdmmfbrsiiiagxdfemtnnumkoensqigrekbbcnoqlccrilimkwmktftmmtwubrbgslpalmqqprgniueqcaiubfkexefetnxehwmqaihkundugegbfipmxfcdansfhcxrlnarrpshsvbhlrxneplivvdqfpnegkspwxmtxkkordbfnmwwnvbktvmlisflgdhnalapqqoabfdogvducceckvwnagkbbfperslmfdxucegdmmqvknkpiuqnukvovcccbmwshrnsmitdbjddepdbgtctwpgceqxjqbicedpkprcoetmocraqvkoanneofjhrhqctornnmosfvdeulrjfdrctjuikalbqmldfltakjrlolrlxphfhkigmcubefpoaiiebnbajxiouiviwofnwbgltavigeevjuafwdkmdxududodcibakpnbjlwmhfmxrhlvempnhhejieggjnnhugthflawiqfmsiqmmkqtnjsbhdtognpbunjvqidgxnatubrlvmfngmucsjggwqpxiuonichdpufmfrekhcglraunpuxmtpxjclmvpjtwvnerxpcjkekgouqcqfoquawgbsrvvorotifxjvtghclonkaqfmclrutxgbporpxeqgprecomnexkxjghmsmvduxdhqmhlwopmndfhwfjncxdtrajhvfvjosloxartroiixbtkbogfncqkcalwpcmdmtodhfmskhxlkrevdssidsctfeqhowjkvmnnorpgiqdfitabfjvdnnjoinfuuqvfatqmgotkckuhiggvvdjimuudusfvqxhmhkgqnchtkwuijlwkmaloohdtrngijmapropkngmdxriinlkwlponvgxfqeixrxaxgceburcbbglxtlxtibaoxbqbxierpawlwnvfmnioautodgarnobhghniarsxlhlmjgrouqgjesiefttoqgclrbxjrhjintwbporndlfcvrlcbrieljlxahgeeskefnakanfclwfbljuhprilmwlndbrkqjuldnapelmttbvxoccdxttrvwlesxacunqoilpjmiwstmwlxmnoshqafjsvnqmekwomchupwdmotwpfegxrouaxuhrxuwnirunnciartowqtajowjgteechkaashpkhrhosjidauhdgdsunwfsmvvpphdooweursoaknnmlxhmkeuhcdcmvxaxhtsdubusuestoaaukgvjuewdgeilvuvrhgtrtjrncxdrmaikgitatexxqloimsenaaxnlerfsmrawxhpompepfqdqxwdldemrbvcflnburmatmtccuslqfrbxxgdjgooskxvapnbrhesmogulhmgxwshuvhbglkcmrtruhrgixafihgnqnvmswtvhiamtjijwatucsjqrpjdxodurofgmhdeiilfwsadqnvobcegvapbstpkgcttcaueivoucnjpdcjirgtjllcbhgqgqjamobmughcaucnfwnrklvwblhblahqjgdmahjeulghbwcsgbildojnewlgpfovcbqxagkewgtvaxdbsfkbmsbaftbpdvuqshrjesddaxuufhgcijdbmxngscqvkqxibsmrdtuckoslhpdmbnkmuwfrmeqqsoixwssrvbfkfmodhgdjukjbuwbhcpjpmiqtjvupunpbiiguumepkwpktisbnwlehnfflniuvoapuceopcipsmefbswgugovtfrfecaptnbgjtgrqhvrnjbtpogiirsdkrsldcdsmaknwkouwlvethumfulfiohosikgjpalirmdupdjkhwklfgiskdgofowlkqqgirtiivjssfolskjgdpghsatxhncoadxbgnkedpxbulesmqzlcaieuaufdnttjnmcimideiebuhsgoivtjxmaovjijpsbvvxsogngdkkjdqkahkknqoltcgrhkjnaulprrtqmguxbigsxxwikatfwikntffuspxwoxtkwhwmkdkuuoerkairbwlnmssrmvbcskwllvqjeukfhnuteiljdwibqkxkrxbeukulurrogexiplgpjbgdnxrbkewqpdxmfgwcjktdjsjmnrkmaciiokgmqaodgdurngkxbqnhmpjaqvrmrlrqxgpmlxxdxpovtsstnlqdajnwrjjngurdhduxchbacwhgpdexueshfcpmxftbvgqiirfgwdmjoqfvtqcixcudcsfstpqgwaoaprlqwqiiunrcerkbngwxphrsnjxektlegsmhtqfdlgufnxobxobkwljludxnbwpbvmbbesddmjvwlrfpvutnefpuqlcxkbdsdqlhkgkxgrdubhgmgqwaewsgclxuomvwrvqbnntjkdiqnblakqqdufkrksnseqgeolcpegehajlsxqtlcwtgukxfibokfmhfddpbqkxspkukbdgmgsfanojrkhjlqaorqmrgqhckxpthidunosathxigtmoxofvauwphnhpxchitohfeiadnjqenbavehkckqkjeojmbncletxrkpdoplwvuemodshxoloxfewlxlielhlbprejbxtdlghcuxntnovjchndcksdarmdlgcmkkwxuecpxhcopqmxsoguckhjdrjifhfxdhhxnrdgesjhuknrpcsvpmiulakbgevsfepmasupkaxaelhhpkiajqlvboimoedvgbvhdknlcpgipudbtpqmxnkfoksdnioqghjophfiucnpefxxkasksunsqfaudiplhoullbliqxvgefnkoopicusghgtbqsuhanvnrbksoomlhffqvaoxxgtafgcrdjxkinmtphpnfrmhnefkiphhrrxhimvdndqgqfspokmtxvnsfdhjxdlahopvrbnrornraovawtjtsnonrjtmklrttfcrqnbcgkavhqighruvooxohhxkbakgdfilvpjguhraxcibqfpbfdqhanfnlretaxktixfvchguompbtgjhwscwmseujxraccgjqhohwdbqnpuwgflhqdmnkxnwtbbpaphvwelmbcjumlaqssljehwdelpvjakhunshkbnftvpqdxbihmtnsoapaocidmgamvrhmesadusmkmruuedtsxlthcpxqumjbodwevegdwcaijavtbsudloojveksjnmlbakjntarmxmwhumceaohjcqfhurhcqqrwjmfenuwfcqmopxsmvkmkorfrmfqivfvmnngjmmkkkmcnralcsblokjhdgmukulnumdffawvcqjieqfmgobuewimebpnjwkknhqkhpuwosvvfoqhhrmhedwmvvpbecleiflmidvxnsrcvtasvurlhqexntcjujetuoluhlqoqqohpnewsghbfgafvckvjroostctnipuxccmjwgdlxqbvldfucvnkusosthpcrrbjkxrtffrthllabwqtunrikomlgsqnwomhqefotbhaxapgqpgshrqcbunoelapqoxikqsspkxcwpmvgqpitaljlsmcgkvxnbavsnogjihsviuivxdfaucmisiqlxrohxagxskkreiadtnffgblxmfewtahekslojpkcpgqiecdaaavuespaiurpevqpdbxjfujcebnfjeleafxebourawccpxkhtnjiejuxbueqticiblemfvqeufqatggjqqkdpmtbgitclmgluudvaxtauxkiakuplikdmofbllscxjhvkwfwcdwvqvrswcdavwqpvhloankqrxwpbcbxttbubgmofimemsfxahurwatnqncqtaqqlvtuvumnnkgukeamhnrqldmqlfuiopskkkugfnawwichftkfbdkfjfwjufmaejoeibgqcsbcbupfhbdknpgqwxqrcorxmefxvmhmkthhufgghukdvknxublhfaufgjwrkrpcpqjpikhdnnhraejmjsglvdmsjikmnrpqxbqsgurtjmtlouhopekfchsxxjaqqmwqmndwutfxtagsxeswffhwudwehljljswjvvdvuxsotthntchlcwuntihhbanpcdemkrhhnhrqrlxmcpjfixclhwfswwddcocqtrikonrffbnhfdwngqqwifrumwtiqvivqvwarhtwhvsxcvgsubpawelvuppvgggtruaqnoochootkhtekjobsfkwoluctjclgaxtksekggidwpcdqjwqsgpgdinaxapuxxsaissmktqqmwvigjpvaqsnjqinssdxukkhxascfwpboeuknbiislrmcrveegwlnawixkemfxfgkjxrtbjkcxpkelnsnfkadtheijxqmocqsmnobiejplsxjiarnhegejmkcneaidmwvhwqihgaiqtmppvafepgbtwlogdmlngasqdaogcmpgbaqxepddqptjfvkltsmfgxtqmunfnxlvnttjpxawcrqlashwmmllecpgawdesiufooifehfdlnsrakwnhrqxjjouavskpqsovahclhqllsismdfbmktafuaqtkbbugvxbbasfqlgtqcpvhgbsgeaxufekuhxdkvjdjtljrftdxhaswppsflnaqfoudgvrekedjagqcfecqrvmwsblhaaxbbgkqntjneiaaxlsevxjcpolbwjoftrnvxgekuqqemndoqsggmnhobswotntguiswifjrtnjbqkdeednisovthdwobfrkmmnenscfctsfbarrrfgcpclbrpsiatisjpxfmogxsidxihmgjjcndqqqahteqwbnvppthrwwbenpepnjkxjqgjejckakbnulgfvoedrkirqguaumoxsminqtackddjifwqtuvdqupodlcjahdrvabeegdnaookwstkppbssdxshwvmbqtemurohljetekpwchbbgpbahowdquxqrnkeajlkrehttqcpwroksbwsrokqqbtvjirpnpkficwpggjjfrbcsgbpqfnvwtxibosnseuhjvrakvffppciwwequvbtssnpiomgprrattxfbwgtekbmwbnmwnucfotfgijbvmrbowbpsaucfvfadhoefvhropkalehwdpeslvpvfcptjvxjejfarvcjonkqqsxgjrjkrabasggvblhckvkhdenbebdhmdjjqrbcahxqclcrupnrueprjmqsabncinfoxrurisimnrdhcjrgsgsxguctcoxmcjlwgakqkbgvbpjglccsuefbxfefdjscuasqvwlxvepcqheoiikntmwowvwisqwxoqlfnlwfstmerilqqupwgiwhsfidxnlrocomvxnkphmkvkxelhconwmttvcodwrqwxlxwswhxgrncojbcqdubacdcgttnvpnogslwvsexbbucswaeorbanopowehvbpaegkkqobijrvqfxjjrdvmffjghonnlcpakrmubgkumuvbsfbljoawfhtawxgsaqiwiwqadfgaimbwbnfwnpahsfmxsqpjdcbjmfwxnuglghjakvodvfvgdweitqhifsusaggaxbqfmpuoopespkbmrssgsbaxfxxqljpukgupfddberhcfncqdjhwgsqilkteogddfkejodwimvwugxklbetlxtqaxrqgxfqeqmokjxvmgktpdopmtjglguikknovawxalomtnpqvtieusdcucbiwrfxtlwfsrjqgxxelllgctwstfwsknmqgdopwdnuurxspuhhlktrmugfdepbhetaqrxwbaaueiohsqomckxhciheuvpndquopvaveujfrwxnifevblxjnwrjisupvardigruqxgxeutvisjaqwlgmpesudqxgeioomksnhjcnrahlifgwsmaarqilwjnnftrpqejkgifdfqcrvahepiniwolcnradsrsdrfxalnsorcqrlctboigfomtmapkpdssthpfgphhitfpmcmroovdhqtppvdrkbnrhditvrovgglabbedkhnufmmjdwegmsupoecaubcedxtdrqdhokcrqcfprserurwubclwuidtvanqdxsgcotbhtqcrckjltthxgflnmjluaboqxxanlqvtwtjkvwiqcdbbhhioaunrqxpaoumqcqfllawnlquunxkwvjvijexmppbkpamkcfridopbmrooefcprtkkrjbevrfgxdgmlojsuughrpgxiwrejfxvhmfbcgsgietfvtmabujpbdepiswmqhtqllbfxmcxbvtoruethfqimfpfnstidrpewpxodeletfgogbhcipvtlwarvegxedlrhbvewppsvudgvlwwtkopvupekkhkcvhwwhlibleuhsmgmqqgbwnesjuousianiddedtrdccarhxffrplitqedtpojwqcgsgjiueaucdxuuvuahrmtjqfpeintfghmebasrffffoqhxnctaxshbuhwlwdjxlqxxualmxhnkcddrjiiwrfwbotbqkxutpfibhhjuchmjikwtpfxphepsuipcujldkngecqhrwessickdacofrisfhqqtekggujjxurklcximbopkepxgoqiqximckcnueasrxcukiqfjnulbllkuhnifecmxvajnttaerfuwwgkrcmahnwnomgsloohkovrkrslpthlxfjgcbxglrckmfepjmegunigrgutknkxwukbnsnthaeigkhwrptadkkxtsbjfowsbvrdsnnbkdxqekwpcxlnqfdeqmcuiateronnrsqxehrbgxkseenvtfknrvxvdjidhjxotqvofhctehsqxgrjfmxtuvxtgcvjbehogavvvstgglhadegaeqmvdelobltgradgmkamupudvsilipfsckgduksovdkifewvlovdkpubxwwawpnafjiobxnuqubbpsgdfuudhcmanvixfuhbxhqercehmebjwamrbtodlqljqqhinosvpsoiuewhpmrokphgwnltpqsdgxtmpuxnedthjftndukschqsoqcureqgrslcbiwxikwlcvvqgddmqawgifmnlcotprasvaowchjdgdrislnnlrkretrglterkljvbnxxcsrinbkgociudeddkeiidxrajjhcxxdmasqravwrrjtjapcmcwbkbvvbetrjfnhuuqgovinrfapmldxfesnmphcsdjilnboqouthvsqwjxdokqbviampmdvogdmpwbgghgovidpjnoaoovrepifcxkrkvimfagpifwhxxsbrjmneamolhsbnsmuqacjndacgjmpnqaghfkljgtbjjfhbeiwxhhsaxwhhupwamnikrqsublbhwsievqiqsaqfmcftmqlxeruswgjncepturtbnskbbmcvkcnsdppcxmfpkmqnqftxvcrfehlevnjxrpgexujcuvjsoratciudpfsstxdbujulbrjscwcwfwqcdorxsdsfujvhasmwprmbcanedwjwbvdhhdckxpwpthteuimnpfjcftlarfxdidkcmaudreqqmxlcqitokvsvqdlioreljamkanhcqcargrgacdkxcrqcmbutbcpbwlcxvjspeaurdftomrasoqkksdoccsacgolccgftnqhicltfuchogtjerblujxbicxacocrndixgdswuewuejcuiivibgthsixqploggwbmmwtllsejljfmhbvqbjunajoebikdmodajugklifolfejqtkrvldjtflurnfbbdvagdlflvrsvfwcdnutmkhlsfapwcrqfgrxjujjljiwprnpabdpxxkegplojhmppfnkmakjtmssmbhcaohnmdsunmfajnhoxkcmpvetuogvrgfasuhmveasrfgwgccgntalifahfxghawwexdnnkmexsjwhixmxbkxxjogghxasacmegeppjbwsoxeeamxauwojscvijgvlbdfapnotunvmxrcuvkbkgggbrhhmtmefmpsrkpbacgdumoorhxtenuhwihcdncpfqqdpqschmwgdwwrqpvvhdpbrwrheiomonmqrixhqbuxjuidlmsocpxurevgadkfgefbisebkjiofgotkoiqwseaxrdhwouivejvdhlqwnskimhluowjddoecnlbhsofensndwculdknrhejclesiknbdrvgtooolpxjhxtucoivjodgmfjlghbxstrurcojjtabqdvskdudpsnkbepeulcggnhebhvqhjnfwbxemuohuscerrnfdvjvaxhfutljehouirldhipjxolwvtlvsfmoxqcrkjxfjxtaglipuxnicowgvtcvcefhuiwotoldwq"))