950423017559155130117481307547520584033547445893723898464456126604691347909499152475695376971936577915914629556668211565095395989943844541369213503329239960320938102457717273893072538801985113371142621247989976737419262460069937446808824791087443880151449311389867566985154970359244919501766161478695152438176527758927985413623621899534890241007837535206022620491148622256608593851446203541701578667383414625171638666621661179332184812283377553829602907658203022994830464178699774614628326357293027094866174732516872179540723793468904526258918814273613114539096331683312102653187018310857471015176990437693964282983327936942946239587465813187005229581878456635393595623588417046485462567394178529299193002870405273747457557544084236119251582454611046544195528127872948655229331235932084426576172656426524245671321286739552221849399436781016679876239918877745958369153055654424594227260278469728264111171720966347344110540523571814523535299610898746445575235935688645767852111881853542047512082685713562854274670679126814849962776719589440061615714786873544633987351425031974438542530391702676333841296629007275996815154059166622751588595932283882944999283495981565637220986679147169691357031785338128733282590241508951995879014755407156237526217643557765747544180858404209113890778496157431391801742922537107403810232755290626083721620212386173012466372929702949289975001335364288525636480411028874084484741780387776888826586645427933017776951487410825802306692735217428795674633714266408374257196926168481966714896519783997953796659250244153429522400562849746518916052259596719877262429783747221949294266379345728786398478594933728939735787564393417969494918862476938463622113062558377291887980995117351773432945747445912917059424172454746205749525066308968477706262753243837509174073427549851246359345571218819454771157273164845729275728856037479277578684762631538786119131372839980956366168913358667927564672567550911421239194469183464316978722654709452734879481274340848436757271621433493828863048310582419328195481283581512136697592104187369805550730841292702888348458131932896089175742990361547269741292522138957747722606672763168883530678660541012316888569707460677674593922192486138448036535411763620387705471860149202964678007924819174939029268698352876320800294157953735510384159585833390751753469672184632626124734252728476867895899023618349034156610170452548297267402839817671565153474538471323362507498511615975495111386718121198465087736753341254013255610474153983932492638217458480661969163191531473718421224819548355574149228833774382247605713038405561550521327426267962493638913856225593112162933599977324792113784425210586133930916066852637679539996565757444496602281665979158946272553384351225521990220418227410606791441619736072196093436990109033739752952995756029421466886402782996502211893426239055297041789279859139458238156348660661166101720753098877172973353754164623196016703847936745318255279888724407570020015023545762957087411799647855024925470767086114505569899264692172582640953989391576533803128904635735046699370174459435779124463996272554951591567256147401398735791016502801598777073912729540012489134527153725317976923119670181071393292165706666266286428132801643337641985322846742213644612720883956297493508618749050729187460935485795583167192947559783742368499038659236337366990614993969738227430867089998493980872592653477639301662112117894002935270995018620251647934816723901958033341345626314361691747292037529105731098132552411936074158896403061120599916021199686835490599578803131771888416234498232925980494227862421884773844316473187703281940864982852283342225211826134492274783930258839456810942443813210943724922699419205952147977726419674312674944829463491362943280700675882318179541238812617490085246794805441665754175617078580890553848259838079027895305732485601792437824798439241503101176722795052247693335519881777272098858813128022202582520349697461527724334378913402216686638013893168654594308711421219072952626416997947253149511656082905743952128902425797965981449977109725951965477961920208396612082737281448534487453567078539160465889290303388946965714176009357259272563154087947287189857847874898653470153218508116616134425633686237932182129212566092025186980626980887238003999906935544513378711915428771244246813599189439814995110492548816567313835824770782219172445230623417257373586135953737813602618660452855073794887275869629160105595233117055712336359345260747851297787414295445686523134762869258144567896734560673679088792522343024742902484226825773720426438214792241173831885968779424674867452430886706570483250150646859809938244231223320168423856628643783558731371331145768854699473545913204403753740947469459503294866037822637502661535991027751682344538775650125716565248842851305490605047724757097677157983396185138484113931686785805472617189594332159198644688566714903720241616811330656179599725331646065260290225185504934529230626059710147249647649767980323929808276702605577960497728997225556709125935795030468927344783696596497042008563337442358553886458505474933812006143056315989328082541201554374418282324275699275371126279790848839942719679716261525606104438786892990041584415296764725987428650902378887348694096993645327505442436614289878430159157044109805478756298924046781717836982181536892441793841032258454221194147864516363796319985199181888834538412074559419034646382412286989385356061707136087834030542260967843730887551219462331653234386395326086748642635936484717542348493545443055828574754031916214181734462759962645551862659982732072388296352582614368317561831493905095110556496445465975371499858210007769605654303876482913639527187318311870522188139395606580205482297616884829619184866471691736255217649055213475343448399901420673714147413184316839293320830818262323199966550401999662185804385828837254010455123507607952885518956877348735592835266234