246999512753923597181596852532305842502967465869207585799327866544882513242727250795557519275382086114799655505479490004706197354545512900539027880358471975762348460588807151959563003492770569733121131114714022343445929896644165331773859171672321319767966430774160996566673950488922423734295084994620721744766304339701328305877732134906686850576706705134377473682147182962610561456180305321625791253126724997175516761704507550963106412247996867656123634239549280363161569790474512709414382234754374537742764453365011901887595772827479692711309926320988242355128502942879228358915445679707105356070507126772738048398933736193777293459290912721107296340067275906578589918646238372977394240105057995529995510962847321060957727556204727769639796148292473453720105226923773523110674580984264542595332005800581298173489796566841105388756550728552640242893057320772443772173984652242486889138634651103862447707650855295090611775794546590050484276077211221350168795537488985163363422750663937687854179920627235824782734715663188101295453801136945263498127873433204096533496240035142502874081244642111742346623802181742637580287161743601156854805236870878513961159847573315369993313825244728552228171458677669217007554669477884004218871729403302162565339478966185608446184596861876041575474973445673993645139168181651871320567092732333961226300423595673572422727169913455655949657062263485024527486194812141310465983751467288683597835123806668044326219868335848665294002559731114348026617359130159587654022944368749847052499760632944444643246008933889055021424381816016045809300789956011408081248241979797419487444213151377942802866684451684664556773828002216960255632264731050058808333354795304438698288706488663616911323785494639652913557475345771547958572888355743698977037845746643281007479617757024190654762034979822233258879823273877184891408792773297457584182534435356241824526769265403323757014495483536307424301875167289709641268272552797302822657917131921095803984711258372884020874177125784520934703248706758106639701112542821596541747960705425774626051164886769564876492860288867576442218778200976549894146551299934217284354945752954144389127681151948711603822022024348253292031221293281543928561921710548138487069742810851086681057745771341473265383482131276847212724922216242535724471939917626597075461769701552394438616714253647405401742847665473247657691840896950939239162895262531683425986122448887367897070887729399124443870219894746432659516879990638075688676323133284694780074294182882224004696245724427581944265378045665561864337126206082959172138905916457526662533426713754420099037420862697479979337672507163470455481454476588276916819035014993843417847202013518515864285968698940761413675313183366411914551948192021000124945310165457976160184113127456281787918428770942305351988017413144789876646877660282177876913641525902811494777123605516712511076385811556487271237567165925785857373172510168484563663832541826389282171762956364455086221605965275963183836947789999049509035963975620572240353993807629363865987273379988151666274072671241349398651290248814460520393135239675909611921366029805341433917582716988452496422973216381275749690487178549328630642144851188468284796277767395736805921043814131142375595762582351147459233604295363845941326496375846385185115784337614064947801222575256119517467221024278118313879228975844544900185791582054536380012877435655594968548525573865244664451627869727526285063877165879171434467781128303962301759012972664994442858105070193528624174228191128157552476837705736124768670140334335324622318475408891594403921499311106377918399500114121532775523076553006457664370434254356047569741721063909311669344352657988696681520015348806327841065352172486211302261811307768368938808695139182528968954293005815280856482369877641515157814932076471856912037022635787454754454279883253558696973848351479336764407388399667019168986333863631358017515705221088328181846581505109919515581597650904166383299697735812844864297931386916379156916634927241971493687162893494419856314731754895070185117983943362149556363611780088649092463195538835630970231294121320891447181342210869572899995225017154815759234153100906291381139132256593636806245352251239454842879326173373301680587031464576485112028186757671477893743384014992565838217166459619458834636855218349199329530439034330659182054169036236199540955099455458870745189346448548596572725292642107525080187512277012306425517762134188712949429954692798097549568498371173820553489619038610095014193272058487023832493212346981130675228885977999407866180929343954483833361772302481184501229183725278922441228492228697403273822354607195867790229512101515495986719313101338571949407581171389934525810386309961710539772214390531316050260528228320133935135878356581825663375734434912633926493857162582348754528854942510967486096618383627663576272302256856599776016513527525472625557792692748356128587493599311683738415977781673882911287536390882765431541638909982291521999834644385337501307778425821811919738937102970547201235489513718444501291302883280578626713605164765289764100295810027052884696945850318446805174613231789227166907235224045411763613019376641473814348148264513413409889972854792029958537160845913802635439529123743013039526378260714628194187717655892645684641440861092235261747513778095614752601054272631307694254660344932791264154235825913182210253538245756175868662914373650519211398406622275853117738862078610061384073035492459541297657825119873845913939693293796765036125365668029415706953608319649394853808132672798021212446673849245382672990746097758139649101482316422006813204365394956673642432425403282896780863218735886693755737574422388869969527414348768377868891223206389030817991176943516306753698034682176460403408653454495187748677121661525920637117871857388251963117847488619708324903844639978171581421846258747470613584769562262186431955