311767629259659762655994725152702714988290303359491509737399996808941796474366547216940986363268669857224689718544981511782369158679807194841557171887279849844732573126348679387614942687525662373918452629794562605711953432339210996741874904953058098584785487105224681699968740834027927374379671212027654920046885733563684899132879816530940202419366464384335988966927432112046895474278684913918501426289091823204153718038945634158298946626303746619574416227927514578510925279198540675335385376991886329655787726058935891475375886549701194750353105434116369290251511598682545594135321211253962416342515139517137122806940735162925427795356358714795598183833632253305255158041692428396245916036755233097435651797636111458436271757562694459364265891209795083890382798847147891883026406107120063738301766798533000795743385138379509244915445996821554846203507574329236693615466911025521245127504919520176269521246684308682848765485487388067606474468427880234382995170130779037456778490436423183073491086980286959636278392079789190401725431375749036139003403985117533322165649887937410607051935749675277174423319462725547561135886376293109553139348960143903581249688860799978193449124652623921777849965426849676057910208678008182473236812078178853212691059883364961625305644250811307605594478473101410533147655633056137763197074646365536144975137072497098259878407114914934316177242438118287554567844379943424054836598421240891242755817250331969524741318092933412961779590191115065638948718360564548685143126237537214944443042171023179274234071798402876967965590699926433530751015216396431895983402936776618142144524767992473749133809324796371925287825198733885896256289030443699033928237972588762657343499537941969104556206171801473711628753479946795911913324470235425900929245767029674968724082693857309056274570107741398644541935139670899621826091719533275933432279431622046538914655229289102601127222215345214525293377079543746611792262776172271286409518639249982348535886454697236169399635596568557279413172924213340332967442350490699596835602343645318824464325193806690264134746972317179557814410262762228043229029475231257498362355324242801653059735741187721007352760126509185368401773786994549406011686822516077130983254940748969272373185576406976641711345365282194178923640773516986096477116329901727760337868023467435549734919854471191236140797137455817065075515981098586562287688763170742511134418688446694321248877393825945609885486818379612794034131311282839126503530432783912028694436923032859202923146475936393029127137294078819858204091594125678877192661046690493568649156730781331107539386813724605536773616920271379626069640795175623952673647581469625326880248520878579163338862099461091681337833807214257090024567821833971261696329618446767668650274482855666937745108285346464998089199183188619664793782636522791224669555278173294239569397967194850618631967871789938617864612605378173152752010990511649266659584091204259293778428562991381805938803074117940235346168434775794898773637001989413214432302259934471981675802472296772662741736709604773975292222068167288374299002408302657997269516367954858346871444485360065734506065609190257848978731760722992766592762947219809159127177909864376537048508657541453719422976732665079063542325872921289152102353449742159011391274595946337965403137438724256459862556386748822976420979108668393892714578285269180809737396316416547732360210173060951632333854899264733491727687646686933667471551234616373650744164968956882048199268042664951549338188598311178908811623426119396800832962906133595028716716450210177789221895852764491879564503418350876008378159307152265522319382870765557503059735764375155438422322463649243216758602268797659836581064471445782110732592201547108063149723583854331429776381638325983720476742986469777196131489312517360850078455209133731626426126039638654811173535504229189430573414951097125951247473946809833810685124861085460069051094624678087669568995907397346859823955485222299302564025784375689025832250972347342203722962877632886475643555645137339831043130730145424502273403991434869909061852725081152969024394315718068558640686956152467341167453494253731213287892591308850445179646158956323821032728339166785868391982485106997274871227181268943036652343542328237733788426076131633776623948367155412880833763819268273324995371728951617763584088797834928696802629149983286646111998036628399105419993643330883940736473438217783617983242116948665004390391934662490612341414971826992388859529883823175636585619771211759596246021127395688965660472209285278255291448358482741274314677708374994535229309583758515480993987011221438905851695957021340016282660201693443707603564188469382495573344591767717158091173197514878994957743657404655772193379338115576992793638694712407168290516995258587986963426956838231433093502586552714166394068278253739929561447180865007772337184008365357747596123769039457599684617235983917840651767745388490440453093583120438102245155481714184952556053836595050048458311087685530853643424653105845797313878031553246922555572815695165674114975680221735758451925715263789668914722625679136180984161944150076563153782275242417166756009362591180733366404092409716833969476322405409236235406251757191401420394042386682945606624254947555710139372406962124932589335962225391869757408989777398665564526130128996158436209232656329204277770461007631790097516885442783538447564429882839517962234067738336298087181582828739111311144055959313952470973156481889635867297939767806001609890296618519656438435315835296213448105467427161493602654817966126777535147147080800582212607788862608925346564853296778283593039096204599523021682357972643732122990667870730435146357033299639076771937166853629387054643994184294977726315799448706106675809109236344813556631269326193830926354398540937052347953530041827781682733276222