371996179479045668697994621478484587298376125798616645493421622635285208596025709619026563538161388422370389683166295344234504793304951462082329340674103760216057859078552785595084929023245943595526043245137180199543897285268888892557886269178198212419948075673101505194625058298114301190346461396746180669613211208581642353864620528020161399862763792164193847615139403997518353039753815329906382846456638903262689017374903441706565826414518499444845478675619826559144618235101627691544609372479048276832563199265074382541768473989408345286259569535677270508045701227931252576478752657430448333232065461435058647917414775513964321808228545245226036643066992963485608815053856945871295961309510163889401254762336916970934123072656448967378245220355167443855062819727442769615913096397377827168869192463846572174307824604743910086568832794718316581543912179643321236330461513091105616942575272167784509130868587419832754567091486726026980435153257068611944851735574208907977632393935850382264817959336761955189624757817722326823188877313465882514341389224840625197163872214573369297734440954226631884337088436545305956996185913342697954857553537996183883184578310911698575251654650274327448674711238765897075356438310498822171647465941703591447539919630359346475774483942178172274533730076155573330573395852861691230283248577172976313117928050902337008515929465876141490082695584136043589660316612923273838876904572774018384642864888217496766567443659613810770548251512095460594381422432512694131870847851986972097806812469814316625956743128084177938110321309842412532878475771761958928017966930243521901313561964446634871414917197563115085769714740069923258772469736808037839624179544195775756876137531869938037965234651068793243741857543379446890586515863417442543769424773525166190581386061730141417172280991518121219935240844294935537997453699116468087848987655532711288297787669328466131163166813328942544897243988292159257102270216594984165519962275289965846997902414031513536508192173015663068788163298264953989900979549580493770367742408493435018365633809479504401705599513159665918170793912807987032633217273948953171158536090664080129780934537771889535443044532895063589580130626261570745872415997172366718733834558648356770573266551931542899258788828988692242778582311930431441197157141674559159127026813079443061943200289249102938782827133692501142110856842414353715469006168628911230203117561166775602464074886766514497324650437799573778399580271359012283242172358045832982881010461432933165437781206492213501023864181796263656246824316785322276565156702949551415044662306805674520623246625698971128889370911566906595251999921398071042292405587525657651677304029137895353788541668634734821190985802514695854631554713816154769374217539838634886006972651413368594494306623854043647668783635056752978243803130884562097853749315399185791594375019688154434689686457725658206150838443735717737854523362628937979536449624149636995492979214945452376049816780360182397877511216962262538507787172353670912589898699696723301440792003256456576378638238941474738751683122977785459362918651163443178294984524960477956619854210648415447795999578644644937958742536282876576949762751507134794371111044438267476839237687692766230596288587181870874442994715357820411836551458752535049897408182768694615795514201425317717307222125865943389236282511135707694953382838720523788097432171472734153660691270682607686905698647421403636622858255385658310446299746176101498783351937839060403310467547334782153372101278761795811677684185147025352458679296991002730670648925951023816185664626680942070247678606632943991256279183115410390994095548921036958585372267127954566959561377223298733197333435073012015907129206720196397317010641854397841248604818724250470237094665555322548890197714304203744365403488679651149186373887837193083501924881317947212885464728228252305746834196676599312427836052127928924137253013239375250710582188219953111055364774150493438711589125809375807108458927248416416496071554702696728320803916201155979916665599285451289606106853115723527417226130851939987375758182266548987354201763368382927538957565129262184619995771370825492799119620513289151415426676341557148854648783110214801345853065987127223864301437521435682732829925655082045705415212909930292413338145781036704838884769944427622744099695136522853876236332435557259383183559814438389493985948241744259456739478857338495814049282332023050155116513544532727828512566178907143853129951377199020657759578924544932129687448424519577073995178586677312566474515751995289308745262675715555475945351418421887189135372085867889138074978125459451022707676390166517886621925987285265912253317434117589738734769672823474936029916536648733111678161193515839340071801095776843225453195859101751776776755795603132677675271821543578829361192216196127361695695255863960991067598416028667762781773581409696597136997420263834964441222382493058055274630515702339816945701644919656785285785562960162910111213841098985019976338420948687944785650681259133253116062830577454964223877860427095066518366644422361429969685245004479402890785797945455540764724221995869526414388480741767744400352516375840326882799209396445854843419213072044185658532157905554338799187531673789256831105339744968805660636680294909350533429437831653606765741377041795071576655349079890764762546434243345304518847215060241252619552646056818588183516676450435963129314894599985801607022173732899256163528952168567466952579432041487893401968160164143769831319292668107492852784743239773818923178677502275150334887193203106088400362019583727922029832136828682027040822532392645836695756378567490776617249402364009064650331572539846485357612711602450067472461838576359920348584852907818841158416184397087583654669402865757414171805429184977577524360111087787245517175518835614726517218133770944565138424765434812587