20315832076419258338472326327821730305863391079248262107467782105657464517593507888525738310772517794932343154530955024398157102325948046676053748113559504858993558571455589144475175171884113299572518182306481702508958367414487367313849870461382311652825629205830998702478627836068016079405272267156406607052643721442513379506928228948423517696909585569581447712395657914052911526373954212309359781023739101178937841187200889480156524543274942369953328177385465812480415724835878354419612693108363331036176529791304519969167978242445223927176489575339643601037266853711483328824921162813993506589923162280667538229753583950561398486692539162774713795720564559726452207436017562079110538931690821996097957886212217670935594692252882608291190107444300313583744214951744661839167206146756851027244835223527881826551183908383647558861179517990746808141994819001863999098437763210598944468016929313246443590380097433407961231769815242439667537715019641133339488353671172149742545425278051239671351018284864369052327656476394377560816518251805451763353318193377604171296571708712387641673785399721487261045296407613520416972591641943882453156488672641432901595443832773720073383093153862642582206678276784092637461453913456027549588054476245789435655887781586880708527904890611537787687754579306551603425821424418254988439212741554887899082124953793401971121916157374183606007710213557371621462638458908156793632564993963932510545374617920462732744322300937836784498448124926815851546469802312818033197614114806992348638423528621874834140849029024416357159776465168854813773737192360358064208326472285665461460992153471197296082324843793130391418650822767959431562932706733358187209497446187523423813595790142798942689680612673096864436904336865729013975290950466382066514991979911986522854657663157746095265984314335951386806251768419389418667195698684217827873999709325513138667838883463386142327935211293891532843588178989033888581096549391641044735786513249780261426606181986128060935316399506549332652905352477510404577702210531382992587678197224405643772648724874515742135710831226860010671080887625446760493590193910858484605934682481428020745265297054625686183098855689134604982258169645219528945265766958720426551576664819475822223359142887660456294262889946665798486241928224235533119133922426663127258672041685683914414948351824605683680913973877790454549717095166487508577862963254581646126249263567774872196215093245277784512508714227130806231973424576712502569678374703538493065142441135766784130281860691716524886698587843801275941498816021756944315548639899630391351598995847368088796510412994629857529417654626275886215025558232495638728679927869297875840809242424254949117570749159954596462983107766804022914193006974605992493462414888939102289474779099913636154558856403169851787827923920267423968604482836350109462517502568823613712448225707390510123848705046576249636301870993813587355371278870300934843972384630249083736126558245953253049952864655736908367415424084430973071953878528438665834261916489082613143445674095835094823839645791003624223429442982276211219882381156120125198456939841601612528126778715747002963839297278740159697997411435770445985406035882193170698170786240917611624408586168191886678545026493629504355922947291981284649911810087245192430019790503930717666136356208586799474512805543793574840821495156873542495683989571546993764954582839068097492326437629369535558136072134160996512419253062719851935494857485249839318323069979891182269914959071819192796754625519687082572135731940993096687449127783716042108771793464136330901447478322548457975994853697019069979438637408151621122693226688389533187659291489683878966160564914897434347606717454675762085135211608744250723554775835266893676841458417500679148741630135725859364656202126465224836958342995841320892951254604328938251272186413524269374693718162381784708226867097110065086509347658002304851636851942647180731638328257460719446377621053502963945072776470603523414286197404123167949377319227734087561127713950476373848269348860682870316879435143139812292357794442116058859548711695318762259403166776511998672793396989123920127429823026628223827759741301285775059142609501037947512110659501907929797895799128362824789732266324272702619911934172874944022302774258466091696562982942525363157499188790261286391697716226108522016235616222997317348635276373703622044058487385904940377805395482274736457632825769268380192727637727402521581524275240426763664331373654688550016651259546652311549616317118367651830382584759165395148104068234260555165347601465974172013564284994725587588374262083025231758019904609355296241805118044054182821048389963752649965473616559764241101827507596999506484510791204320877824548530270064992499295126366194241347282926500884114778336196727311419185629218140236693259306318777689273115090909727362775882012400047404899685464403623704741965142105840074876244132558480199819182274790561515669422291188433649395469138787602399377619348843816742883748352944960536597886661552112765839248591410734618934126782384984995121689213794708044641581584616148800970657741011199309880643737877606966959045651245719992398243724463855865024364253137623271755236657767250524036908566621045249179168678382502832333943265241154313312117873261239501640934999167866973446092740542081295667075671019374213247145381020748326557329183481416195599688947639608293323989609873598214585611364593964826173520747047104933512191002522509579939473486243067092425865154518333169077653504561656590765321267643966848883761381367358914270046875287130359731527615293051169343450838266231503851432869084283727722267953101138065567639376053912171975004319312682341181152384989323179024509866171824591016562229959447826623248545128695956127640995789718260195016740968458426870240162883278580513163901442134584398739627630618554836285921932705685