7223823210482022911170527804832928977911105440460544837097271197991346935477653590349060201387467297322866353783656947629719449075676079183045902720975972787869922968858955692704186392382609445112146781171152204029879216132562752199166119088237982010886473765088067390852356121957849548446714011399426003870421329316026852785615948027645216537877490129987126356236869524405481572586552372152562290014368435134164912355991438626314277311688395726090454776138721824069994319815936462628045161131813545216588310651389872676114368226304010653622160068871540903452064819822652085525749671980225163562533835288416549732045051844163796463111987991927111455339434674146343012158665758494624882730917613805877315970277474035769415114089862541172273211385398556983767333869007909405570135562268097254637346163463200137231473643731322322517842413634805154459815036745918279626796892956946369866479087256369063910481929478170045314930382186738429346548114749497194862082958188786958316343288414147929565883598887948561424847289219074478675623708816195064865449537993939246872029095617833899461123091510645007691972881864927875258262710543486257668924462689691819148628734655320933976148052717964346231138733463721881364197308327115146835737155136252672307292724119710492791925885522126322979314085528929874117068987895641776788058820811870772008690224815043150291194530351844449523005374718712703192966501313542781964646990483042509048460197598057798697795191455247175799030584367038555470332928806328682674657600441882776432515943514571118142737013475823767488897203541717255391946768404994961333386759504682992418989418565367783585204537640451941432353858971631385699603532995178938336464198794198124762630029148218056796572325356273595576854269735888326432468836720905975465634223628674483349718080801042648694831885625064947444702633397623747832578624455684268653486264869597328455709390271969950617983519365365352545291527799555324683946630736934594872829914173077407792856250644903982327424604782658348512880342419830645290813763755692238492972686714479288070127961838847388881953047133229979847517559585178106146174001401688046998723358331684060655322304673113051554918955695935738256794878136314626118716079800758826925097977586035234173584942773250823202471706398790178410689229894128592551231085465187404230320034481835550599939181396323934682296331797325159862208282255787977383516465025444832314248341790307554326227406458687738122123577406565920242014497513960736928579974541236663553691566753469228529555252987522569408638378777636542164243627940825847964291351513699301623984386942661446979592488194346227104613376592034680803092832406792028012274707448491304796571824724135315345869344074083616146514622981136304062628795268836451118454382943562673771097603783038932070376913334762444416244213693518806641621027143873197412365822454701701795987042311483115366273056086791842361971077379811261210379609164210803502414593136040773915095876184253332559770331195224542190913651605140157912089310327762598022611475088376351245051957348265237544346195234451905551802696234217839562880309931463419944664987705938407481346286103105874479793402374700143582284426764595136987520474894572606646081634808634184907180482984405908835321913942251746368264844150235611305629812238827201541670281985745649252221151952276329749532313646904592682333123185440510726394981820281850174203125612582923585587009290290664668236309019625740305660702474569515594967267977817463818117099204737690721486469324395554326277644889385327957768840236431511656619121878672995393667300791131110553613493336350595891027737793096842229433035759507142060817579893589334026132509323659921374639611822376162874445014632228928758087856973196468711452093627860166244319964893142244454157795495903066907564817218923010351102949520375181116123443967145560989868641876243888719477506712873159997608742565045742073755061534236430992823175818958092560376771251363717631731914777587079785559787679454254785591683212102994264626996111869136570238152445811240535124499035467248856053779002929955072122969725359825662198691597297664908965211167176093869487364829054752436885509078893293229249704552445789655432622367853418765969699882313531289194253915835658905496755013016883338593385049446716683238804575031142248967663087726412848825450910225265523102188252973344442549317336460040321264757945919589564798321942263568429373801455848399776775633107856464633017413245596134627803893140857755580614871845831892046265031497660793842084359477174190192980464843466339609617336796174839279232389467370436272433345716724656957242455860223111939173658682894698119920703461907785512002117713889938577488788120174844993069657777083799643811299666629422499133724473022065282860149706341310842382599208623664592874183295455609540308379463123878434539368936030986663113828439651314745939876707239117304135536731979909809778140979432139342174566405630075827258561039653931168276572947552749755573319439539555609326326344330739572326616039420344729593995868364964268557481108812442629522174918939011411499991105255963961381988523646884906708564969289211680058767150667885354251543131690428932796566164200588773784425572381588769186381025806375264160402152612761761366348258132083374355823096108452922094800486512400608045077291799152685048316297928930418474616805361398828301476139368445992431110518696743036305552511338818489394698264440665770801082568162997645589825381283012933238513851971555862274366872810857766941113374447319506213977026116065528977721493174972892734827037671148960554485253662472323973904368535761920394303348887655096134175126981716103312595507072565093823975862498622018697779568574356401590595273572168312200467940207876359962805892679821455557059704169511552603597628956576595987326110217495911457525149306251963208603813139293641542529501483424722195579490737919942909975510356649