1475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246495373797933748994149765691103247792666979965789335210090711753222479645140952719747676778735672791050084662757250556998377837841272367397160932387768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673431590637284104449634834556068564316358366091644594946407174953733573624589138986024795295136625329516664165718133922232657981517830964299592876100013341982716650155131325118375212072327191686484221245355035642896848621845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779733697113415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118324555426451518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147141776873461077194997599028031115928576680101505404371975297246425125297848967188989552629185579881561248173551548416927275737447698712393335604272206595288289628338361171468890234959698542868354638721871770278106392948971871044823146842053118973794476375259361229900145469503949470478135879636702236898226789918058212827226820524081874427194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787168255278353951465963812861843726731695115875101193193332920458859368191756265488973573894246918103598749621965304652545195072605864082928675690916128186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481377132301091775187553941279745769080249732057467019597029915351415052297837398198916223643390706121446948804695190269585811331436336517293630673035674612156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985512266303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919306293691127739575027627549729234937917451525389431042754189405872383331870447285354985310748204334794065231888203289975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162026651288778666224429465646796829905 2147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224649537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279105008466275725055699837783784127367397160932387768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673431590637284104449634834556068564316358366091644594946407174953733573624589138986024795295136625329516664165718133922232657981517830964299592876100013341982716650155131325118375212072327191686484221245355035642896848621845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779733697113415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118324555426451518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147141776873461077194997599028031115928576680101505404371975297246425125297848967188989552629185579881561248173551548416927275737447698712393335604272206595288289628338361171468890234959698542868354638721871770278106392948971871044823146842053118973794476375259361229900145469503949470478135879636702236898226789918058212827226820524081874427194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787168255278353951465963812861843726731695115875101193193332920458859368191756265488973573894246918103598749621965304652545195072605864082928675690916128186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481377132301091775187553941279745769080249732057467019597029915351415052297837398198916223643390706121446948804695190269585811331436336517293630673035674612156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985512266303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919306293691127739575027627549729234937917451525389431042754189405872383331870447285354985310748204334794065231888203289975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162026651288778666224429465646796829905 3214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822464953737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727910500846627572505569983778378412736739716093238776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167343159063728410444963483455606856431635836609164459494640717495373357362458913898602479529513662532951666416571813392223265798151783096429959287610001334198271665015513132511837521207232719168648422124535503564289684862184549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833860535357878366852601413530741419237577973369711341570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832455542645151854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614714177687346107719499759902803111592857668010150540437197529724642512529784896718898955262918557988156124817355154841692727573744769871239333560427220659528828962833836117146889023495969854286835463872187177027810639294897187104482314684205311897379447637525936122990014546950394947047813587963670223689822678991805821282722682052408187442719431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578716825527835395146596381286184372673169511587510119319333292045885936819175626548897357389424691810359874962196530465254519507260586408292867569091612818695673292527377534526359926712342188890199481198991449863647501954910567655255479776633479357201225818214027616043235976648264566722893284465978972625735855523930039979331431967432341348137713230109177518755394127974576908024973205746701959702991535141505229783739819891622364339070612144694880469519026958581133143636517293630673035674612156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985512266303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919306293691127739575027627549729234937917451525389431042754189405872383331870447285354985310748204334794065231888203289975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162026651288778666224429465646796829905 4321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246495373797933748994149765691103247792666979965789335210090711753222479645140952719747676778735672791050084662757250556998377837841273673971609323877682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734315906372841044496348345560685643163583660916445949464071749537335736245891389860247952951366253295166641657181339222326579815178309642995928761000133419827166501551313251183752120723271916864842212453550356428968486218454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797336971134157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183245554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471417768734610771949975990280311159285766801015054043719752972464251252978489671889895526291855798815612481735515484169272757374476987123933356042722065952882896283383611714688902349596985428683546387218717702781063929489718710448231468420531189737944763752593612299001454695039494707813587963670223689822678991805821282722682052408187442719431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578716825527835395146596381286184372673169511587510119319333292045885936819175626548897357389424691810359874962196530465254519507260586408292867569091612818695673292527377534526359926712342188890199481198991449863647501954910567655255479776633479357201225818214027616043235976648264566722893284465978972625735855523930039979331431967432341348137713230109177518755394127974576908024973205746701959702991535141505229783739819891622364339070612144694880469519026958581133143636517293630673035674612156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985512266303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919306293691127739575027627549729234937917451525389431042754189405872383331870447285354985310748204334794065231888203289975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162026651288778666224429465646796829905 5432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224649537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279105008466275725055699837783784127367397160932387768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673431590637284104449634834556068564316358366091644594946407174953733573624589138986024795295136625329166641657181339222326579815178309642995928761000133419827166501551313251183752120723271916864842212453550356428968486218454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797336971134157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183245554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471417768734610771949975990280311159285766801015054043719752972464251252978489671889895526291855798815612481735515484169272757374476987123933356042722065952882896283383611714688902349596985428683546387218717702781063929489718710448231468420531189737944763752593612299001454695039494707813587963670223689822678991805821282722682052408187442719431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578716825527835395146596381286184372673169511587510119319333292045885936819175626548897357389424691810359874962196530465254519507260586408292867569091612818695673292527377534526359926712342188890199481198991449863647501954910567655255479776633479357201225818214027616043235976648264566722893284465978972625735855523930039979331431967432341348137713230109177518755394127974576908024973205746701959702991535141505229783739819891622364339070612144694880469519026958581133143636517293630673035674612156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985512266303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919306293691127739575027627549729234937917451525389431042754189405872383331870447285354985310748204334794065231888203289975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162026651288778666224429465646796829905 6543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822464953737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727910500846627572505569983778378412736739716093238776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167343159063728410444963483455606856431635836609164459494640717495373357362458913898602479529513662532916664165718133922232657981517830964299592876100013341982716650155131325118375212072327191686484221245355035642896848621845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779733697113415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118324555426451518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147141776873461077194997599028031115928576680101505404371975297246425125297848967188989552629185579881561248173551548416927275737447698712393335604272206595288289628338361171468890234959698542868354638721871770278106392948971871044823146842053118973794476375259361229900145469503949470781358796367022368982267899180582128272268205240818744271943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157871682552783539514659638128618437267316951158751011931933329204588593681917562654889735738942469181035987496219653046525451950726058640829286756909161281869567329252737753452635992671234218889019948119899144986364750195491056765525547977663347935720122581821402761604323597664826456672289328446597897262573585552393003997933143196743234134813771323010917751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067303567461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551226630312066537832256844592636452034267434171460216862251667540847788528341485421187805377488584951983064438686117952945578966508362777472236198674638457555443947713986696267667532946122547321980366889514414299095883427452678522125845468630146669991142591930629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074820433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 7654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246495373797933748994149765691103247792666979965789335210090711753222479645140952719747676778735672791050084662757250556998377837841273673971609323877682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734315906372841044496348345560685643163583660916445949464071749537335736245891389860247952951366253291666416571813392223265798151783096429959287610001334198271665015513132511837521207232719168648422124535503564289684862184549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833860535357878366852601413530741419237577973369711341570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832455542645151854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614714177687346107719499759902803111592857668010150540437197529724642512529784896718898955262918557988156124817355154841692727573744769871239333560427220659528828962833836117146889023495969854286835463872187177027810639294897187104482314684205311897379447637525936122990014546950394947078135879636702236898226789918058212827226820524081874427194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787168255278353951465963812861843726731695115875101193193332920458859368191756265488973573894246918103598749621965304652545195072605864082928675690916128186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481371323010917751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067303567461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551226630312066537832256844592636452034267434171460216862251667540847788528341485421187805377488584951983064438686117952945578966508362777472236198674638457555443947713986696267667532946122547321980366889514414299095883427452678522125845468630146669991142591930629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074820433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 8765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224649537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279105008466275725055699837783784127367397160932387768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673431590637284104449634834556068564316358366091644594946407174953733573624589138986024795295136625329166641657181339222326579815178309642995928761000133419827166501551313251183752120723271916864842212453550356428968486218454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797336971134157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183245554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471417768734610771949975990280311159285766801015054043719752972464251252978489671889895526291557988156124817355154841692727573744769871239333560427220659528828962833836117146889023495969854286835463872187177027810639294897187104482314684205311897379447637525936122990014546950394947078135879636702236898226789918058212827226820524081874427194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787168255278353951465963812861843726731695115875101193193332920458859368191756265488973573894246918103598749621965304652545195072605864082928675690916128186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481371323010917751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067303567461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551226630312066537832256844592636452034267434171460216862251667540847788528341485421187805377488584951983064438686117952945578966508362777472236198674638457555443947713986696267667532946122547321980366889514414299095883427452678522125845468630146669991142591930629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074820433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 9876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822464953737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727910500846627572505569983778378412736739716093238776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167343159063728410444963483455606856431635836609164459494640717495373357362458913898602479529513662532916664165718133922232657981517830964299592876100013341982716650155131325118375212072327191686484221245355035642896848621845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779733697113415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118324555426451518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147141776873461077194997599028031115928576680101505404371975297246425125297848967188989552629155798815612481735515484169272757374476987123933356042722065952882896283383611714688902349596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702236898226789918058212827226820524081874427194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787168255278353951465963812861843726731695115875101193193332920458859368191756265488973573894246918103598749621965304652545195072605864082928675690916128186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481371323010917751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067303567461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551226630312066537832256844592636452034267434171460216862251667540847788528341485421187805377488584951983064438686117952945578966508362777472236198674638457555443947713986696267667532946122547321980366889514414299095883427452678522125845468630146669991142591930629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074820433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 1098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224649537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279500846627572505569983778378412736739716093238776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167343159063728410444963483455606856431635836609164459494640717495373357362458913898602479529513662532916664165718133922232657981517830964299592876100013341982716650155131325118375212072327191686484221245355035642896848621845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779733697113415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118324555426451518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147141776873461077194997599028031115928576680101505404371975297246425125297848967188989552629155798815612481735515484169272757374476987123933356042722065952882896283383611714688902349596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702236898226789918058212827226820524081874427194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787168255278353951465963812861843726731695115875101193193332920458859368191756265488973573894246918103598749621965304652545195072605864082928675690916128186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481371323010917751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067303567461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551226630312066537832256844592636452034267434171460216862251667540847788528341485421187805377488584951983064438686117952945578966508362777472236198674638457555443947713986696267667532946122547321980366889514414299095883427452678522125845468630146669991142591930629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074820433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 1110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246495373797933748994149765691103247792666979965789335210090711753222479645140952719747676778735672795008466275725055699837783784127367397160932387768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673431590637284104449634834556068564316358366091644594946407174953733573624589138986024795295136625329166641657181339222326579815178309642995928761000133419827166501551313258375212072327191686484221245355035642896848621845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779733697113415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118324555426451518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147141776873461077194997599028031115928576680101505404371975297246425125297848967188989552629155798815612481735515484169272757374476987123933356042722065952882896283383611714688902349596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702236898226789918058212827226820524081874427194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787168255278353951465963812861843726731695115875101193193332920458859368191756265488973573894246918103598749621965304652545195072605864082928675690916128186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481371323010917751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067303567461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551226630312066537832256844592636452034267434171460216862251667540847788528341485421187805377488584951983064438686117952945578966508362777472236198674638457555443947713986696267667532946122547321980366889514414299095883427452678522125845468630146669991142591930629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074820433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 1211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822464953737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727950084662757250556998377837841273673971609323877682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734315906372841044496348345560685643163583660916445949464071749537335736245891389860247952951366253291666416571813392223265798151783096429959287610001334198271665015513132583752120723271916864842212453550356428968486218454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797336971134157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183245554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471417768734610771949975990280311159285766801015054043719752972464251252978489671889895526291557988156124817355154841692727573744769873933356042722065952882896283383611714688902349596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702236898226789918058212827226820524081874427194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787168255278353951465963812861843726731695115875101193193332920458859368191756265488973573894246918103598749621965304652545195072605864082928675690916128186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481371323010917751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067303567461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551226630312066537832256844592636452034267434171460216862251667540847788528341485421187805377488584951983064438686117952945578966508362777472236198674638457555443947713986696267667532946122547321980366889514414299095883427452678522125845468630146669991142591930629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074820433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 1312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224649537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279500846627572505569983778378412736739716093238776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167343159063728410444963483455606856431635836609164459494640717495373357362458913898602479529513662532916664165718133922232657981517830964299592876100013341982716650155131325837521207232719168648422124535503564289684862184549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833860535357878366852601413530741419237577973369714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183245554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471417768734610771949975990280311159285766801015054043719752972464251252978489671889895526291557988156124817355154841692727573744769873933356042722065952882896283383611714688902349596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702236898226789918058212827226820524081874427194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787168255278353951465963812861843726731695115875101193193332920458859368191756265488973573894246918103598749621965304652545195072605864082928675690916128186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481371323010917751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067303567461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551226630312066537832256844592636452034267434171460216862251667540847788528341485421187805377488584951983064438686117952945578966508362777472236198674638457555443947713986696267667532946122547321980366889514414299095883427452678522125845468630146669991142591930629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074820433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 1413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246495373797933748994149765691103247792666979965789335210090711753222479645140952719747676778735672795008466275725055699837783784127367397160932387768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673431590637284104449634834556068564316358366091644594946407174953733573624589138986024795295136625329166641657181339222326579815178309642995928761000133419827166501551313258375212072327191686484221245355035642896848621845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779733697141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832455542645151854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311159285766801015054043719752972464251252978489671889895526291557988156124817355154841692727573744769873933356042722065952882896283383611714688902349596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702236898226789918058212827226820524081874427194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787168255278353951465963812861843726731695115875101193193332920458859368191756265488973573894246918103598749621965304652545195072605864082928675690916128186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481371323010917751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067303567461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551226630312066537832256844592636452034267434171460216862251667540847788528341485421187805377488584951983064438686117952945578966508362777472236198674638457555443947713986696267667532946122547321980366889514414299095883427452678522125845468630146669991142591930629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074820433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 1514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822464953737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727950084662757250556998377837841273673971609323877682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734315906372841044496348345560685643163583660916445949464071749537335736245891389860247952951366253291666416571813392223265798151783096429959287610001334198271665015513132583752120723271916864842212453550356428968486218454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797336971415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118324555426451518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054043719752972464251252978489671889895526291557988156124817355154841692727573744769873933356042722065952882896283383611714688902349596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702236898226789918058212827226820524081874427194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787168255278353951465963812861843726731695115875101193193332920458859368191756265488973573894246918103598749621965304652545195072605864082928675690916128186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481371323010917751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067303567461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551226630312066537832256844592636452034267434171460216862251667540847788528341485421187805377488584951983064438686117952945578966508362777472236198674638457555443947713986696267667532946122547321980366889514414299095883427452678522125845468630146669991142591930629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074820433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 1615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224649537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279500846627572505569983778378412736739716093238776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167343159063728410444963483455606856431635836609164459494640717495373357362458913898602479529513662532916664165718133922232657981517830964299592876100013341982716650155131325837521207232719168648422124535503564289684862184549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833860535357878366852601413530741419237577973369714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183245554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150540437197529724642512529784896718898955262915579881561248173551548416927275737447698739333560427220659528828962833836117146889023495969854286835463872187177027810639248971871044823146842053118973794476375259361229900145469503949470781358796367022368982267899180582128272268205240818744271943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332920458859368191756265488973573894246918103598749621965304652545195072605864082928675690916128186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481371323010917751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067303567461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551226630312066537832256844592636452034267434171460216862251667540847788528341485421187805377488584951983064438686117952945578966508362777472236198674638457555443947713986696267667532946122547321980366889514414299095883427452678522125845468630146669991142591930629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074820433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 1716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246495373797933748994149765691103247792666979965789335210090711753222479645140952719747676778735672795008466275725055699837783784127367397160932387768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673431590637284104449634834556068564316358366091644594946407174953733573624589138986024795295136625329166641657181339222326579815178309642995928761000133419827166501551313258375212072327191686484221245355035642896848621845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779733697141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832455542645151854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505404371975297246425125297848967188989552629155798815612481735515484169272757374476987393335604272206595288289628338361171468890234959698542868354638721871770278106392489718710448231468420531189737944763752593612299001454695039494707813587963670223689822678991805821282722682052408187442719431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933329204588593681917562654889735738942469181035987496219653046525451950726058640829286756909161281869567329252737753452635992671234218889019948119899144986364750195491056765525547977663347935720122581821402761604323597664826456672289328446597897262573585552393003997933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067303567461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551226630312066537832256844592636452034267434171460216862251667540847788528341485421187805377488584951983064438686117952945578966508362777472236198674638457555443947713986696267667532946122547321980366889514414299095883427452678522125845468630146669991142591930629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074820433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 1817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822464953737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727950084662757250556998377837841273673971609323877682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734315906372841044496348345560685643163583660916445949464071749537335736245891389860247952951366253291666416571813392223265798151783096429959287610001334198271665015513132583752120723271916864842212453550356428968486218454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797336971415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118324555426451518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054043719752972464251252978489678989552629155798815612481735515484169272757374476987393335604272206595288289628338361171468890234959698542868354638721871770278106392489718710448231468420531189737944763752593612299001454695039494707813587963670223689822678991805821282722682052408187442719431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933329204588593681917562654889735738942469181035987496219653046525451950726058640829286756909161281869567329252737753452635992671234218889019948119899144986364750195491056765525547977663347935720122581821402761604323597664826456672289328446597897262573585552393003997933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067303567461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551226630312066537832256844592636452034267434171460216862251667540847788528341485421187805377488584951983064438686117952945578966508362777472236198674638457555443947713986696267667532946122547321980366889514414299095883427452678522125845468630146669991142591930629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074820433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 1918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224649537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279500846627572505569983778378412736739716093238776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167343159063728410444963483455606856431635836609164459494640717495373357362458913898602479529513662532916664165718133922232657981517830964299592876100013341982716650155131325837521207232719168648422124535503564289684862184549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833860535357878366852601413530741419237577973369714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183245554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150540437197529724642512529784896789895526291557988156124817355154841692727573744769873933356042722065952882896283383611714688902349596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702236898226789918058212827226820524081874427194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333292045885936819175626548897357389424691810359874962196530465254550726058640829286756909161281869567329252737753452635992671234218889019948119899144986364750195491056765525547977663347935720122581821402761604323597664826456672289328446597897262573585552393003997933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067303567461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551226630312066537832256844592636452034267434171460216862251667540847788528341485421187805377488584951983064438686117952945578966508362777472236198674638457555443947713986696267667532946122547321980366889514414299095883427452678522125845468630146669991142591930629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074820433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 2019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246495373797933748994149765691103247792666979965789335210090711753222479645140952719747676778735672795008466275725055699837783784127367397160932387768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673431590637284104449634834556068564316358366091644594946407174953733573624589138986024795295136625329166641657181339222326579815178309642995928761000133419827166501551313258375212072327191686484221245355035642896848621845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779733697141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832455542645151854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505404371975297246425125297848967898955262915579881561248173551548416927275737447698739333560427220659528828962833836117146889023495969854286835463872187177027810639248971871044823146842053118973794476375259361229900145469503949470781358796367022368982267899180582128272268205240818744271943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332920458859368191756265488973573894246918103598749621965304652545507260586408292867569091612818695673292527377534526359926712342188890199481198991449863647501954910567655255479776633479357201225818214027616043235976648264566722893284465978972625735855523930039979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622364339070612144694880469519026958581133143636517293630673035674612156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985512266303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919306293691127739575027627549729234937917451525389431042754189405872383331870447285354985310748433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 2120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822464953737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727950084662757250556998377837841273673971609323877682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734315906372841044496348345560685643163583660916445949464071749537335736245891389860247952951366253291666416571813392223265798151783096429959287610001334198271665015513132583752120723271916864842212453550356428968486845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779733697141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832455542645151854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505404371975297246425125297848967898955262915579881561248173551548416927275737447698739333560427220659528828962833836117146889023495969854286835463872187177027810639248971871044823146842053118973794476375259361229900145469503949470781358796367022368982267899180582128272268205240818744271943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332920458859368191756265488973573894246918103598749621965304652545507260586408292867569091612818695673292527377534526359926712342188890199481198991449863647501954910567655255479776633479357201225818214027616043235976648264566722893284465978972625735855523930039979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622364339070612144694880469519026958581133143636517293630673035674612156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985512266303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919306293691127739575027627549729234937917451525389431042754189405872383331870447285354985310748433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 2221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224649537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279500846627572505569983778378412736739716093238776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167343159063728410444963483455606856431635836609164459494640717495373357362458913898602479529513662532916664165718133922232657981517830964299592876100013341982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797336971415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118324555426451518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054043719752972464251252978489678989552629155798815612481735515484169272757374476987393335604272206595288289628338361171468890234959698542868354638721871770278106392489718710448231468420531189737944763752593612299001454695039494707813587963670223689822678991805821282722682052408187442719431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933329204588593681917562654889735738942469181035987496219653046525455072605864082928675690916128186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223643390706121446948804695190269585811331436365172936306730356746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919306293691127739575027627549729234937917451525389431042754189405872383331870447285354985310748433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 2322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246495373797933748994149765691103247792666979965789335210090711753222479645140952719747676778735672795008466275725055699837783784127367397160932387768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673431590637284104449634834556068564316358366091644594946407174953733573624589138986024795295136625329166641657181339222326579815178309642995928761000133419827166501551313258375212072327191686484221245355035642896848684549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833860535357878366852601413530741419237577973369714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183245554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150540437197529724642512529784896789895526291557988156124817355154841692727573744769873933356042722065952882896283383611714688902349596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702689822678991805821282722682052408187442719431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933329204588593681917562654889735738942469181035987496219653046525455072605864082928675690916128186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223643390706121446948804695190269585811331436365172936306730356746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919306293691127739575027627549729234937917451525389431042754189405872383331870447285354985310748433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 2423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822464953737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727950084662757250556998377837841273673971609323877682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734315906372841044496348345560685643163583660916445949464071749537335736245891389860795295136625329166641657181339222326579815178309642995928761000133419827166501551313258375212072327191686484221245355035642896848684549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833860535357878366852601413530741419237577973369714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183245554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150540437197529724642512529784896789895526291557988156124817355154841692727573744769873933356042722065952882896283383611714688902349596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702689822678991805821282722682052408187442719431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933329204588593681917562654889735738942469181035987496219653046525455072605864082928675690916128186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223643390706121446948804695190269585811331436365172936306730356746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919306293691127739575027627549729234937917451525389431042754189405872383331870447285354985310748433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 2524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224649537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279500846627572505569983778378412736739716093238776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167343159063728410444963483455606856431635836609164459494640717495373357362458913898607952951366253291666416571813392223265798151783096429959287610001334198271665015513132583752120723271916864842212453550356428968486845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779733697141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832455542645151854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505404371975297246412529784896789895526291557988156124817355154841692727573744769873933356042722065952882896283383611714688902349596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702689822678991805821282722682052408187442719431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933329204588593681917562654889735738942469181035987496219653046525455072605864082928675690916128186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223643390706121446948804695190269585811331436365172936306730356746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919306293691127739575027627549729234937917451525389431042754189405872383331870447285354985310748433479406523188820328997541779096422555261633263355440851980608151185435149583115450400485917831701596715362189471165637127687016202665128877866622442946564679829905 2625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246495373797933748994149765691103247792666979965789335210090711753222479645140952719747676778735672795008466275725055699837783784127367397160932387768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673431590637284104449634834556068564316358366091644594946407174953733573624589138986079529513662532916664165718133922232657981517830964299592876100013341982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797336971415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118324555426451518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054043719752972464125297848967898955262915579881561248173551548416927275737447698739333560427220659528828962833836117146889023495969854286835463872187177027810639248971871044823146842053118973794476375259361229900145469503949470781358796367026898226789918058212827226820524081874427194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333292045885936819175626548897357389424691810359874962196530465254550726058640829286756909161281869567329252737753452635992671234218889019948119899144986364750195491056765525547977663347935720122581821402761604323597664826456672289328446597897262573585552393003997933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067303567461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551663031206653783225684459263645203426743417146021686225166754084778852834148542118780537748858495198306443868611795294557896650836277747223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259193062936911277395750276275497292349379174515253894310427541894058723833318704472853549853107484334794065231888203289975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 2726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822464953737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727950084662757250556998377837841273673971609323877682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734315906372841044496348345560685643163583660916445949464071749537335736245891389860795295136625329166641657181339222326579815178309642995928761000133419827166501551313258375212072327191686484221245355035642896848684549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833860535357878366852601413530741419237577973369714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183245554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150540437197529724641252978489678989552629155798815612481735515484169272757374476987393335604272206595288289628338361171468890234959698542868354638721871770278106392489718710448231468420531189737944763752593612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333292045885936819175626548897357389424691810359874962196530465254550726058640829286756909161281869567329252737753452635992671234218889019948119899144986364750195491056765525547977663347935720122581821402761604323597664826456672289328446597897262573585552393003997933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067303567461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551663031206653783225684459263645203426743417146021686225166754084778852834148542118780537748858495198306443868611795294557896650836277747223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259193062936911277395750276275497292349379174515253894310427541894058723833318704472853549853107484334794065231888203289975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 2827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224649537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279500846627572505569983778378412736739716093238776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167343159063728410444963483455606856431635836609164459494640717495373357362458913898607952951366253291666416571813392223265798151783096429959287610001334198271665015513132583752120723271916864842212453550356428968486845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779733697141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832455542645151854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505404371975297246412529784896789895526291557988156124817355154841692727573744769873933356042722065952882896283383611714688902349596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332920458859368191756265488973573894246918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491056765525547977663347935720122581821402761604323597664826456672289328446597897262573585552393003997933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067303567461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551663031206653783225684459263645203426743417146021686225166754084778852834148542118780537748858495198306443868611795294557896650836277747223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259193062936911277395750276275497292349379174515253894310427541894058723833318704472853549853107484334794065231888203289975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 2928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246495373797933748994149765691103247792666979965789335210090711753222479645140952719747676778735672795008466275725055699837783784127367397160932387768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673431590637284104449634834556068564316358366091644594946407174953733573624589138986079529513662532916664165718133922232657981517830964299592876100013341982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797336971415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118324555426451518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054043719752972464125297848967898955262915579881561248173551548416927275737447698739333560427220659528828962833836117146889023495969854286835463872187177027810639248971871044823146842053118973794476375259361229900145469503949470781358796367026898226789918058212827226820524081874419431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933320458859368191756265488973573894246918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491056765525547977663347935720122581821402761604323597664826456672289328446597897262573585552393003997933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067303567461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551663031206653783225684459263645203426743417146021686225166754084778852834148542118780537748858495198306443868611795294557896650836277747223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259193062936911277395750276275497292349379174515253894310427541894058723833318704472853549853107484334794065231888203289975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 3029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822464953737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727950084662757250556998377837841273673971609323877682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734315906372841044496348345560685643163583660916445949464071749537335736245891389860795295136625329166641657181339222326579815178309642995928761000133419827166501551313258375212072327191686484221245355035642896848684549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833860535357878366852601413530741419237577973369714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183245554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150540437197529724641252978489678989552629155798815612481735515484169272757374476987393335604272206595288289628338361171468890234959698542868354638721871770278106392489718710448231468420531189737944763752593612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942469181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910567655255479776633479357201225818214027616043235976648264566722893284465978972625735855523930039979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622364339070612144694880469519026958581133143636517293630673035674612156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985516630312066537832256844592636452034267434171460216862251667540847788528341485421187805377488584951983064438686117952945578966508362777472236198674638457555443947713986696267667532946122547321980366889514414299095883427452678522125845468630146669991142591962936911277395750276275497292349379174515253894310427541894058723833318704472853549853107484334794065231888203289975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 3130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224649537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279500846627572505569983778378412736739716093238776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167345906372841044496348345560685643163583660916445949464071749537335736245891389860795295136625329166641657181339222326579815178309642995928761000133419827166501551313258375212072327191686484221245355035642896848684549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833860535357878366852601413530741419237577973369714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183245554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150540437197529724641252978489678989552629155798815612481735515484169272757374476987393335604272206595288289628338361171468890234959698542868354638721871770278106392489718710448231468420531189737944763752593612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942469181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910567655255479776633479357201225818214027616043235976648264566722893284465978972625735855523930039979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622364339070612144694880469519026958581133143636517293630673035674612156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985516630312066537832256844592636452034267434171460216862251667540847788528341485421187805377488584951983064438686117952945578966508362777472236198674638457555443947713986696267667532946122547321980366889514414299095883427452678522125845468630146669991142591962936911277395750276275497292349379174515253894310427541894058723833318704472853549853107484334794065231888203289975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 3231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246495373797933748994149765691103247792666979965789335210090711753222479645140952719747676778735672795008466275725055699837783784127367397160932387768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673459063728410444963483455606856431635836609164459494640717495373357362458913898607952951366253291666416571813392223265798151783096429959287610001334198271665015513132583752120723271916864842212453550356428968486845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779733697141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832455542645151854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505404371975297246412529784896789895526291557988156124817355154841692727573744769873933356042722065952882896283383611714688902349596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389424691810359874962196530465254550726058640829286756909161186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223643390706121446948804695190269585811331436365172936306730356746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074843347940652318882089975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 3332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822464953737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727950084662757250556998377837841273673971609323877682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734590637284104449634834556068564316358366091644594946407174953733573624589138986079529513662532916664165718133922232657981517830964299592876100013341982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797336971415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118324555426451518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054043719752972464125297848967898955262915579881561248173551548416927275737447698739356042722065952882896283383611714688902349596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389424691810359874962196530465254550726058640829286756909161186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223643390706121446948804695190269585811331436365172936306730356746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074843347940652318882089975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 3433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224649537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279500846627572505569983778378412736739716093238776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167345906372841044496348345560685643163583660916445949464071749537335736245891389860795295136625329166641657181339222326579815178309642995928761000133419827166501551313258375212072327191686484221245355035642896848684549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833860535357878366852601413530741419237577973369714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183245554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150540437197529724641252978489678989552629155798815612481735515484169272757374476987393560427220659528828962833836117146889029596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389424691810359874962196530465254550726058640829286756909161186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300399793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223643390706121446948804695190269585811331436365172936306730356746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074843347940652318882089975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 3534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246495373797933748994149765691103247792666979965789335210090711753222479645140952719747676778735672795008466275725055699837783784127367397160932387768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673459063728410444963483455606856431635836609164459494640717495373357362458913898607952951366253291666416571813392223265798151783096429959287610001334198271665015513132583752120723271916864842212453550356428968486845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779733697141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832455542645151854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505404371975297246412529784896789895526291557988156124817355154841692727573744769873935604272206595288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375259361229900145469503949470781358796367026898226789918058212827226820524081874419431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933320458859368191756265488973573894246918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491056765525547977663347935720122581821402761604323597664826456672289328446597897262573585552393003997933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067306746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074843347940652318882089975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 3635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822464953737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727950084662757250556998377837841273673971609323877682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734590637284104449634834556068564316358366091644594946407174953733573624589138986079529513662532916664165718133922232657981517830964299592876100013341982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832455542645151854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505404371975297246412529784896789895526291557988156124817355154841692727573744769873935604272206595288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375259361229900145469503949470781358796367026898226789918058212827226820524081874419431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933320458859368191756265488973573894246918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491056765525547977663347935720122581821402761604323597664826456672289328446597897262573585552393003997933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067306746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074843347940652318882089975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 3736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224649537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279500846627572505569983778378412736739716093238776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167345906372841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299592876100013341982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832455542645151854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505404371975297246412529784896789895526291557988156124817355154841692727573744769873935604272206595288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375259361229900145469503949470781358796367026898226789918058212827226820524081874419431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933320458859368191756265488973573894246918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491056765525547977663347935720122581821402761604323597664826456672289328446597897262573585552393003997933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067306746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074843347940652318882089975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 3837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246495373797933748994149765691103247792666979965789335210090711753222479645140952719747676778735672795008466275725055699837783784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167345906372841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299592876100013341982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832455542645151854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505404371975297246412529784896789895526291557988156124817355154841692727573744769873935604272206595288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375259361229900145469503949470781358796367026898226789918058212827226820524081874419431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933320458859368191756265488973573894246918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491056765525547977663347935720122581821402761604323597664826456672289328446597897262573585552393003997933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067306746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074843347940652318882089975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 3938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822464953737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727950084662757250556998377837841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673459063728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133419827166501551313258375212072327191686484221245355035642896848684549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833860535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118324555426451518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054043719752972464125297848967898955262915579881561248173551548416927275737447698739356042722065952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752593612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942469181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910567655255479776633479357201225818214027616043235976648264566722893284465978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067306746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074843347940652318882089975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 4039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224649537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279500846627572505569983778378412736739716093277682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734590637284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429959287610001334198271665015513132583752120723271916864842212453550356428968486845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183245554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972464125297848967898955262915579881561248173551548416927275737447698739356042722065952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752593612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942469181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910567655255479776633479357201225818214027616043235976648264566722893284465978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067306746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074843347940652318882089975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 4140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246495373797933748994149765691103247792666979965789335210090711753222479645140952719747676778735672795008466275725055699837783784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167345906372841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299592876100013398271665015513132583752120723271916864842212453550356428968486845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183245554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972464125297848967898955262915579881561248173551548416927275737447698739356042722065952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752593612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942469181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910567655255479776633479357201225818214027616043235976648264566722893284465978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236433907061214469488046951902695858113314363651729363067306746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414854211878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074843347940652318882089975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 4241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822464953737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727950084662757250556998377837841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673459063728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832455542645151854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505437197529724641252978489678989552629155798815612481735515484169272757374476987393560427220659528828962833836117146889029596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389424691810359874962196530465254550726058640829286756909161186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932844659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622364339070612144694880469519026958581133143636517293630673067461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551663031206653783225684459263645203426743417146021686225166754084778852834148511878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074843347940652318882089975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 4342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224649537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279500846627572505569983778378412736739716093277682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734590637284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429959287610001339827166501551313258375212072327191686484221245355035642896848684549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833860535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118324555426451518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054371975297246412529784896789895526291557988156124817355154841692727573744769873935604272206595288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375259361229900145469503949470781358796367026898226789918058212827226820524081874419431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933320458859368191756265488973573894246918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491056765525547977663347935720122581821402761604323597664826456672289328446597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551663031206653783225684459263645203426743417146021686225166754084778852834148511878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074843347940652318882089975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 4443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246495373797933748994149765691103247792666979965789335210090711753222479645140952719747676778735672795008466275725055699837783784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167345906372841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299592876100013398271665015513132583752120723271916864842212453550356428968486845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183245554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972464125297848967898955262915579881561248173551548416927275737447698739356042722065952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752593612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942469181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910567655255479776633479357201225818214027616043235976648264566722893286597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551663031206653783225684459263645203426743417146021686225166754084778852834148511878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074843347940652318882089975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 4544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822464953737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727950084662757250556998377837841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673459063728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972464125297848967898955262915579881561248173551548416927275737447698739356042722065952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752593612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942469181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910567655255479776633479357201225818214027616043235976648264566722893286597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551663031206653783225684459263645203426743417146021686225166754084778852834148511878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074843347940652318882089975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 4645444342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224649537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279500846627572505569983778378412736739716093277682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734590637284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429959287610001339827166501551313258375212072327191686484221245355035642896848684549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833860535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118325542645151854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505437197529724641252978489678989552629155798815612481735515484169272757374476987393560427220659528828962833836117146889029596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910567655255479776633479357201225818214027616043235976648264566722893286597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551663031206653783225684459263645203426743417146021686225166754084778852834148511878053774885849519830644386861179529455789665083627774722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074843347940652318882089975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 4746454443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246495373797933748994149765691103247792666979965789335210090711753222479645140952719747676778735672795008466275725055699837783784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167345906372841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299592876100013398271665015513132583752120723271916864842212453550356428968486845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183255426451518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054371975297246412529784896789895526291557988156124817355154841692727573744769873935604272206595288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375259361229900145469503949470781358796367026898226789918058212827226820524081874419431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933320458859368191756265488973573894291810359874962196530465254550726058640829286756909161186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932865978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674612156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985516630312066537832256844592636452034267434171460216862251667540847788528341485118780537748858495198306443868611795294557896650836277722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728535498531074843347940652318882089975417790964225552616332633554408519806081511854351495831154504004859178317015967153621894711656371276870162065128877866622442946564679829905 4847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822464953737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727950084662757250556998377837841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673459063728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972464125297848967898955262915579881561248173551548416927275737447698739356042722065952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752593612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491056765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414851187805377488584951983064438686117952945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189405872383331870447285354985310748433479406523188820899754177909642255526163326335544085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 4948474645444342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224653737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727950084662757250556998377837841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673459063728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972464125297848967898955262915579881561248173551548416927275737447698739356042722065952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752593612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491056765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414851187805377488584951983064438686117952945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189405872383331870447285354985310748433479406523188820899754177909642255526163326335544085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 5049484746454443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279500846627572556998377837841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673459063728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832554264515185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972464125297848967898955262915579881561248173551548416927275737447698739356042722065952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752593612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491056765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414851187805377488584951983064438686117952945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189405872383331870447285354985310748433479406523188820899754177909642255526163326335544085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 5150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979965789335210090711753222479645140952719747676778735672795008466275725569983778378412736739716093277682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734590637284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429959287610001339827166501551313258375212072327191686484221245355035642896848684549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833860535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118325542645185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972464125297848967898955262915579881561248173551548416927275737447698739356042722065952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752593612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491056765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414851187805377488584951983064438686117952945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189405872383331870447285354985310748433479406523188820899754177909642255526163326335544085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 5251504948474645444342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224653737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727950084662757255699837783784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167345906372841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299592876100013398271665015513132583752120723271916864842212453550356428968486845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183255426451854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505437197529724641252978489678989552629155798815612481735515484169272757374476987393560427220659528828962833836117146889029596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910567655255479776633479357201225818214027616043235976648264566722893286597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551663031206653783225684459263645203426743417146021686225166754084778852834148511878053774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189405872383331870447285354985310748433479406523188820899754177909642255526163326335544085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 5352515049484746454443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279500846627572556998377837841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673459063728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832554264518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054371975297246412529784896789895526291557988156124817355154841692727573744769873935604272206595288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375259361229900145469503949470781358796367026898226789918058212827226820524081874419431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933320458859368191756265488973573894291810359874962196530465254550726058640829286756909161186956732925273775345263599267123421888901994811989914498636475019549105676552554797766334793572012258182140276160432359766482645667228932865978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674612156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985516630312066537832256844592636452034267434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189405872383331870447285354985310748433479406523188820899754177909642255526163326335544085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 5453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979965789335210090711753222479645140952719747676778735672795008466275725569983778378412736739716093277682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734590637284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429959287610001339827166501551313258375212072327191686484221245355035642896848684549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833860535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118325542645185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972464125297848967898955262915579881561248173551548416927275737447698739356042722065952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752593612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491056765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306746121564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855166303120665378322568445926364520342674341714602168622516675408477885283414851187807748858495198306443868611799455789665083627772236198674638457555443947713986696267667532946122547321980366889514414299095883427452678522125845468630146669991142591962936911277395750276275497292349379174515253894310427541894058723833318704472853985310748433479406523188820899754177909642255526163326335544085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 5554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224653737979337489941497656911032477926669799657893352100907117532224796451409527197476767787356727950084662757255699837783784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167345906372841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299592876100013398271665015513132583752120723271916864842212453550356428968486845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183255426451854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505437197529724641252978489678989552629155798815612481735515484169272757374476987393560427220659528828962833836117146889029596985428683546387218717702781063924897187104482314684205311897379447637525936122990014546950394947078135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910567655255479776633479357201225818214027616043235976648264566722893286597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551663031206653783225684459263645203426743417146021686225166754084778852834148511878077488584951983064438686117994557896650836277722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 5655545352515049484746454443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246537379793374899414976569110324779266697996578933521009071175322247964514095271974767677873567279500846627572556998377837841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673459063728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832554264518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054371975297246412529784896789895526291557988156124817355154841692727573744769873935604272206595288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375259361229900145469503949470781358796367026898226789918058212827226820524081874419431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933320458859368191756265488973573894291810359874962196530465254550726058640829286756909161186956732925273775345263599267123421888901994811989914498636475019549107655255479776633479357201225818214027616043235976648264566722893286597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551663031206653783225684459263645203426743417146021686225166754084778852834148511878077488584951983064438686117994557896650836277722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 5756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933521009071175322247964514095271974767677873567279500846627572556998377837841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673459063728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583386053535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832554264518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054371975297246412529784896789895526291557988156124817355154841692727573744769873935604272206595288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375259361229900145469503949470781358796367026898226789918058212827226820524081874419431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933320458859368191756265488973573894291810359874962196530465254550726058640829286756909161186956732925273775345263599267123421888901994811989914498636475019549107655255479776633479357201225818214027616043235976648264566722893286597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067461215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551663031206653783225684459263645203426743417146021686225166754084778852834148511878077488584951983064438686117994557896650836277722361986746384575554439477139866962676675329461225473219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940587238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 5857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224653737979337489941497656911032477926669799689335210090711753222479645140952719747676778735672795008466275725569983778378412736739716093277682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734590637284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429959287610001339827166501551313258375212072327191686484221245355035642896848684549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833860535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118325542645185415331738194351941924703298865709645273338769421711446417462731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972464125297848967898955262915579881561248173551548416927275737447698739356042722065952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752593612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491076552554797766334793572012258182140276160432359766482645667228932865978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674612156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985516630312066537832256844592636452034267434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 5958575655545352515049484746454443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246537379793374899414976569110324779266697996893352100907117532224796451409527197476767787356727950084662757255699837783784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167345906372841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299592876100013398271665015513132583752120723271916864842212453550356428968486845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338605353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183255426451854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505437197529724641252978489678989552629155798815612481735515484169272757374476987393560427220659528828962833836117146889029596985428683546387218717702781063924897187104482314684205311897379447637523612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491076552554797766334793572012258182140276160432359766482645667228932865978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674612156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985516630312066537832256844592636452034267434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 6059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933521009071175322247964514095271974767677873567279500846627572556998377837841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673459063728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583385353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183255426451854153317381943519419247032988657096452733387694217114464174627319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505437197529724641252978489678989552629155798815612481735515484169272757374476987393560427220659528828962833836117146889029596985428683546387218717702781063924897187104482314684205311897379447637523612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491076552554797766334793572012258182140276160432359766482645667228932865978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674612156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985516630312066537832256844592636452034267434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 6160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224653737979337489941497656911032477926669799689335210090711753222479645140952719747676778735672795008466275725569983778378412736739716093277682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734590637284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429959287610001339827166501551313258375212072327191686484221245355035642896848684549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833853535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832554264518541533173819435194192470329886570964527333876942171144641746273193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054371975297246412529784896789895526291557988156124817355154841692727573744769873935604272206595288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375236122990014546950394947078135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306742156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985516630312066537832256844592636452034267434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 6261605958575655545352515049484746454443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246537379793374899414976569110324779266697996893352100907117532224796451409527197476767787356727950084662757255699837783784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167345906372841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299592876100013398271665015513132583752120723271916864842212453550356428968486845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118325542645185415331738194351941924703298865709645273338769421711446417473193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054371975297246412529784896789895526291557988156124817355154841692727573744769873935604272206595288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375236122990014546950394947078135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306742156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985516630312066537832256844592636452034267434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 6362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933521009071175322247964514095271974767677873567279500846627572556998377837841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673459072841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299592876100013398271665015513132583752120723271916864842212453550356428968486845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118325542645185415331738194351941924703298865709645273338769421711446417473193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054371975297246412529784896789895526291557988156124817355154841692727573744769873935604272206595288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375236122990014546950394947078135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306742156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985516630312066537832256844592636452034267434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 6463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224653737979337489941497656911032477926669799689335210090711753222479645140952719747676778735672795008466275725569983778378412736739716093277682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734590728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583385353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183255426451854153317381943519419247032988657096452733387694217114464174731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972412529784896789895526291557988156124817355154841692727573744769873935604272206595288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375236122990014546950394947078135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306742156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985516630312066537832256844592636452034267434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 6564636261605958575655545352515049484746454443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246537379793374899414976569110324779266697996893352100907117532224796451409527197476767787356727950084662757255699837783784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429959287610001339827166501551313258375212072327191686484221245355035642896848684549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874886821016877831727712947118262436830230537669610256615833853535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832554264518541533173819435194192470329886570964527333876942171144641747319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505437197529724125297848967898955262915579881561248173551548416927275737447698739356042722095288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375236122990014546950394947078135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306742156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985516630312066537832256844592636452034267434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 6665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933521009071175322247964514095271974767677873567279500846627572556998377837841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673459072841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299592876100013398271665015513132583752120723271916864842212453550356428968486845499037405804517698474657564825261420269872600934656960432858509617388465248920490857096239226936851132918748868210168778317277129471182624368302305376696102566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118325542645185415331738194351941924703298865709645273338769421711446417473193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054371975297241252978489678989552629155798815612481735515484169272757374476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470781358796367026898226789918058212827226820524081874419431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933320458859368191756265488973573894291810359874962196530465254550726058640829286756909161186956732925273775345263599267123421888901994811989914498636475019549107655255479776633479357201225818214027616043235976648264566722893286597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067421564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431677584395040320020324128489457125990887427031579855130312066537832256844592636452034267434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 6766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224653737979337489941497656911032477926669799689335210090711753222479645140952719747676778735672795008466275725569983778378412736739716093277682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734590728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202698726009346569604328585096173884652489204908570962392269368511329187488682101687783172771294711826243683023053766961025661583385353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183255426451854153317381943519419247032988657096452733387694217114464174731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972412529784896789895526291557988156124817355154841692727573744769873935604272209528828962833836117146889029596985428683546387218717702781063924897187104482314684205311897379447637523612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491076552554797766334793572012258182140276160432359766482645667228932865978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 6867666564636261605958575655545352515049484746454443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246537379793374899414976569110324779266697996893352100907117532224796451409527197476767787356727950084662757255699837783784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429959287610001339827166501551313258375212072327191686484221245355035642896848684549903740580451769847465756482526142026987260093465696043285850961738846524892049085709623922693685113291874882101687783172771294711826243683023053766961025661583385353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183255426451854153317381943519419247032988657096452733387694217114464174731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972412529784896789895526291557988156124817355154841692727573744769873935604272209528828962833836117146889029596985428683546387218717702781063924897187104482314684205311897379447637523612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491076552554797766334793572012258182140276160432359766482645667228932865978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 6968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933521009071175322247964514095271974767677873567279500846627572556998377837841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706137282841673459072841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299592876100013398271665015513132583752120723271916864842212453550356428968486845499037405804517698474657564825261420287260093465696043285850961738846524892049085709623922693685113291874882101687783172771294711826243683023053766961025661583385353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183255426451854153317381943519419247032988657096452733387694217114464174731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972412529784896789895526291557988156124817355154841692727573744769873935604272209528828962833836117146889029596985428683546387218717702781063924897187104482314684205311897379447637523612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491076552554797766334793572012258182140276160432359766482645667228932865978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 7069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224653737979337489941497656911032477926669799689335210090711753222479645140952719747676778735672795008466275725569983778378412736739716093277682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061372828416734590728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133982716650155131325837521207232719168648422124535503564289684868454990374058045176984746575648252614202872600934656960432858509617388465248920490857096239226936851132918748821016877831727712947118262436830230537669610256615833853535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832554264518541533173819435194192470329886596452733387694217114464174731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972412529784896789895526291557988156124817355154841692727573744769873935604272209528828962833836117146889029596985428683546387218717702781063924897187104482314684205311897379447637523612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491076552554797766334793572012258182140276160432359766482645667228932865978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 7170696867666564636261605958575655545352515049484746454443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246537379793374899414976569110324779266697996893352100907117532224796451409527197476767787356727950084662757255699837783784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613728284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429959287610001339827166501551313258375212072329168648422124535503564289684868454990374058045176984746575648252614202872600934656960432858509617388465248920490857096239226936851132918748821016877831727712947118262436830230537669610256615833853535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832554264518541533173819435194192470329886596452733387694217114464174731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972412529784896789895526291557988156124817355154841692727573744769873935604272209528828962833836117146889029596985428683546387218717702781063924897187104482314684205311897379447637523612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491076552554797766334793572012258182140276160432359766482645667228932865978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 7271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933521009071175322247964514095271974767677873567279500846627572556998377837841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429959287610001339827166501551313258375212072329168648422124535503564289684868454990374058045176984746575648252614202872600934656960432858509617388465248920490857096239226936851132918748821016877831727712947118262436830230537669610256615833853535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832554264518541533173819435194192470329886596452733387694217114464174731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972412529784896789895526291557988156124817355154841692727573744769873935604272209528828962833836117146889029596985428683546387218717702781063924897187104482314684205311897379447637523612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491076552554797766334793572012258182140276160432359766482645667228932865978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316775843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254732198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 7372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224653737979337489941497656911032477926669799689335210090711753222479645140952719747676778735672795008466275725569983778378412736739716093277682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061382841673459072841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299592876100013398271665015513132583752120723291686484221245355035642896848684549903740580451769847465756482526142028726009346569604328585096173884652489204908570962392269368511329187488210168778317277129471182624368302305376696102566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118325542645185415331738194351941924703298865964527333876942171144641747319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505437197529724125297848967898955262915579881561248173551548416927275737447698739356042722095288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375236122990014546950394947078135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306742156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985513031206653783225684459263645203424341714602168622516675408477885283414851187807748858495198306443868611799455789665083627772236198674638457555443947713986696267667532946122542198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 7473727170696867666564636261605958575655545352515049484746454443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246537379793374899414976569110324779266697996893352100907117532224796451409527197476767787356727950084662757255699837783784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613828416734590728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133982716650155131325837521207232916864842212453550356428968486845499037405804517698474657564825261420287260093465696043285850961738846524892049085709623922693685113291874882101687783172771294711826243683023053766961025661583385353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183255426451854153317381943519419247032988659645273338769421711446417473193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054371975297241252978489678989552629155798815612481735515484169272757347698739356042722095288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375236122990014546950394947078135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306742156437692659385048441838129069696287151631652818812355707073634964413144778269121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167758439504032002032412848945712599088742703157985513031206653783225684459263645203424341714602168622516675408477885283414851187807748858495198306443868611799455789665083627772236198674638457555443947713986696267667532946122542198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 7574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933521009071175322247964514095271974767677873567279500846627572556998377837841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429959287610001339827166501551313258375212072329168648422124535503564289684868454990374058045176984746575648252614202872600934656960432858509617388465248920490857096239226936851132918748821016877831727712947118262436830230537669610256615833853535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832554264518541533173819435194192470329886596452733387694217114464174731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972412529784896789895526291557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470781358796367026898226789918058212827226820524081874419431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933320458859368191756265488973573894291810359874962196530465254550726058640829286756909161186956732925273775345263599267123421888901994811989914498636475019549107655255479776633479357201225818214027616043235976648264566722893286597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067421564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431678439504032002032412848945712599088742703157985513031206653783225684459263645203424341714602168622516675408477885283414851187807748858495198306443868611799455789665083627772236198674638457555443947713986696267667532946122542198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 7675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224653737979337489941497656911032477926669799689335210090711753222479645140952719747676778735672795008466275725569983778378412736739716093277682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061382841673459072841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299592876100013398271665015513132583752120723291686484221245355035642896848684549903740580451984746575648252614202872600934656960432858509617388465248920490857096239226936851132918748821016877831727712947118262436830230537669610256615833853535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732180782506228141409760424461592897405602438870137148411832554264518541533173819435194192470329886596452733387694217114464174731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972412529784896789895526291557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470781358796367026898226789918058212827226820524081874419431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933320458859368191756265488973573894291810359874962196530465254550726058640829286756909161186956732925273775345263599267123421888901994811989914498636475019549107655255479776633479357201225818214027616043235976648264566722893286597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067421564376926593850484418381290696962871516316528188123557070736349644131447782691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904986603085537001873307508319377392935585249398775482559978106106497583344431678439504032002032412848945712599088742703157985513031206653783225684459263645203424341714602168622516675408477885283414851187807748858495198306443868611799455789665083627772236198674638457555443947713986696267667532946122542198036688951441429909588342745267852212584546863014666999114259196293691127739575027627549729234937917451525389431042754189407238333187044728539853107484334794065231888208997541779096422555261633263344085198060815118543514958311545040059178317015967153621894711656371276870162065128877866622442946564679829905 7776757473727170696867666564636261605958575655545352515049484746454443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246537379793374899414976569110324779266697996893352100907117532224796451409527197476767787356727950084662757255699837783784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613828416734590728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133982716650155131325837521207232916864842212453550356428968486845499037405804519847465756482526142028726009346569604328585096173884652489204908570962392269368511329187488210168778317277129471182624368302305376696102566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321807825062281414097604244615928974056024388701371484118325542645185415331738194351941924703298865964527333876942171144641747319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505437197529724125297848967898955262915579881561248173551548416927275734769873935604272209528828962833836117146889029596985428683546387218717702781063924897187104482314684205311897379447637523612299001454695039494707813587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491076552554797766334793572012258182140276160432359766482645667228932865978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316784395040320020324128489457125990887427031579855130312066537832256844592636452034243417146021686225166754084778852834148511878077488584951983064438686117994557896650836277722361986746384575554439477139866962676675329461225421980366889514414299095883427452678522125845468630146669991142591962936911277395750276275497292349379174515253894310427541894072383331870447285398531074843347940652318882089975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 7877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933521009071175322247964514095271974767677873567279500846627572556998377837841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429959287610001339827166501551313258375212072329168648422124535503564289684868454990374058045198474657564825261420287260093465696043285850961738846524892049085709623922693685113291874882101687783172771294711826243683023053766961025661583385353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183255426451854153317381943519419247032988659645273338769421711446417473193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054371975297241252978489678989552629155798815612481735515484169272757347698739356042722095288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375236122990014546950394947013587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491076552554797766334793572012258182140276160432359766482645667228932865978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316784395040320020324128489457125990887427031579855130312066537832256844592636452034243417146021686225166754084778852834148511878077488584951983064438686117994557896650836277722361986746384575554439477139866962676675329461225421980366889514414299095883427452678522125845468630146669991142591962936911277395750276275497292349379174515253894310427541894072383331870447285398531074843347940652318882089975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 7978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224653737979337489941497656911032477926669799689335210090711753222464514095271974767677873567279500846627572556998377837841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429959287610001339827166501551313258375212072329168648422124535503564289684868454990374058045198474657564825261420287260093465696043285850961738846524892049085709623922693685113291874882101687783172771294711826243683023053766961025661583385353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373218078250622814140976042446159289740560243887013714841183255426451854153317381943519419247032988659645273338769421711446417473193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054371975297241252978489678989552629155798815612481735515484169272757347698739356042722095288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375236122990014546950394947013587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491076552554797766334793572012258182140276160432359766482645667228932865978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316784395040320020324128489457125990887427031579855130312066537832256844592636452034243417146021686225166754084778852834148511878077488584951983064438686117994557896650836277722361986746384575554439477139866962676675329461225421980366889514414299095883427452678522125845468630146669991142591962936911277395750276275497292349379174515253894310427541894072383331870447285398531074843347940652318882089975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 8079787776757473727170696867666564636261605958575655545352515049484746454443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246537379793374899414976569110324779266697996893352100907117532224645140952719747676778735672795008466275725569983778378412736739716093277682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061382841673459072841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299592876100013398271665015513132583752120723291686484221245355035642896848684549903740580451984746575648252614202872600934656960432858509617388465248920490857096239226936851132918748821016877831727712947118262436830230537669610256615833853535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732178250622814140976042446159289740560243887013714841183255426451854153317381943519419247032988659645273338769421711446417473193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054371975297241252978489678989552629155798815612481735515484169272757347698739356042722095288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375236122990014546950394947013587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491076552554797766334793572012258182140276160432359766482645667228932865978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316784395040320020324128489457125990887427031579855130312066537832256844592636452034243417146021686225166754084778852834148511878077488584951983064438686117994557896650836277722361986746384575554439477139866962676675329461225421980366889514414299095883427452678522125845468630146669991142591962936911277395750276275497292349379174515253894310427541894072383331870447285398531074843347940652318882089975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 8180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933521009071175322246451409527197476767787356727950084662757255699837783784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613828416734590728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133982716650155131325837521207232916864842212453550356428968486845499037405804519847465756482526142028726009346569604328585096173884652489204908570962392269368511329187488210168778317277129471182624368302305376696102566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173943519419247032988659645273338769421711446417473193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054371975297241252978489678989552629155798815612481735515484169272757347698739356042722095288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375236122990014546950394947013587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292867569091611869567329252737753452635992671234218889019948119899144986364750195491076552554797766334793572012258182140276160432359766482645667228932865978972625735855523930097933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477826912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316784395040320020324128489457125990887427031579855130312066537832256844592636452034243417146021686225166754084778852834148511878077488584951983064438686117994557896650836277722361986746384575554439477139866962676675329461225421980366889514414299095883427452678522125845468630146669991142591962936911277395750276275497292349379174515253894310427541894072383331870447285398531074843347940652318882089975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 8281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224653737979337489941497656911032477926669799689335210090711753222464514095271974767677873567279500846627572556998377837841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429959287610001339827166501551313258375212072329168648422124535503564289684868454990374058045198474657564825261420287260093465696043285850961738846524892049085709623922693685113291874882101687783172771294711826243683023053766961025661583385353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373217825062281414097604244615928974056024388701371484118325542645185415331739435194192470329886596452733387694217114464174731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972412529784896789895526291557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306742156437692659385048441838129069696287151631652818812355707073634964413144776912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316784395040320020324128489457125990887427031579855130312066537832256844592636452034243417146021686225166754084778852834148511878077488584951983064438686117994557896650836277722361986746384575554439477139866962676675329461225421980366889514414299095883427452678522125845468630146669991142591962936911277395750276275497292349379174515253894310427541894072383331870447285398531074843347940652318882089975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 8382818079787776757473727170696867666564636261605958575655545352515049484746454443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246537379793374899414976569110324779266697996893352100907117532224645140952719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429959287610001339827166501551313258375212072329168648422124535503564289684868454990374058045198474657564825261420287260093465696043285850961738846524892049085709623922693685113291874882101687783172771294711826243683023053766961025661583385353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373217825062281414097604244615928974056024388701371484118325542645185415331739435194192470329886596452733387694217114464174731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972412529784896789895526291557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306742156437692659385048441838129069696287151631652818812355707073634964413144776912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316784395040320020324128489457125990887427031579855130312066537832256844592636452034243417146021686225166754084778852834148511878077488584951983064438686117994557896650836277722361986746384575554439477139866962676675329461225421980366889514414299095883427452678522125845468630146669991142591962936911277395750276275497292349379174515253894310427541894072383331870447285398531074843347940652318882089975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 8483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933521009071175322246451409527197476767787356727950084662757255699837778412736739716093277682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061382841673459072841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299592876100013398271665015513132583752120723291686484221245355035642896848654990374058045198474657564825261420287260093465696043285850961738846524892049085709623922693685113291874882101687783172771294711826243683023053766961025661583385353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373217825062281414097604244615928974056024388701371484118325542645185415331739435194192470329886596452733387694217114464174731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972412529784896789895526291557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306742156437692659385048441838129069696287151631652818812355707073634964413144776912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316784395040320020324128489457125990887427031579855130312066537832256844592636452034243417146021686225166754084778852834148511878077488584951983064438686117994557896650836277722361986746384575554439477139866962676675329461225421980366889514414299095883427452678522125845468630146669991142591962936911277395750276275497292349379174515253894310427541894072383331870447285398531074843347940652318882089975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 8584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224653737979337489941497656911032477926669799689335210090711753222464514095271974767677873567279500846627572556998377784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613828416734590728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291874882101687783172771294711826243683023053766961025661583385353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373217825062281414097604244615928974056024388701371484118325542645185415331739435194192470329886596452733387694217114464174731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972412529784896789895526291557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082928675690916118695673292527377534526359926712342188890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306742156437692659385048441838129069696287151631652818812355707073634964413144776912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316784395040320020324128489457125990887427031579855130312066537832256844592636452034243417146021686225166754084778852834148511878077488584951983064438686117994557896650836277722361986746384575554439477139866962676675329461225421980366889514414299095883427452678522125845468630146669991142591962936911277395750276275497292349379174515253894310427541894072383331870447285398531074843347940652318882089975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 8685848382818079787776757473727170696867666564636261605958575655545352515049484746454443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246537379793374899414976569110324779266697996893352100907117532224645140952719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429959287610001339827166501551313258375212072329168648422124535503564289684865499037405804519847465756482526142028726009346569604328585096173884652489204907096239226936851132918748821016877831727712947118262436830230537669610256615833853535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732178250622814140976042446159289740560243887013714841183255426451854153317394351941924703298865964527333876942171144641747319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505437197529724125297848967898955262915579881561248173551548416927275734769873935604272209528828962833836117146889029596985428683546387218717702781063924897187104482314684205311897379447637523612299001454695039494701358796367026898226789918058212827226820524081874419431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933320458859368191756265488973573894291810359874962196530465254550726058640829275690916118695673292527377534526359926712342188890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306742156437692659385048441838129069696287151631652818812355707073634964413144776912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316784395040320020324128489457125990887427031579855130312066537832256844592636452034243417146021686225166754084778852834148511878077488584951983064438686117994557896650836277722361986746384575554439477139866962676675329461225421980366889514414299095883427452678522125845468630146669991142591962936911277395750276275497292349379174515253894310427541894072383331870447285398531074843347940652318882089975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 8786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933521009071175322246451409527197476767787356727950084662757255699837778412736739716093277682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061382841673459072841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299592876100013398271665015513132583752120723291686484221245355035642896848654990374058045198474657564825261420287260093465696043285850961738846524892049070962392269368511329148821016877831727712947118262436830230537669610256615833853535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732178250622814140976042446159289740560243887013714841183255426451854153317394351941924703298865964527333876942171144641747319366672264691313065538585759442234022763024724388086935354679614717768734610771949975990280311928576680101505437197529724125297848967898955262915579881561248173551548416927275734769873935604272209528828962833836117146889029596985428683546387218717702781063924897187104482314684205311897379447637523612299001454695039494701358796367026898226789918058212827226820524081874419431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933320458859368191756265488973573894291810359874962196530465254550726058640829275690916118695673292527377534526359926712342188890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306742156437692659385048441838129069696287151631652818812355707073634964413144776912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316784395040320020324128489457125990887427031579855130312066537832256844592636452034243417146021686225166754084778852834148511878077488584951983064438686117994557896650836277722361986746384575554439477139866962676675329461225421980366889514414299095883427452678522125845468630146669991142591962936911277395750276275497292349379174515253894310427541894072383331870447285398531074843347940652318882089975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 8887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224653737979337489941497656911032477926669799689335210090711753222464514095271974767677873567279500846627572556998377784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613828416734590728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291488210168778317277129471182624368302305376696102566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173943519419247032988659645273338769421711446417473193666722646913130655385857594422340227630247243880869353546796147177687346107719499759902803119285766801015054371975297241252978489678989552629155798815612481735515484169272757347698739356042722095288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375236122990014546950394947013587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300979331431967432341348137132301097518755394127974576908024973205746701959702991535141505229783739819891622363907061214469488046951902695858113314363651729363067306742156437692659385048441838129069696287151631652818812355707073634964413144776912143136756584808849291082851574264781397642263717088922561269615618508089941054045599159049866030855370018733075083193773929355852493987754825599781061064975833444316784395040320020324128489457125990887427031579855130312066537832256844592636452034243417146021686225166754084778852834148511878077488584951983064438686117994557896650836277722361986746384575554439477139866962676675329461225421980366889514414299095883427452678522125845468630146669991142591962936911277395750276275497292349379174515253894310427541894072383331870447285398531074843347940652318882089975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 8988878685848382818079787776757473727170696867666564636261605958575655545352515049484746454443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246537379793374899414976569110324779266697996893352100907117532224645140952719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429959287610001339827166501551313258375212072329168648422124535503564289684865499037405804519847465756482526142028726009346569604328585096173884652489204907096239226936851132914882101687783172771294711826243683023053766961025661583385353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373217825062281414097604244615928974056024388701371484118325542645185415331739435194192470329886596452733387694217114464174731936667226469131306553858575944223402276302472438808693535467961471776873461077194997599028031192857668010150543719752972412529784896789895526291557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082927569091611869567329252737753452635992671234218901994811989914498636475019549107655255479776633479357201225818214027616043235976648264566722893286597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067421564376926593850484418381290696962871516316528188123557070736349644131447769121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 9089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933521009071175322246451409527197476767787356727950084662757255699837778412736739716093277682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061382841673459072841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299592876100013398271665015513132583752120723291686484221245355035642896848654990374058045198474657564825261420287260093465696043285850961738846524892049070962392269368511329148821016877831727712947118262436830230537669610256615833853535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732178250622814140976042446159289740560243887013714841183255426451854153317394351941924703298865964527333876942171144641747319366672264691313065538585759442234022763024724388086935354679614717768734610771949975928031192857668010150543719752972412529784896789895526291557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082927569091611869567329252737753452635992671234218901994811989914498636475019549107655255479776633479357201225818214027616043235976648264566722893286597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067421564376926593850484418381290696962871516316528188123557070736349644131447769121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 9190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224653737979337489941497656911032477926669799689335210090711753222464514095271974767677873567279500846627572556998377784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613828416734590728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995928761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291488210168778317277129471182624368302305376696102566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173943519419247032988659645273338769421711446417473193666722646913130655385857594422340227630247243880869353546796147177687346107719499759280311928576680101505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082927569091611869567329252737753452635992671234218901994811989914498636475019549107655255479776633479357201225818214027616043235976648264566722893286597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067421564376926593850484418381290696962871516316528188123557070736349644131447769121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 9291908988878685848382818079787776757473727170696867666564636261605958575655545352515049484746454443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246537379793374899414976569110324779266697996893352100907117532224645140952719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291488210168778317277129471182624368302305376696102566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173943519419247032988659645273338769421711446417473193666722646913130655385857594422340227630247243880869353546796147177687346107719499759280311928576680101505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082927569091611869567329252737753452635992671234218901994811989914498636475019549107655255479776633479357201225818214027616043235976648264566722893286597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067421564376926593850484418381290696962871516316528188123557070736349644131447769121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 9392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933521009071175322246451409527197476767787356727950084662757255699837778412736739716093277682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061382841673459072841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299587610001339827166501551313258375212072329168648422124535503564289684865499037405804519847465756482526142028726009346569604328585096173884652489204907096239226936851132914882101687783172771294711826243683023053766961025661583385353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373217825062281414097604244615928974056024388701371484118325542645185415331739435194192470329886596452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346107719499759280311928576680101505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082927569091611869567329252737753452635992671234218901994811989914498636475019549107655255479776633479357201225818214027616043235976648264566722893286597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067421564376926593850484418381290696962871516316528188123557070736349644131447769121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 9493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224653737979337489941497656911032477926669799689335210090711753222464514095271974767677873567279500846627572556998377784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613828416734590728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995876100013398271665015513132583752120723291686484221245355035642896848654990374058045198474657564825261420287260093465696043285850961738846524892049070962392269368511329148821016877831727712947118262436830230537669610256615833853535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732178250622814140976042446159289740560243887013714841183255426451854153317335194192470329886596452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346107719499759280311928576680101505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082927569091611869567329252737753452635992671234218901994811989914498636475019549107655255479776633479357201225818214027616043235976648264566722893286597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067421564376926593850484418381290696962871516316528188123557070736349644131447769121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 9594939291908988878685848382818079787776757473727170696867666564636261605958575655545352515049484746454443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246537379793374899414976569110324779266697996893352100907117532224645140271974767677873567279500846627572556998377784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613828416734590728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995876100013398271665015513132583752120723291686484221245355035642896848654990374058045198474657564825261420287260093465696043285850961738846524892049070962392269368511329148821016877831727712947118262436830230537669610256615833853535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732178250622814140976042446159289740560243887013714841183255426451854153317335194192470329886596452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346107719499759280311928576680101505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082927569091611869567329252737753452635992671234218901994811989914498636475019549107655255479776633479357201225818214027616043235976648264566722893286597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067421564376926593850484418381290696962871516316528188123557070736349644131447769121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 9695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933521009071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291488210168778317277129471182624368302305376696102566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346107719499759280311928576680101505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678991805821282722682052408187441943168276611913491923438832135126629864474733996393914583609797942825132331388864828142427424078888199217257863845157878255278353951465963812861843726731695115875101193193332045885936819175626548897357389429181035987496219653046525455072605864082927569091611869567329252737753452635992671234218901994811989914498636475019549107655255479776633479357201225818214027616043235976648264566722893286597897262573585552393009793314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067421564376926593850484418381290696962871516316528188123557070736349644131447769121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 9796959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111098765432147533779231220180943085433646263290154321147467630771180661535053482358993013226188772960549838224653737979337489941497656911032477926669799689335210090711753222464514027197476767787356727950084662757255699837778412736739716093277682460393163491481668398359527624992746711177220956534880520675720879999951734465317699280085935942360749268278117548491248737538099328729684083868485523858461883974780180719337061382841673459072841044496348345560685643163583660916445949464071749533573624589138986079529513662532916664165718133922232657981517830964299587610001339827166501551313258375212072329168648422124535503564289684865499037405804519847465756482526142028726009346569604328585096173884652489204907096239226936851132914882101687783172771294711826243683023053766961025661583385353578783668526014135307414192375779739714157056312902445164399532509514013273962534919624296373217825062281414097604244615928974056024388701371484118325542645185415331733519419247032988654527333876942171144641747316667226469131306553858575944223402276302472438808693535467961471776873461077194997592803119285766801015054371975297241252978489678989552625579881561248173551548416927275734769873935604272209528828962833836117146889029596985428683546387218717702781063924897187104482314684205311897379447637523612299001454695039494701358796367026898226789918058212827226820524081874419431682766119134919234388321351266298644747339963939145836097979428251323313888648281424274240788881992172578638451578782552783539514659638128618437267316951158751011931933320458859368191756265488973573894291810359874962196530465254550726058640829275690916118695673292527377534526359926712342189019948119899144986364750195491076552554797766334793572012258182140276160432359766482645667228932865978972625735855523930093314319674323413481371323010975187553941279745769080249732057467019597029915351415052297837398198916223639070612144694880469519026958581133143636517293630673067421564376926593850484418381290696962871516316528188123557070736349644131447769121431367565848088492910828515742647813976422637170889225612696156185080899410540455991590498660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 9897969594939291908988878685848382818079787776757473727170696867666564636261605958575655545352515049484746454443424140393837363534333231302928272625242322212019181716151413121110987654321475337792312201809430854336462632901543211474676307711806615350534823589930132261887729605498382246537379793374899414976569110324779266697996893352100907117532224645140271974767677873567279500846627572556998377784127367397160932776824603931634914816683983595276249927467111772209565348805206757208799999517344653176992800859359423607492682781175484912487375380993287296840838684855238584618839747801807193370613828416734590728410444963483455606856431635836609164459494640717495335736245891389860795295136625329166641657181339222326579815178309642995876100013398271665015513132583752120723291686484221245355035642896848654990374058045198474657564825261420287260093465696043285850961738846524892049070962392269368511329148821016877831727712947118262436830230537669610256615833853535787836685260141353074141923757797397141570563129024451643995325095140132739625349196242963732178250622814140976042446159289740560243887013714841183255426451854153317335194192470329886545273338769421711446417473166672264691313065538585759442234022763024724388086935354679614717768734610771949975928031192857668010150543719752972412529784896789895526255798815612481735515484169272757347698739356042722095288289628338361171468890295969854286835463872187177027810639248971871044823146842053118973794476375236122990014546950394947013587963670268982267899180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 9998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933521009071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291488210168778317277129471182624368302305376696102566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346107719499759280311928576680101505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 1009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933529071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291488210168778317277129471182624368302305376696102566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346107719499759280311928576680101505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 1011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933529071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291488210168778317277129471182624368302305376696102566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346107719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 1021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933529071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346107719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918103598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 1031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933529071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346107719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943104275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 1041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933529071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346107719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929108285157426478139764226371708892256126961561850808994105404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 1051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933529071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346107719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278106392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929108285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 1061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933529071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346107719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929108285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 1071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933529071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929108285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 1081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933529071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230109751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 1091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765691103247792666979968933529071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 1101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274671117722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 1111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369112773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 1121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685113291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 1131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217114464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 1141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583115450400591783170159671536218947116563712768701620651288866622442946564679829905 1151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947116563712768701620651288866622442946564679829905 1161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529071175322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485118780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510119319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303120665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706121446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720122581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267123421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724125297848967898955262557988156124817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724125297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256126961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777841273673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582128272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277129471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913130655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155131325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899301322618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000133982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234134813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470135879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952951366253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870137148411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870148411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233138886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870148411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478139764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246451402719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870148411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228141409760424461592897405602438870148411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870148411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144142990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870148411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933143196743234813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870148411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895144990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870148411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900145469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870148411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395146596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870148411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796147177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870148411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435149583450400591783170159671536218947563712768701620651288866622442946564679829905 1491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299153514150522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435583450400591783170159671536218947563712768701620651288866622442946564679829905 1501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299153514522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608151185435583450400591783170159671536218947563712768701620651288866622442946564679829905 1511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299153514522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745152538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170159671536218947563712768701620651288866622442946564679829905 1521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299153514522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170159671536218947563712768701620651288866622442946564679829905 1531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988156817355154841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170159671536218947563712768701620651288866622442946564679829905 1541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650155325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988156817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170159671536218947563712768701620651288866622442946564679829905 1551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988156817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170159671536218947563712768701620651288866622442946564679829905 1561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285157426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170159671536218947563712768701620651288866622442946564679829905 1571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566158338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170159671536218947563712768701620651288866622442946564679829905 1581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170159671536218947563712768701620651288866622442946564679829905 1591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673971609327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170671536218947563712768701620651288866622442946564679829905 1601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909161186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170671536218947563712768701620651288866622442946564679829905 1611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989162236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170671536218947563712768701620651288866622442946564679829905 1621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715163165281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170671536218947563712768701620651288866622442946564679829905 1631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366091644594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715165281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170671536218947563712768701620651288866622442946564679829905 1641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715165281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170671536218947563712768701620651288866622442946564679829905 1651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253291666416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170671536218947563712768701620651288866622442946564679829905 1661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443167843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170671536218947563712768701620651288866622442946564679829905 1671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210168778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170671536218947563712768701620651288866622442946564679829905 1681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673169511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170671536218947563712768701620651288866622442946564679829905 1691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783170671536218947563712768701620651288866622442946564679829905 1701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434171460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783671536218947563712768701620651288866622442946564679829905 1711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365172936306730674215643769265938504844183812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783671536218947563712768701620651288866622442946564679829905 1721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533173351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365936306730674215643769265938504844183812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783671536218947563712768701620651288866622442946564679829905 1731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464174731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365936306730674215643769265938504844183812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783671536218947563712768701620651288866622442946564679829905 1741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827811754849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365936306730674215643769265938504844183812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783671536218947563712768701620651288866622442946564679829905 1751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446531769928008593594236074926827814849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365936306730674215643769265938504844183812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783671536218947563712768701620651288866622442946564679829905 1761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796177687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365936306730674215643769265938504844183812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783671536218947563712768701620651288866622442946564679829905 1771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416571813392223265798151783096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365936306730674215643769265938504844183812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783671536218947563712768701620651288866622442946564679829905 1781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416571813392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365936306730674215643769265938504844183812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861179945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783671536218947563712768701620651288866622442946564679829905 1791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416571813392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678180582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365936306730674215643769265938504844183812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783671536218947563712768701620651288866622442946564679829905 1801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416571813392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365936306730674215643769265938504844183812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783671536218947563712768701620651288866622442946564679829905 1811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471182624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365936306730674215643769265938504844183812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783671536218947563712768701620651288866622442946564679829905 1821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365936306730674215643769265938504844183812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783671536218947563712768701620651288866622442946564679829905 1831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286184372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783671536218947563712768701620651288866622442946564679829905 1841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608185435583450400591783671536218947563712768701620651288866622442946564679829905 1851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909186956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 1861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700187330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 1871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523188820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 1881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531189737944763752361229900469503949470879636702689822678582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 1891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695190269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 1901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268205240818744194316827661191349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 1911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268205240818744194316827661349192343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 1921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018071933706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268205240818744194316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 1931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268205240818744194316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 1941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268205240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670195970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 1951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268205240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933196743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 1961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437197529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268205240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 1971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268205240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890199481198991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 1981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268205240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890199481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 1991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268205240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403200203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923122018094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268205240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614202872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268205240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268205240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403203241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268205240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333204588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268205240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488052067572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488057572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521207232916864842212453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488057572087999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521232916864842212453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677722095653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521232916864842212453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521232916864842212453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488210778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015432114746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521232916864842212453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521232916864842212453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883213512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691214313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674215643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460216862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694217464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536218947563712768701620651288866622442946564679829905 2182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254219803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427220952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254803668895990958834274526785221258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573392223265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777223619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075322246452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964225552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764226371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340227630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506228409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361229900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713230751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448231468420531737944763752361900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521232916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513233886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743234813713751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743813713751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881235570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743813713751875539412797457690802497320574670970299514522978373981989236390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419237577973971415705631290244516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848552385846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290244516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290244516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555239300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290244516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268240818744316827661349343883512662986447473399639391458360979794282513886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290244516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403241284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290244516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814242742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290244516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247243880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290244516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357362458913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983822465373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630247880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465248920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952762499274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953250951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403284894571259908874270315798551303665378322568445926364520342434460862251667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648252614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403284894571259908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396253491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403284894571259908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403284894571259908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612254803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548255997810610649758334443843950403284894571259908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892256961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571259908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726257358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571259908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571259908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785258454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571259908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507260586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899302618877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955262557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925273775345263599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554264518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925273775345599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925273775345599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769265938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247792666979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925273775345599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925273775345599267421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272268818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925273775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925273775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695269585811331436365936306730674643769938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925273775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874270315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326452719747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925273775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582272818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925273775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925273775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834274526785454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943275418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735672795008466275725569983777843673979327768246039316349148166839835952769274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735672795008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317277471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735672795008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770278392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735672795008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759280311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715281881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794282513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724297848967898955557988817355841692727573476987393560427952882896283383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724297848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403284894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724297848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929285426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724297848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381286372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932872968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724297848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724297848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651288866622442946564679829905 2882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724297848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672289328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 2892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317471624368302305376696566338535357878366852601413530741419577973971415705631290516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724297848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 2902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685291488778317471624368302305376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724297848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 2912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368302305376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724297848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965304652545507586408292756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 2922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368302305376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724297848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965304652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739293558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 2932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368302305376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724297848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965304652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753294612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 2942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607952956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368302305376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724297848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965304652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 2952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809932968408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368302305376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724297848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965304652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 2962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368302305376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724297848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965304652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 2972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368302305376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703298865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965304652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 2982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368302305376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965304652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555300933743813713751875539412797457690802497320574670970299514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 2992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368302305376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965304652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555300933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368302305376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965304652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686301466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368302305376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965304652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368305376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965304652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739558524939877548997810610649758334443843950403894571908874315798551303665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368305376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965304652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739558524939877548997810610649758334443843950403894571908874315798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368305376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739558524939877548997810610649758334443843950403894571908874315798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936306730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739558524939877548997810610649758334443843950403894571908874315798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746763077118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739558524939877548997810610649758334443843950403894571908874315798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660308553700330750831937739558524939877548997810610649758334443843950403894571908874315798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798153096429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874315798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798156429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874315798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833318704472853985310748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798156429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759311928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874315798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833318704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377923128094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798156429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874315798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833318704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798156429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441314477691313675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874315798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833318704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798156429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441314477691675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874315798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833318704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798156429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874315798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833318704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798156429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744316827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833318704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798156429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778317471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833318704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798156429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833318704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798156429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510319333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798156429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497320574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798156429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637321782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798156429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874798551665378322568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798156429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604323597664826456672328659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765693247796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798156429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672328659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798156429958761000982716650325837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672328659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573393265798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672328659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573395798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401327396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672328659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573395798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672328659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956253296416573395798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956256416573395798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700330750831937739558524939877548997810610649758334443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956256416573395798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811331436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758334443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956256416573395798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758334443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616332633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956256416573395798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510333588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758334443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956256416573395798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758334443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174953357368913898607956256416573395798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308543364626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416573395798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214753377928094308544626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416573395798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416573395798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566338535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416573395798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422340630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520342434460862667540847788528341485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520342434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349343883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995173446539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995176539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775345599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995176539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422630880869353546796687346719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995176539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422630880869353546796687719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663347935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725653488057577999995176539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422630880869353546796687719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422630880869353546796687719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661349883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066153505348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422630880869353546796687719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533351941924703865452733387694464731666722646913655385857594422630880869353546796687719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968933529075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869353546796687719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869353546796687719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868354638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817355841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550356428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535357878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726358555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008593594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661883512662986447473399639391458360979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752361900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508362777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707363496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926364520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436365936730674643769938504844812906969628715881570707496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535878366852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843673979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624368376696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624376696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629369773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873753809938408386848555846188397478018073706138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624376696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873753809938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624376696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764371708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873753809938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624376696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381372673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873753809938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624376696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978373981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797933748994149765697796979968939075326459747676778735675008466275725569983777843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873753809938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624376696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797938994149765697796979968939075326459747676778735675008466275725569983777843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873753809938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624376696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797938994149765697796979968939075326459747676778735675008466275725569983777843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873809938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624376696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797938994149765697796979968939075326459747676778735675008466275725569983777843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873809938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873809938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665378568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825373797938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873809938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825377938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124873809938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825377938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596381673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054983825377938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896383611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786384515787825527835395596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655385857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786515787825527835395596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786515787825527835395596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644386861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733387694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786515787825527835395596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617388465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786515787825527835395596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368913898607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786515787825527835395596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786515787825527835395596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989390706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639391458979794513886482814742407888819921725786515787825527835395596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896611714688902959698542868638721871770392489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639458979794513886482814742407888819921725786515787825527835395596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987393560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639458979794513886482814742407888819921725786515787825527835395596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639458979794513886482814742407888819921725786515787825527835395596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544394771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639458979794513886482814742407888819921725786515787825527835395596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401396491962429637782506409760424461592897405602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639458979794513886482814742407888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987843979327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401491962429637782506409760424461592897405602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639458979794513886482814742407888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401491962429637782506409760424461592897405602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639458979794513886482814742407888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771398669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401491962429637782506409760424461592897405602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473399639458979794513886482814742407888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 3993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401491962429637782506409760424461592897405602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742407888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450400591783671536947563712768701620651866622442946564679829905 4003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951401491962429637782506409760424461592897405602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742407888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951491962429637782506409760424461592897405602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742407888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821402761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951491962429637782506409760424461592897405602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742407888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950403894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951491962429637782506409760424461592897405602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742407888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994404559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951491962429637782506409760424461592897405602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742407888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951491962429637782506409760424461592897602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742407888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479406523820975417790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951491962429637782506409760424461592897602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742407888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479523820975417790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951491962429637782506409760424461592897602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586408756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479523820975417790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951491962429637782506409760424461592897602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479523820975417790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284104449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951491962429637782506760424461592897602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479523820975417790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951491962429637782506760424461592897602438870411832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479523820975417790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951491962429637782506760424461592897602438870832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539412797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479523820975417790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601413530741419577973971415705631516439953951491962429637782506760424461592897602438870832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479523820975417790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938994149765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741419577973971415705631516439953951491962429637782506760424461592897602438870832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479523820975417790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741419577973971415705631516439953951491962429637782506760424461592897602438870832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479523820975417790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138284167345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741419577973971705631516439953951491962429637782506760424461592897602438870832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479523820975417790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138287345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741419577973971705631516439953951491962429637782506760424461592897602438870832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479523820975417790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138287345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741419577973971705631516439953951491962429637782506760424461592897602438870832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943418940723833704472853985748433479523820975790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138287345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741419577973971705631516439953951491962429637782506760424461592897602438870832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943940723833704472853985748433479523820975790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138287345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962429637782506760424461592897602438870832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468420531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943940723833704472853985748433479523820975790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138287345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962429637782506760424461592897602438870832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599421890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943940723833704472853985748433479523820975790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138287345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962429637782506760424461592897602438870832554518541533941924703865452733694464731666722646913655857594422630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943940723833704472853985748433479523820975790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008594236074926827814849124879938408386848555846188397478018076138287345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962429637782506760424461592897602438870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943940723833704472853985748433479523820975790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962429637782506760424461592897602438870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943940723833704472853985748433479523820975790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962429637782506760461592897602438870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911425919629773957502762754972923493791745538943940723833704472853985748433479523820975790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962429637782506760461592897602438870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929426478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748433479523820975790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962429637782506760461592897602438870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560427952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748433479523820975790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550428968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962429637782506760461592897602438870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748433479523820975790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962429637782506760461592897602438870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748433479523820975790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928094308544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962637782506760461592897602438870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748433479523820975790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068564316358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962637782506760461592897602438870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748433479523820975790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960432858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962637782506760461592897602438870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748433479523820975790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962637782506760461592897602438870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748433479523820975790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962637782506760461592897602438870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520434460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962637782506760461592897602438870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633440851980608435583450591783671536947563712768701620651866622442946564679829905 4354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962637782506760461592897602438870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811436936730674643769938504844812906969628715881570707496441477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633440851980608583450591783671536947563712768701620651866622442946564679829905 4364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962637782506760461592897602438870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505437529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811936730674643769938504844812906969628715881570707496441477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633440851980608583450591783671536947563712768701620651866622442946564679829905 4374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962637782506760461592897602438870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811936730674643769938504844812906969628715881570707496441477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633440851980608583450591783671536947563712768701620651866622442946564679829905 4384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516439953951491962637782506760461592897602870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811936730674643769938504844812906969628715881570707496441477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633440851980608583450591783671536947563712768701620651866622442946564679829905 4394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811936730674643769938504844812906969628715881570707496441477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633440851980608583450591783671536947563712768701620651866622442946564679829905 4404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811936730674643769938504844812906969628715881570707496441477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583450591783671536947563712768701620651866622442946564679829905 4414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583450591783671536947563712768701620651866622442946564679829905 4424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758443843950894571908874798551665568445926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583450591783671536947563712768701620651866622946564679829905 4434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907284449634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568445926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583450591783671536947563712768701620651866622946564679829905 4444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568445926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583450591783671536947563712768701620651866622946564679829905 4454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706446948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583450591783671536947563712768701620651866622946564679829905 4464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986447473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583450591783671536947563712768701620651866622946564679829905 4474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710448468531737944763752900469503949470879636702689822678582818744827661883512662986473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583450591783671536947563712768701620651866622946564679829905 4484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991449863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583450591783671536947563712768701620651866622946564679829905 4494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583450591783671536947563712768701620651866622946564679829905 4504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580451984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865452733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842453550968486549903740580984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785454686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634834556068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826456672659789726555933743813713751875539797457690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797457690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639458979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094594946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520460862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760461592897602870832554518541533941924703865733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098544626329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098546329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867463845755544771669626766753612803668895990958834526785686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098546329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694464731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098546329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617465920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098546329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686466699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098546329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959274677725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098546329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710468531737944763752900469503949470879636702689822678582818744827661883512662986473639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098546329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710531737944763752900469503949470879636702689822678582818744827661883512662986473639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098546329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710531737944763752900503949470879636702689822678582818744827661883512662986473639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098546329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778471624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986473639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098546329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986473639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704472853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098546329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986473639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098546329015434746767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543214757928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573476987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496477691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658480884929478764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658480884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748479523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658480884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890481991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886482814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289634836068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827814849124879938408386848555846188397478018076138287345907289636068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827819124879938408386848555846188397478018076138287345907289636068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528485780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827819124879938408386848555846188397478018076138287345907289636068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968486549903740580984746575648614872600934656960858509617920490709623922693685488778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827819124879938408386848555846188397478018076138287345907289636068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920490709623922693685488778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827819129938408386848555846188397478018076138287345907289636068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920490709623922693685488778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827819129938408386848555846188397478018076138287345907289636068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920490709623922693685778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770489718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827819129938408386848555846188397478018076138287345907289636068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920490709623922693685778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827819129938408386848555846188397478018076138287345907289636068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951491962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596074926827819129938408386848555846188397478018076138287345907289636068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923493791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366094946407174957368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407174957368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707496691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802497574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296054985377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719499759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 4994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735675008466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647501954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957502762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900503949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970514522978981989706948804695585811936730674643769938504844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680505529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970514522978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951962637782506760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970514522978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951962637782760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545507586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970514522978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951962637782760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970514522978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966508777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858509617920709623922693685778624696566535878852601530741577973971705631516953951962637782760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970514522978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631516953951962637782760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587510588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970514522978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631516953951962637782760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673511587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970514522978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631516953951962637782760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883512662986639979794513886814742888819921725786515787825527835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970514522978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631516953951962637782760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794513886814742888819921725786515787825527835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970514522978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631516953951962637782760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786515787825527835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970514522978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631516953951962637782760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786515787825527835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970522978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631516953951962637782760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825527835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970522978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999995176539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631953951962637782760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825527835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970522978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631953951962637782760592897602870832554518541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825527835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970522978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631953951962637782760592897602870832554541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825527835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970522978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849519830644861945578966777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631953951962637782760592897602870832554541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825527835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970522978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926520862667540847788528780774885849830644861945578966777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837521916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631953951962637782760592897602870832554541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825527835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970522978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926862667540847788528780774885849830644861945578966777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631953951962637782760592897602870832554541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825527835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970522978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926862667540847788528780774885849830644861945578966777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631953951962637782760592897602870832554541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825527835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926862667540847788528780774885849830644861945578966777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748523820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631953951962637782760592897602870832554541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825527835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558524939877548997810610649758843950894571908874798551665568926862667540847788528780774885849830644861945578966777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631953951962637782760592897602870832554541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825527835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765525547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667540847788528780774885849830644861945578966777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631953951962637782760592897602870832554541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825527835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667540847788528780774885849830644861945578966777619867845755544771669626766753612803668895990958834526785686699911919629773957762754972923791745538943940723833704853985748820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631953951962637782760592897602870832554541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825527835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667540847788528780774885849830644861945578966777619867845755544771669626766753612803668895990958834785686699911919629773957762754972923791745538943940723833704853985748820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631953951962637782760592897602870832554541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667540847788528780774885849830644861945578966777619867845755544771669626766753612803668895990958834785686699911919629773957762754972923791745538943940723833704853985748820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631953951962637782760592897602870832554541533941924703865733694731666722646913655857594630880869546796687719759928576680529724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667540847788780774885849830644861945578966777619867845755544771669626766753612803668895990958834785686699911919629773957762754972923791745538943940723833704853985748820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601530741577973971705631953951962637782760592897602870832554541533941924703865733694731666722646913655857594630880869546796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667540847788780774885849830644861945578966777619867845755544771669626766753612803668895990958834785686699911919629773957762754972923791745538943940723833704853985748820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601741577973971705631953951962637782760592897602870832554541533941924703865733694731666722646913655857594630880869546796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710531737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667540847788780774885849830644861945578966777619867845755544771669626766753612803668895990958834785686699911919629773957762754972923791745538943940723833704853985748820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939075326459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601741577973971705631953951962637782760592897602870832554541533941924703865733694731666722646913655857594630880869546796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667540847788780774885849830644861945578966777619867845755544771669626766753612803668895990958834785686699911919629773957762754972923791745538943940723833704853985748820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601741577973971705631953951962637782760592897602870832554541533941924703865733694731666722646913655857594630880869546796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667540847788780774885849830644861945578966777619867845755544771669626766753612803668895990958834785686699911919629773957762754972923791745538943940723833704853985748820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066155348235899308877296055377938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601741577973971705631953951962637782760592897602870832554541941924703865733694731666722646913655857594630880869546796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667540847788780774885849830644861945578966777619867845755544771669626766753612803668895990958834785686699911919629773957762754972923791745538943940723833704853985748820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066158235899308877296055377938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566535878852601741577973971705631953951962637782760592897602870832554541941924703865733694731666722646913655857594630880869546796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667540847788780774885849830644861945578966777619867845755544771669626766753612803668895990958834785686699911919629773957762754972923791745538943940723833704853985748820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066158235899308877296055377938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554541941924703865733694731666722646913655857594630880869546796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667540847788780774885849830644861945578966777619867845755544771669626766753612803668895990958834785686699911919629773957762754972923791745538943940723833704853985748820975790964552616633851980608583591783671536947563712768701620651866622946564679829905 5365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066158235899308877296055377938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554541941924703865733694731666722646913655857594630880869546796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667540847788780774885849830644861945578966777619867845755544771669626766753612803668895990958834785686699911919629773957762754972923791745538943940723833704853985748820975790964552616633851980608583591783671947563712768701620651866622946564679829905 5375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554541941924703865733694731666722646913655857594630880869546796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667540847788780774885849830644861945578966777619867845755544771669626766753612803668895990958834785686699911919629773957762754972923791745538943940723833704853985748820975790964552616633851980608583591783671947563712768701620651866622946564679829905 5385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554541941924703865733694731666722646913655857594630880869546796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875539797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667540847788780774885849830644861945578966777619867845755544771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964552616633851980608583591783671947563712768701620651866622946564679829905 5395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554541941924703865733694731666722646913655857594630880869546796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667540847788780774885849830644861945578966777619867845755544771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964552616633851980608583591783671947563712768701620651866622946564679829905 5405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554541941924703865733694731666722646913655857594630880869546796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667847788780774885849830644861945578966777619867845755544771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964552616633851980608583591783671947563712768701620651866622946564679829905 5415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554941924703865733694731666722646913655857594630880869546796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698542868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667847788780774885849830644861945578966777619867845755544771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964552616633851980608583591783671947563712768701620651866622946564679829905 5425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329015436767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554941924703865733694731666722646913655857594630880869546796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667847788780774885849830644861945578966777619867845755544771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964552616633851980608583591783671947563712768701620651866622946564679829905 5435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554941924703865733694731666722646913655857594630880869546796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667847788780774885849830644861945578966777619867845755544771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964552616633851980608583591783671947563712768701620651866622946564679829905 5445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554941924703865733694731666722646913655857594630880869546796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652545586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964552616633851980608583591783671947563712768701620651866622946564679829905 5455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554941924703865733694731666722646913655857594630880869546796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964552616633851980608583591783671947563712768701620651866622946564679829905 5465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554941924703865733694731666722646913655857594630880869796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652586756909956732925775599890991863647954910765547977663935720581821761604597664826672659789726555933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964552616633851980608583591783671947563712768701620651866622946564679829905 5475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554941924703865733694731666722646913655857594630880869796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726555933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877548997810610649758843950894571908874798551665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964552616633851980608583591783671947563712768701620651866622946564679829905 5485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968549903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554941924703865733694731666722646913655857594630880869796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726555933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877997810610649758843950894571908874798551665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964552616633851980608583591783671947563712768701620651866622946564679829905 5495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842550968903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554941924703865733694731666722646913655857594630880869796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726555933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877997810610649758843950894571908874798551665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964552616633851980608583591783671947563712768701620651866622946564679829905 5505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554941924703865733694731666722646913655857594630880869796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726555933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877997810610649758843950894571908874798551665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964552616633851980608583591783671947563712768701620651866622946564679829905 5515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554941924703865733694731666722646913655857594630880869796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726555933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877997810610649758843950894571908874798665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964552616633851980608583591783671947563712768701620651866622946564679829905 5525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554941924703865733694731666722646913655857594630880869796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726555933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660553700750831937739558939877997810610649758843950894571908874798665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947563712768701620651866622946564679829905 5535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832554941924703865733694731666722646913655857594630880869796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726555933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660700750831937739558939877997810610649758843950894571908874798665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947563712768701620651866622946564679829905 5545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726555933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660700750831937739558939877997810610649758843950894571908874798665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947563712768701620651866622946564679829905 5555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275725569987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660700750831937739558939877997810610649758843950894571908874798665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947563712768701620651866622946564679829905 5565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275729987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955557988817841692727573987560952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660700750831937739558939877997810610649758843950894571908874798665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947563712768701620651866622946564679829905 5575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275729987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727573987560952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660700750831937739558939877997810610649758843950894571908874798665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947563712768701620651866622946564679829905 5585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275729987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727573987560952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994559915904660700750831937739939877997810610649758843950894571908874798665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947563712768701620651866622946564679829905 5595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275729987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727573987560952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994915904660700750831937739939877997810610649758843950894571908874798665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947563712768701620651866622946564679829905 5605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275729987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727573987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961561850808994915904660700750831937739939877997810610649758843950894571908874798665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947563712768701620651866622946564679829905 5615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275729987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727573987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917562654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894571908874798665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947563712768701620651866622946564679829905 5625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275729987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727573987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894571908874798665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947563712768701620651866622946564679829905 5635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275729987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727573987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894571908874798665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946564679829905 5645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275729987849327768246039316349148166839835959277725658057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727573987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894571908874798665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275729987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696566878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727573987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894571908874798665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778735678466275729987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727573987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894571908874798665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778738466275729987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727573987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894571908874798665568926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999765697796979968939076459747676778738466275729987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727573987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894571908874798665926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466275729987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727573987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881570707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894571908874798665926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466275729987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727573987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894571908874798665926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466275729987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727573987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727573987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802574670970978981989706948804695585811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746575648614872600934656960858617920709623922693685778624696878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802670970978981989706948804695585811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746648614872600934656960858617920709623922693685778624696878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928576680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802670970978981989706948804695585811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746648614872600934656960858617920709623922693685778624696878852601741577973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802670970978981989706948804695585811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802670970978981989706948804695585811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945578966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416575798156429958761000982716650837916864842968903740580984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802670970978981989706948804695585811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740580984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802670970978981989706948804695585811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720581821761604597664826672659789726933743813713751875797690802670970978981989706948804695585811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678582818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720821761604597664826672659789726933743813713751875797690802670970978981989706948804695585811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720821761604597664826672659789726933743813713751875797690802670970978981989706948804695585811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608583591783671947712768701620651866622946679829905 5835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848555846188397478018076138287345907289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720821761604597664826672659789726933743813713751875797690802670970978981989706948804695585811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608591783671947712768701620651866622946679829905 5845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848556188397478018076138287345907289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720821761604597664826672659789726933743813713751875797690802670970978981989706948804695585811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608591783671947712768701620651866622946679829905 5855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848556188397478018076138287345907289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652586756909956732925775599890991863647954910765977663935720821761604597664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608591783671947712768701620651866622946679829905 5865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848556188397478018076138287345907289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835596673587588593681917654889735738942918598749621965652756909956732925775599890991863647954910765977663935720821761604597664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608591783671947712768701620651866622946679829905 5875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848556188397478018076138287345907289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835596673588593681917654889735738942918598749621965652756909956732925775599890991863647954910765977663935720821761604597664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608591783671947712768701620651866622946679829905 5885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158235899308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848556188397478018076138287345907289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835596673593681917654889735738942918598749621965652756909956732925775599890991863647954910765977663935720821761604597664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608591783671947712768701620651866622946679829905 5895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848556188397478018076138287345907289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835596673593681917654889735738942918598749621965652756909956732925775599890991863647954910765977663935720821761604597664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608591783671947712768701620651866622946679829905 5905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848556188397478018076138287347289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835596673593681917654889735738942918598749621965652756909956732925775599890991863647954910765977663935720821761604597664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608591783671947712768701620651866622946679829905 5915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848556188397478018076138287347289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760592897602870832941924703865733694731666722646913655857594630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835596673593681917654889735738942918598749621965652756909956732925775599890991863647954910765977663935720821761604597664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608783671947712768701620651866622946679829905 5925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848556188397478018076138287347289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760897602870832941924703865733694731666722646913655857594630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835596673593681917654889735738942918598749621965652756909956732925775599890991863647954910765977663935720821761604597664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608783671947712768701620651866622946679829905 5935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848556188397478018076138287347289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760897602870832941924703865733694731666722646913655857594630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835596673681917654889735738942918598749621965652756909956732925775599890991863647954910765977663935720821761604597664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608783671947712768701620651866622946679829905 5945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839835959277728057577999996539928008596076827819129938408386848556188397478018076138287347289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760897602870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835596673681917654889735738942918598749621965652756909956732925775599890991863647954910765977663935720821761604597664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608783671947712768701620651866622946679829905 5955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839839277728057577999996539928008596076827819129938408386848556188397478018076138287347289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760897602870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835596673681917654889735738942918598749621965652756909956732925775599890991863647954910765977663935720821761604597664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608783671947712768701620651866622946679829905 5965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839839277728057577999996539928008596076827819129938408386848556188397478018076138287347289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760897602870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918598749621965652756909956732925775599890991863647954910765977663935720821761604597664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608783671947712768701620651866622946679829905 5975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839839277728057577999996539928008596076827819129938408386848556188397478018076138287347289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760897602870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918598749621965652756909956732925775599890991863647954910765977663935720821761604664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608783671947712768701620651866622946679829905 5985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839839277728057577999996539928008596076827819129938408386848556188397478018076138287347289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760897602870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775599890991863647954910765977663935720821761604664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608783671947712768701620651866622946679829905 5995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839839277728057577999996539928008596076827819129938408386848556188397478018076138287347289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872600934656960858617920709623922693685778624696878852601741973971705631953951962637782760897602870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761604664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608783671947712768701620651866622946679829905 6005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839839277728057577999996539928008596076827819129938408386848556188397478018076138287347289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872934656960858617920709623922693685778624696878852601741973971705631953951962637782760897602870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761604664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608783671947712768701620651866622946679829905 6016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839839277728057577999996539928008596076827819129938408386848556188397478018076138287347289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872934656960858617920709623922693685778624696878852741973971705631953951962637782760897602870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761604664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608783671947712768701620651866622946679829905 6026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877296057938999767796979968939076459747676778738466279987849327768246039316349148166839839277728057577999996539928008596076827819129938408386848556188397478018076138287347289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872934656960858617920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761604664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608783671947712768701620651866622946679829905 6036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877296057938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596076827819129938408386848556188397478018076138287347289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872934656960858617920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761604664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608783671947712768701620651866622946679829905 6046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877296057938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596076827819129938408386848556188397478018076138287347289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872934656960858617920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608783671947712768701620651866622946679829905 6056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596076827819129938408386848556188397478018076138287347289636068566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872934656960858617920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608783671947712768701620651866622946679829905 6066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596076827819129938408386848556188397478018076138287347289638566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872934656960858617920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608783671947712768701620651866622946679829905 6076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848556188397478018076138287347289638566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872934656960858617920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980608783671947712768701620651866622946679829905 6086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848556188397478018076138287347289638566358366096407177368918607956256416578156429958761000982716650837916864842968903740984746648614872934656960858617920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980783671947712768701620651866622946679829905 6096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848556188397478018076138287347289638566358366407177368918607956256416578156429958761000982716650837916864842968903740984746648614872934656960858617920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810610649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980783671947712768701620651866622946679829905 6106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848556188397478018076138287347289638566358366407177368918607956256416578156429958761000982716650837916864842968903740984746648614872934656960858617920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896611714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980783671947712768701620651866622946679829905 6116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848556188397478018076138287347289638566358366407177368918607956256416578156429958761000982716650837916864842968903740984746648614872934656960858617920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753612803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980783671947712768701620651866622946679829905 6126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848556188397478018076138287347289638566358366407177368918607956256416578156429958761000982716650837916864842968903740984746648614872934656960858617920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980783671947712768701620651866622946679829905 6136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848556188397478018078287347289638566358366407177368918607956256416578156429958761000982716650837916864842968903740984746648614872934656960858617920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980783671947712768701620651866622946679829905 6146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118066158239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848556188397478018078287347289638566358366407177368918607956256416578156429958761000982716650837916864842968903740984746648872934656960858617920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980783671947712768701620651866622946679829905 6156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118068239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848556188397478018078287347289638566358366407177368918607956256416578156429958761000982716650837916864842968903740984746648872934656960858617920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964616633851980783671947712768701620651866622946679829905 6166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118068239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848556188397478018078287347289638566358366407177368918607956256416578156429958761000982716650837916864842968903740984746648872934656960858617920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964633851980783671947712768701620651866622946679829905 6176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118068239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848556188397478018078287347289638566358366407177368918607956256416578156429958761000982716650837916864842968903740984746648872934656960858920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964633851980783671947712768701620651866622946679829905 6186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118068239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638566358366407177368918607956256416578156429958761000982716650837916864842968903740984746648872934656960858920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777619867845755771669626766753803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964633851980783671947712768701620651866622946679829905 6196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118068239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638566358366407177368918607956256416578156429958761000982716650837916864842968903740984746648872934656960858920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669626766753803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964633851980783671947712768701620651866622946679829905 6206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118068239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638566358366407177368918607956256416578156429958761000982716650837916864842968903740984746648872934656960858920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749621965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669626766753803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964633851980783671947712768701651866622946679829905 6216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118068239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638566358366407177368918607956256416578156429958761000982716650837916864842968903740984746648872934656960858920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669626766753803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964633851980783671947712768701651866622946679829905 6226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118068239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638566358366407177368918607956256416578156429958761000982716650837916864842968903740984746648872934656960858920709623922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669626766753803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964633851980783671947712768701651866946679829905 6236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118068239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638566358366407177368918607956256416578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778624696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669626766753803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964633851980783671947712768701651866946679829905 6246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118068239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638566358366407177368918607956256416578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669626766753803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964633851980783671947712768701651866946679829905 6256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118068239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638566358366407177368918607956416578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669626766753803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964633851980783671947712768701651866946679829905 6266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118068239308877297938999767796979968939076459747676778738466279987849327768249316349148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638566358366407177368918607956416578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669766753803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964633851980783671947712768701651866946679829905 6276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118068239308877297938999767796979968939076459747676778738469987849327768249316349148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638566358366407177368918607956416578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969628715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669766753803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964633851980783671947712768701651866946679829905 6286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118068239308877297938999767796979968939076459747676778738469987849327768249316349148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638566358366407177368918607956416578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669766753803668895990958834785686699911919629773957762754972923791745943940723833704853985748820975790964633851980783671947712768701651866946679829905 6296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118068239308877297938999767796979968939076459747676778738469987849327768249316349148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638566358366407177368918607956416578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857630880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964633851980783671947712768701651866946679829905 6306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118068239308877297938999767796979968939076459747676778738469987849327768249316349148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638566358366407177368918607956416578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705631953951962637782760897870832941924703865733694731666722646913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964633851980783671947712768701651866946679829905 6316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098546329016767118068239308877297938999767796979968939076459747676778738469987849327768249316349148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638566358366407177368918607956416578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705953951962637782760897870832941924703865733694731666722646913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964633851980783671947712768701651866946679829905 6326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939076459747676778738469987849327768249316349148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638566358366407177368918607956416578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705953951962637782760897870832941924703865733694731666722646913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964633851980783671947712768701651866946679829905 6336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939076459747676778738469987849327768249316349148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638566358366407177368918607956416578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705953951962637782760897870832941924703865733694731666722646913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701651866946679829905 6346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939076459747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638566358366407177368918607956416578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705953951962637782760897870832941924703865733694731666722646913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701651866946679829905 6356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939076459747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638568366407177368918607956416578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705953951962637782760897870832941924703865733694731666722646913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879636702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701651866946679829905 6366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939076459747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638568366407177368918607956416578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705953951962637782760897870832941924703865733694731666722646913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701651866946679829905 6376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939076459747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638568366407177368918607956416578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722646913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868638721871770718710737944763752900949879702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701651866946679829905 6386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939076459747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638568366407177368918607956416578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722646913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986639979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701651866946679829905 6396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939076459747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638568366407177368918607956416578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722646913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701651866946679829905 6406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939076459747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638568367177368918607956416578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722646913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701651866946679829905 6416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939076459747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638568367177368918607956578156429958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722646913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701651866946679829905 6426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939076459747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638568367177368918607956578159958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722646913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674643769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701651866946679829905 6436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939076459747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638568367177368918607956578159958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722646913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830644861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701651866946679829905 6446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939076459747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638568367177368918607956578159958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722646913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701651866946679829905 6456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638568367177368918607956578159958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722646913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701651866946679829905 6466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638568367177368918607956578159958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863647954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701651866946679829905 6476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638568367177368918607956578159958761000982716650837916864842968903740984746648872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701651866946679829905 6486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638568367177368918607956578159958761000982716650837916864842968903740984746872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810649758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701651866946679829905 6496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638568367177368918607956578159958761000982716650837916864842968903740984746872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701651866946679829905 6506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638568367177368918607956578159958761000982716837916864842968903740984746872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701651866946679829905 6516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638568367177368918607956578159958761000982716837916864842968903740984746872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917654889735738942918749965652756909956732925775890991863954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999996539928008596827819129938408386848558397478018078287347289638568367177368918607956578159958761000982716837916864842968903740984746872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917654889735738942918749965756909956732925775890991863954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607956578159958761000982716837916864842968903740984746872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917654889735738942918749965756909956732925775890991863954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607956578159958761000982716837916864842968903740984746872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913655857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607956578159958761000982716837916864842968903740984746872934656960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607956578159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675658884929764708892961850808994915904660700750831937739939877997810758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977663935720821761664826672659789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675884929764708892961850808994915904660700750831937739939877997810758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977663935720821761664826672789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675884929764708892961850808994915904660700750831937739939877997810758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827661883662986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977663935720821761664826672789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675884929764708892961850808994915904700750831937739939877997810758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827883662986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977663935720821761664826672789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675884929764708892961850808994915904700750831937739939877997810758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827883986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977663935720821761664826672789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675884929764708892961850808994915904700750831937739939877997810758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827883986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977935720821761664826672789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675884929764708892961850808994915904700750831937739939877997810758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827883986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977935720821761826672789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675884929764708892961850808994915904700750831937739939877997810758843950894908874798665926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731666722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827883986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977935720821761826672789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675884929764708892961850808994915904700750831937739939877997810758843950894908874798926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827883986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977935720821761826672789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675884929764708892961850808994915904700750831937739939877997810758843950894908874798926862667847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827883986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977935720821761826672789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771669766753803668895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827883986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977935720821761826672789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771669766753803895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827883986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977935720821761826672789726933743813713751875797690802670970978981989706948804695811936730674769938844812906969715881707691675884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827883986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977935720821761826672789726933743813713751875797690802970978981989706948804695811936730674769938844812906969715881707691675884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783671947712768701866946679829905 6716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827883986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977935720821761826672789726933743813713751875797690802970978981989706948804695811936730674769938844812906969715881707691675884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946679829905 6726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827883986979794886814742888819921725786787825835673681917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797690802970978981989706948804695811936730674769938844812906969715881707691675884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946679829905 6736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827883986979794886814742888819921725786787825835681917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797690802970978981989706948804695811936730674769938844812906969715881707691675884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946679829905 6746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827883986979794886814742888819921725786787825835681917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797690802970978981989706948804695811936730769938844812906969715881707691675884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946679829905 6756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549016767118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827883986979794886814742888819921725786787825835681917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797690802970978981989706948804695811936730769938844812906969715881707691884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946679829905 6766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747676778738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827883986979794886814742888819921725786787825835681917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797690802970978981989706948804695811936730769938844812906969715881707691884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946679829905 6776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822678818744827883986979794886814742888819921725786787825835681917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797690802970978981989706948804695811936730769938844812906969715881707691884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946679829905 6786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822818744827883986979794886814742888819921725786787825835681917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797690802970978981989706948804695811936730769938844812906969715881707691884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946679829905 6796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928680724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822818744827883986979794886814742888819921725786787825835681917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797690802970978981989706948804695811936730769938844812906969715881707691884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822818744827883986979794886814742888819921725786787825835681917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797690802970978981989706948804695811936730769938844812906969715881707691884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148166839839277728057577999999928008596827819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797690802970978981989706948804695811936730769938844812906969715881707691884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148166839839277728057577999999928008597819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797690802970978981989706948804695811936730769938844812906969715881707691884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148169839277728057577999999928008597819129938408386848558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797690802970978981989706948804695811936730769938844812906969715881707691884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693685778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797690802970978981989706948804695811936730769938844812906969715881707691884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797690802970978981989706948804695811936730769938844812906969715881707691884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785686699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693778696878852741973971705953951962782760897870832941924703865733694731722913857880869796687719759928724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797690802970978981989706948804695811936730769938844812906969715881707691884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693778696878852741973971705953951962782760897870832941924703865733694731722913857880869796719759928724848967898955988817841692727987952882896714688902959698868721871770718710737944763752900949879702689822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797690802970978981989706948804695811936730769938844812906969715881707691884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693778696878852741973971705953951962782760897870832941924703865733694731722913857880869796719759928724848967898955988817841692727987952882896714902959698868721871770718710737944763752900949879702689822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797690802970978981989706948804695811936730769938844812906969715881707691884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693778696878852741973971705953951962782760897870832941924703865733694731722913857880869796719759928724848967898955988817841692727987952882896714902959698868721871770718710737944763752900949879702822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797690802970978981989706948804695811936730769938844812906969715881707691884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693778696878852741973971705953951962782760897870832941924703865733694731722913857880869796719759928724848967898955988817841692727987952882896714902959698868721871770718710737944763752900949879702822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989706948804695811936730769938844812906969715881707691884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693778696878852741973971705953951962782760897870832941924703865733694731722913857880869796719759928724848967898955988817841692727987952882896714902959698868721871770718710737944763752900949879702822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989706948804695811936730769938844812906969715881707884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922693778696878852741973971705953951962782760897870832941924703865733694731722913857880869796719759928724848967898955988817841727987952882896714902959698868721871770718710737944763752900949879702822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989706948804695811936730769938844812906969715881707884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922778696878852741973971705953951962782760897870832941924703865733694731722913857880869796719759928724848967898955988817841727987952882896714902959698868721871770718710737944763752900949879702822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989706948804695811936730769938844812906969715881707884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922778696878852741973971705953951962782760897870832941924703865733731722913857880869796719759928724848967898955988817841727987952882896714902959698868721871770718710737944763752900949879702822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989706948804695811936730769938844812906969715881707884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922778696878852741973971705953951962782760897870832941924703865733731722913857880869796719759928724848967898955988817841727987952882896714902959698868721871770718710737944763752900949879702822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989706948804811936730769938844812906969715881707884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767796979968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922778878852741973971705953951962782760897870832941924703865733731722913857880869796719759928724848967898955988817841727987952882896714902959698868721871770718710737944763752900949879702822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989706948804811936730769938844812906969715881707884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922778878852741973971705953951962782760897870832941924703865733731722913857880869796719759928724848967898955988817841727987952882896714902959698868721871770718710737944763752900949879702822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989706948804811936730769938844812906969715881707884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922778878852741973971705953951962782760897870832941924703865733731722913857880869796719759928724848967898955988817841727987952882896714902959868721871770718710737944763752900949879702822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989706948804811936730769938844812906969715881707884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785699911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 6996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922778878852741973971705953951962782760897870832941924703865733731722913857880869796719759928724848967898955988817841727987952882896714902959868721871770718710737944763752900949879702822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989706948804811936730769938844812906969715881707884929764708892961850808994915904700750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 7006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922778878852741973971705953951962782760897870832941924703865733731722913857880869796719759928724848967898955988817841727987952882896714902959868721871770718710737944763752900949879702822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989706948804811936730769938844812906969715881707884929764708892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833704853985748820975790964851980783947712768701866946829905 7017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922778878852741973971705953951962782760897870832941924703865733731722913857880869796719759928724848967898955988817841727987952882896714902959868721871770718710737944763752900949879702822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989706948804811936730769938844812906969715881707884929764708892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833704853985748820975790964851980783947712768866946829905 7027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922778878852741973971705953951962782760897870832941924703865733731722913857880869796719759928724848967898955988817841727987952882896714902959868721871770718710737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989706948804811936730769938844812906969715881707884929764708892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833704853985748820975790964851980783947712768866946829905 7037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922778878852741973971705953951962782760897870832941924865733731722913857880869796719759928724848967898955988817841727987952882896714902959868721871770718710737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989706948804811936730769938844812906969715881707884929764708892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833704853985748820975790964851980783947712768866946829905 7047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922778878852741973971705953951962782760897870832941924865733731722913857880869796719759928724848967898955988817841727987952882896714902959868721871770718710737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989706948804811936730769938844812906969715881707884929764708892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947712768866946829905 7057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922778878852741973971953951962782760897870832941924865733731722913857880869796719759928724848967898955988817841727987952882896714902959868721871770718710737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989706948804811936730769938844812906969715881707884929764708892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947712768866946829905 7067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922778878852741973971953951962782760897870832941924865733731722913857880869796719759928724848967898955988817841727987952882896714902959868721871770718710737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989948804811936730769938844812906969715881707884929764708892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947712768866946829905 7077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922778878852741973971953951962782760897870832941924865733731722913857880869796719759928724848967898955988817841727987952882896714902959868721871770718710737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989948804811936730769938844812906969715881884929764708892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947712768866946829905 7087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920709922778878852741973971953951962782760897870832941924865733731722913857880869796719759928724848967898955988817841727987952882896714902959868721871770718710737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989948804811936730769938844812906969715881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947712768866946829905 7097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731722913857880869796719759928724848967898955988817841727987952882896714902959868721871770718710737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989948804811936730769938844812906969715881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947712768866946829905 7107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549017118068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731722913857880869796719759928724848967898955988817841727987952882896714902959868721871770718737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989948804811936730769938844812906969715881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947712768866946829905 7117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731722913857880869796719759928724848967898955988817841727987952882896714902959868721871770718737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989948804811936730769938844812906969715881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947712768866946829905 7127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731722913857880869796719759928724848967898955988817841727987952882896714902959868721871770718737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813713751875797802970978981989948804811936730769938844812906969715881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947768866946829905 7137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731722913857880869796719759928724848967898955988817841727987952882896714902959868721871770718737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813751875797802970978981989948804811936730769938844812906969715881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947768866946829905 7147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731722913857880869796719759928724848967898955988817841727987952882896902959868721871770718737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813751875797802970978981989948804811936730769938844812906969715881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947768866946829905 7157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982716837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731722913857880869796719759928724848967898955988817841727987952882896902959868721871770718737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813751875797802970978981989948804811936730769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947768866946829905 7167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367177368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731722913857880869796719759928724848967898955988817841727987952882896902959868721871770718737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813751875797802970978981989948804811936730769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947768866946829905 7177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731722913857880869796719759928724848967898955988817841727987952882896902959868721871770718737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813751875797802970978981989948804811936730769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947768866946829905 7187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731722913857880869796719759928724848967898955988817841727987952882896902959868721871770737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813751875797802970978981989948804811936730769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947768866946829905 7197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731722913857880869796759928724848967898955988817841727987952882896902959868721871770737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935720821761826789726933743813751875797802970978981989948804811936730769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947768866946829905 7207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731722913857880869796759928724848967898955988817841727987952882896902959868721871770737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935821761826789726933743813751875797802970978981989948804811936730769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947768866946829905 7217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731722913857880869796759928724848967898955988817841727987952882896902959868871770737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935821761826789726933743813751875797802970978981989948804811936730769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947768866946829905 7227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731913857880869796759928724848967898955988817841727987952882896902959868871770737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935821761826789726933743813751875797802970978981989948804811936730769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940723833853985748820975790964851980783947768866946829905 7237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731913857880869796759928724848967898955988817841727987952882896902959868871770737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935821761826789726933743813751875797802970978981989948804811936730769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731913857880869796759928848967898955988817841727987952882896902959868871770737944763752900949879822818744827883986979794886814742888819921725786787825835917889735738942918749965756909956732925775890991863954910765977935821761826789726933743813751875797802970978981989948804811936730769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731913857880869796759928848967898955988817841727987952882896902959868871770737944763752900949879822818744827883986979794886814742888819921786787825835917889735738942918749965756909956732925775890991863954910765977935821761826789726933743813751875797802970978981989948804811936730769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731913857880869796759928848967898955988817841727987952882896902959868871770737944763752900949879822818744827883986979794886814742888819921786787825835917889735738942918749965756909956732925775890991863954910765977935821761826789933743813751875797802970978981989948804811936730769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287347289638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731913857880869796759928848967898955988817841987952882896902959868871770737944763752900949879822818744827883986979794886814742888819921786787825835917889735738942918749965756909956732925775890991863954910765977935821761826789933743813751875797802970978981989948804811936730769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877297938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287349638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731913857880869796759928848967898955988817841987952882896902959868871770737944763752900949879822818744827883986979794886814742888819921786787825835917889735738942918749965756909956732925775890991863954910765977935821761826789933743813751875797802970978981989948804811936730769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287349638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731913857880869796759928848967898955988817841987952882896902959868871770737944763752900949879822818744827883986979794886814742888819921786787825835917889735738942918749965756909956732925775890991863954910765977935821761826789933743813751875797802970978981989948804811936730769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287349638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733731913857880869796759928848967898955988817841987952882896902959868871770737944763752900949879822818744827883986979794886814742888819921786787825835917889735738942918749965756909956732925775890991863954910765977935821761826789933743813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287349638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733913857880869796759928848967898955988817841987952882896902959868871770737944763752900949879822818744827883986979794886814742888819921786787825835917889735738942918749965756909956732925775890991863954910765977935821761826789933743813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287349638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865733913857880869796759928848967898955988817841987952882896902959868871770737944763752900949879822818744827883986979794886814742888819921786787825835917889735738942918749965756909956925775890991863954910765977935821761826789933743813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078287349638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770737944763752900949879822818744827883986979794886814742888819921786787825835917889735738942918749965756909956925775890991863954910765977935821761826789933743813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078289638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770737944763752900949879822818744827883986979794886814742888819921786787825835917889735738942918749965756909956925775890991863954910765977935821761826789933743813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078289638568367368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770737944763752900949879822818744827883986979794886814742888819921786787825835917889738942918749965756909956925775890991863954910765977935821761826789933743813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078289638568368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770737944763752900949879822818744827883986979794886814742888819921786787825835917889738942918749965756909956925775890991863954910765977935821761826789933743813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078289638568368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763752900949879822818744827883986979794886814742888819921786787825835917889738942918749965756909956925775890991863954910765977935821761826789933743813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078289638568368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763752900949879822818744827883986979794886814742888819921786787825835917889942918749965756909956925775890991863954910765977935821761826789933743813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937739939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078289638568368918607958159958761000982837916864842968903740984746872934960858920922778878852741973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763752900949879822818744827883986979794886814742888819921786787825835917889942918749965756909956925775890991863954910765977935821761826789933743813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078289638568368918607958159958761000982837916864842968903984746872934960858920922778878852741973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763752900949879822818744827883986979794886814742888819921786787825835917889942918749965756909956925775890991863954910765977935821761826789933743813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078289638568368918607958159958761000982837916864842968903984746872934960858920922778878852973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763752900949879822818744827883986979794886814742888819921786787825835917889942918749965756909956925775890991863954910765977935821761826789933743813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078289638568368918607958159958761000982837916864842968903984746872934960858920922778878852973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763752900949879822818744827883986979794886814888819921786787825835917889942918749965756909956925775890991863954910765977935821761826789933743813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078289638568368918607958159958761000982837916864842968903984746872934960858920922778878852973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763752900949879822818744827883986979794886814888819921786787825835917889942918749965756909956925775890991863954910765977935821761826789933813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078289638568368918607958159958761000982837916864842968903984746872934960858920922778878852973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763752900949879822818827883986979794886814888819921786787825835917889942918749965756909956925775890991863954910765977935821761826789933813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791745943940833853985748820975790964851980783947768866946829905 7457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078289638568368918607958159958761000982837916864842968903984746872934960858920922778878852973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763752900949879822818827883986979794886814888819921786787825835917889942918749965756909956925775890991863954910765977935821761826789933813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791943940833853985748820975790964851980783947768866946829905 7467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558397478018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763752900949879822818827883986979794886814888819921786787825835917889942918749965756909956925775890991863954910765977935821761826789933813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791943940833853985748820975790964851980783947768866946829905 7477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763752900949879822818827883986979794886814888819921786787825835917889942918749965756909956925775890991863954910765977935821761826789933813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791943940833853985748820975790964851980783947768866946829905 7487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763752900949879822818827883986979794886814888819921786787825835917889942918749965756909956925775890991863954910765977935821761826789933813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791943940833853985820975790964851980783947768866946829905 7497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763752900949879822818827883986979794886814888819921786787825835917889942918965756909956925775890991863954910765977935821761826789933813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904750831937939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791943940833853985820975790964851980783947768866946829905 7507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763752900949879822818827883986979794886814888819921786787825835917889942918965756909956925775890991863954910765977935821761826789933813751875797802970978981989948804811936769938844812906969881884929764892961850808994915904831937939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791943940833853985820975790964851980783947768866946829905 7517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763752900949879822818827883986979794886814888819921786787825835917889942918965756909956925775890991863954910765977935821761826789933813875797802970978981989948804811936769938844812906969881884929764892961850808994915904831937939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791943940833853985820975790964851980783947768866946829905 7527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763900949879822818827883986979794886814888819921786787825835917889942918965756909956925775890991863954910765977935821761826789933813875797802970978981989948804811936769938844812906969881884929764892961850808994915904831937939877997810758843950894908874798926862847788780774885849830861945966777867845755771766753803895990958834785911919773957762754972923791943940833853985820975790964851980783947768866946829905 7537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763900949879822818827883986979794886814888819921786787825835917889942918965756909956925775890991863954910765977935821761826789933813875797802970978981989948804811936769938844812906969881884929764892961850808994915904831937939877997810758843950894908874798926862847788780774885849830861945966777867845755771766803895990958834785911919773957762754972923791943940833853985820975790964851980783947768866946829905 7547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763900949879822818827883986979794886814888819921786787825835917889942918965756909956925775890991863954910765977935821761826789933813875797802970978981989948804811936769938844812906969881884929764892961850808994915904831937939877997810758843950894908874798926862847788780774885849830861945966777867845755771766803895990958834785911919773957762972923791943940833853985820975790964851980783947768866946829905 7557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763900949879822818827883986979794886814888819921786787825835917889942918965756909956925775890991863954910765977935821761826789933813875797802970978981989948804811936769938844812906969881884929764892961850808994915904831937939877997810758843950894908874798926862847788780774885849830861945966777867845771766803895990958834785911919773957762972923791943940833853985820975790964851980783947768866946829905 7567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057577999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910765977935821761826789933813875797802970978981989948804811936769938844812906969881884929764892961850808994915904831937939877997810758843950894908874798926862847788780774885849830861945966777867845771766803895990958834785911919773957762972923791943940833853985820975790964851980783947768866946829905 7577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910765977935821761826789933813875797802970978981989948804811936769938844812906969881884929764892961850808994915904831937939877997810758843950894908874798926862847788780774885849830861945966777867845771766803895990958834785911919773957762972923791943940833853985820975790964851980783947768866946829905 7587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782760897870832941924865913857880869796759928848967898955988817841987952882896902959868871770944763900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910765977935821761826789933813875797802970978981989948804811936769938844812906969881884929764892961850808994915904831937939877997810843950894908874798926862847788780774885849830861945966777867845771766803895990958834785911919773957762972923791943940833853985820975790964851980783947768866946829905 7597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782760897870832941924865913857880869796928848967898955988817841987952882896902959868871770944763900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910765977935821761826789933813875797802970978981989948804811936769938844812906969881884929764892961850808994915904831937939877997810843950894908874798926862847788780774885849830861945966777867845771766803895990958834785911919773957762972923791943940833853985820975790964851980783947768866946829905 7607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871770944763900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910765977935821761826789933813875797802970978981989948804811936769938844812906969881884929764892961850808994915904831937939877997810843950894908874798926862847788780774885849830861945966777867845771766803895990958834785911919773957762972923791943940833853985820975790964851980783947768866946829905 7617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871770944763900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910765977935821826789933813875797802970978981989948804811936769938844812906969881884929764892961850808994915904831937939877997810843950894908874798926862847788780774885849830861945966777867845771766803895990958834785911919773957762972923791943940833853985820975790964851980783947768866946829905 7627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871770944763900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910765977935821826789933813875797802970978981989948804811936769938844812906969881884929764892961850808994915904831937939877997810843950894908874798926862847788780774885849830861945966777867845771766803895990958834785911919773957972923791943940833853985820975790964851980783947768866946829905 7637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871770944900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910765977935821826789933813875797802970978981989948804811936769938844812906969881884929764892961850808994915904831937939877997810843950894908874798926862847788780774885849830861945966777867845771766803895990958834785911919773957972923791943940833853985820975790964851980783947768866946829905 7647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871770944900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910765977935821826789933813875797802970978981989948804811936769938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788780774885849830861945966777867845771766803895990958834785911919773957972923791943940833853985820975790964851980783947768866946829905 7657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871770944900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910977935821826789933813875797802970978981989948804811936769938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788780774885849830861945966777867845771766803895990958834785911919773957972923791943940833853985820975790964851980783947768866946829905 7667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079747678738469987849327768249319148169839277728057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871770944900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910977935821826789933813875797802970978981989948804811936769938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788780774885849830861945966777867845771803895990958834785911919773957972923791943940833853985820975790964851980783947768866946829905 7677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079748738469987849327768249319148169839277728057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871770944900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910977935821826789933813875797802970978981989948804811936769938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788780774885849830861945966777867845771803895990958834785911919773957972923791943940833853985820975790964851980783947768866946829905 7687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079748738469987849327768249319148169839277728057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871770944900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910977935821826789933813875797802970978981989948804811936769938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788780774885849830861945966777867845771803895990958834785911919773957972923791943940833853985820975790964851980783947866946829905 7697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079748738469987849327768249319148169839277728057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871770944900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788780774885849830861945966777867845771803895990958834785911919773957972923791943940833853985820975790964851980783947866946829905 7707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079748738469987849327768249319148169839277728057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788780774885849830861945966777867845771803895990958834785911919773957972923791943940833853985820975790964851980783947866946829905 7717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079748738469987849327768249319148169839277728057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788780774885849830861945966777867845803895990958834785911919773957972923791943940833853985820975790964851980783947866946829905 7727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079748738469987849327768249319148169839278057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788780774885849830861945966777867845803895990958834785911919773957972923791943940833853985820975790964851980783947866946829905 7737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079748738469987849327768249319148169839278057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788780774885849830861945966777867845803895990958834785911919957972923791943940833853985820975790964851980783947866946829905 7747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079748738469987849327768249319148169839278057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921786787825835917889942918965909956925775890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788780885849830861945966777867845803895990958834785911919957972923791943940833853985820975790964851980783947866946829905 7757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079748738469987849327768249319148169839278057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921786787825835917889942918965909956925890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788780885849830861945966777867845803895990958834785911919957972923791943940833853985820975790964851980783947866946829905 7767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079748738469987849328249319148169839278057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921786787825835917889942918965909956925890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788780885849830861945966777867845803895990958834785911919957972923791943940833853985820975790964851980783947866946829905 7777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079748738469987849328249319148169839278057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922778878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921786787825835917889942918965909956925890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788780885849830861945966867845803895990958834785911919957972923791943940833853985820975790964851980783947866946829905 7787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999767799968939079748738469987849328249319148169839278057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921786787825835917889942918965909956925890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788780885849830861945966867845803895990958834785911919957972923791943940833853985820975790964851980783947866946829905 7797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999769968939079748738469987849328249319148169839278057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921786787825835917889942918965909956925890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788780885849830861945966867845803895990958834785911919957972923791943940833853985820975790964851980783947866946829905 7807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999769968939079748738469987849328249319148169839278057999999928008597819129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921786787825835917889942918965909956925890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788885849830861945966867845803895990958834785911919957972923791943940833853985820975790964851980783947866946829905 7817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999769968939079748738469987849328249319148169839278057999999928008599129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922878852973971953951962782897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921786787825835917889942918965909956925890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788885849830861945966867845803895990958834785911919957972923791943940833853985820975790964851980783947866946829905 7827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999769968939079748738469987849328249319148169839278057999999928008599129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921786787825835917889942918965909956925890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788885849830861945966867845803895990958834785911919957972923791943940833853985820975790964851980783947866946829905 7837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999769968939079748738469987849328249319148169839278057999999928008599129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921786787825835917889942918965909956925890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788885849830861945966867845803895990958834785911919957972923791943940833853985820975790964851980947866946829905 7847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999769968939079748738469989328249319148169839278057999999928008599129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921786787825835917889942918965909956925890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788885849830861945966867845803895990958834785911919957972923791943940833853985820975790964851980947866946829905 7857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999769968939079748738469989328249319148169839278057999999928008599129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921786787825835917889942918965909956925890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788885849830861945966867845803895990958834911919957972923791943940833853985820975790964851980947866946829905 7867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999769968939079748738469989328249319148169839278057999999928008599129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921787825835917889942918965909956925890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788885849830861945966867845803895990958834911919957972923791943940833853985820975790964851980947866946829905 7877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999769968939079748738469989328249319148169839278057999999928008599129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921825835917889942918965909956925890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847788885849830861945966867845803895990958834911919957972923791943940833853985820975790964851980947866946829905 7887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999769968939079748738469989328249319148169839278057999999928008599129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921825835917889942918965909956925890991863954910977935821826789933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847885849830861945966867845803895990958834911919957972923791943940833853985820975790964851980947866946829905 7897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999769968939079748738469989328249319148169839278057999999928008599129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921825835917889942918965909956925890991863954910977935821826933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847885849830861945966867845803895990958834911919957972923791943940833853985820975790964851980947866946829905 7907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999769968939079748738469989328249319148169839278057999999928008599129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921825835917889942918965909956925890991863954910977935821826933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847885849830861945966867845803895990958834911919957972923791943940833853985820975964851980947866946829905 7917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543217928098549018068239308877938999769968939079748738469989328249319148169839278057999999928008599129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921825835917889942918965909956925890991863954910977935821826933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847885849830861945966867845803895990958834911919957972923943940833853985820975964851980947866946829905 7927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218098549018068239308877938999769968939079748738469989328249319148169839278057999999928008599129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921825835917889942918965909956925890991863954910977935821826933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847885849830861945966867845803895990958834911919957972923943940833853985820975964851980947866946829905 7937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218098549018068239308878999769968939079748738469989328249319148169839278057999999928008599129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979794886814888819921825835917889942918965909956925890991863954910977935821826933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847885849830861945966867845803895990958834911919957972923943940833853985820975964851980947866946829905 7947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218098549018068239308878999769968939079748738469989328249319148169839278057999999928008599129938408388558398018078289638568368918607958159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847885849830861945966867845803895990958834911919957972923943940833853985820975964851980947866946829905 7957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218098549018068239308878999769968939079748738469989328249319148169839278057999999928008599129938408388558398018078289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869796928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847885849830861945966867845803895990958834911919957972923943940833853985820975964851980947866946829905 7967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218098549018068239308878999769968939079748738469989328249319148169839278057999999928008599129938408388558398018078289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875797802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847885849830861945966867845803895990958834911919957972923943940833853985820975964851980947866946829905 7977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218098549018068239308878999769968939079748738469989328249319148169839278057999999928008599129938408388558398018078289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874798926862847885849830861945966867845803895990958834911919957972923943940833853985820975964851980947866946829905 7987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218098549018068239308878999769968939079748738469989328249319148169839278057999999928008599129938408388558398018078289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874926862847885849830861945966867845803895990958834911919957972923943940833853985820975964851980947866946829905 7997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218098549018068239308878999769968939079748738469989328249319148169839278059999928008599129938408388558398018078289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874926862847885849830861945966867845803895990958834911919957972923943940833853985820975964851980947866946829905 8007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218098549018068239308878999769968939079748738469989328249319148169839278059999928599129938408388558398018078289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874926862847885849830861945966867845803895990958834911919957972923943940833853985820975964851980947866946829905 8018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218098549018068239308878999769968939079748738469989328249319148169839278059999928599129938408388558398078289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875802970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874926862847885849830861945966867845803895990958834911919957972923943940833853985820975964851980947866946829905 8028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218098549018068239308878999769968939079748738469989328249319148169839278059999928599129938408388558398078289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874926862847885849830861945966867845803895990958834911919957972923943940833853985820975964851980947866946829905 8038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218098549018068239308878999769968939079748738469989328249319148169839278059999928599129938408388558398078289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875970978981989948804811936938844812906969881884929892961850808994915904831937939877997810843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985820975964851980947866946829905 8048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218098549018068239308878999769968939079748738469989328249319148169839278059999928599129938408388558398078289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875970978981989948811936938844812906969881884929892961850808994915904831937939877997810843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985820975964851980947866946829905 8058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218098549018068239308878999769968939079748738469989328249319148169839279999928599129938408388558398078289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875970978981989948811936938844812906969881884929892961850808994915904831937939877997810843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985820975964851980947866946829905 8068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218098549018239308878999769968939079748738469989328249319148169839279999928599129938408388558398078289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875970978981989948811936938844812906969881884929892961850808994915904831937939877997810843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985820975964851980947866946829905 8078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218098549018239308878999769968939079748738469989328249319148169839279999928599129938408388558398289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875970978981989948811936938844812906969881884929892961850808994915904831937939877997810843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985820975964851980947866946829905 8088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218098549018239308878999769968939079748738469989328249319148169839279999928599129938408388558398289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875970978981989948811936938844812906969881884929892961850994915904831937939877997810843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985820975964851980947866946829905 8098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549018239308878999769968939079748738469989328249319148169839279999928599129938408388558398289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875970978981989948811936938844812906969881884929892961850994915904831937939877997810843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985820975964851980947866946829905 8108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549018239308878999769968939079748738469989328249319148169839279999928599129938408388558398289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875970978981989948811936938844812906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985820975964851980947866946829905 8118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549018239308878999769968939079748738469989328249319148169839279999928599129938408388558398289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875970978981989948936938844812906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985820975964851980947866946829905 8128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549018239308878999769968939079748738469989328249319148169839279999928599129938408388558398289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933813875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985820975964851980947866946829905 8138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549018239308878999769968939079748738469989328249319148169839279999928599129938408388558398289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886814888819921825835917889942918965909956925890991863954910977935821826933875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985820975964851980947866946829905 8148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549018239308878999769968939079748738469989328249319148169839279999928599129938408388558398289638568368918608159958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886888819921825835917889942918965909956925890991863954910977935821826933875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985820975964851980947866946829905 8158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549018239308878999769968939079748738469989328249319148169839279999928599129938408388558398289638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886888819921825835917889942918965909956925890991863954910977935821826933875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985820975964851980947866946829905 8168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549018239308878999769968939079748738469989328249319149839279999928599129938408388558398289638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988817841987952882896902959868871944900949879822818827883986979886888819921825835917889942918965909956925890991863954910977935821826933875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985820975964851980947866946829905 8178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549018239308878999769968939079748738469989328249319149839279999928599129938408388558398289638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988841987952882896902959868871944900949879822818827883986979886888819921825835917889942918965909956925890991863954910977935821826933875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985820975964851980947866946829905 8188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549018239308878999769968939079748738469989328249319149839279999928599129938408388558398289638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988841987952882896902959868871944900949879822827883986979886888819921825835917889942918965909956925890991863954910977935821826933875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985820975964851980947866946829905 8198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549018239308878999769968939079748738469989328249319149839279999928599129938408388558398289638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988841987952882896902959868871944900949879822827883986979886888921825835917889942918965909956925890991863954910977935821826933875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985820975964851980947866946829905 8208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549018239308878999769968939079748738469989328249319149839279999928599129938408388558398289638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988841987952882896902959868871944900949879822827883986979886888921825835917889942918965909956925890991863954910977935821826933875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985975964851980947866946829905 8218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549018239308878999769968939079748738469989328249319149839279999928599129938408388558398289638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988841987952882896902959868871944900949879822827883986979886888921825835917889942918965909956925890991863954910977935826933875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985975964851980947866946829905 8228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549018239308878999769968939079748738469989328249319149839279999928599129938408388558398289638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988841987952882896902959868871944900949879827883986979886888921825835917889942918965909956925890991863954910977935826933875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985975964851980947866946829905 8238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989328249319149839279999928599129938408388558398289638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988841987952882896902959868871944900949879827883986979886888921825835917889942918965909956925890991863954910977935826933875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985975964851980947866946829905 8248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938408388558398289638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988841987952882896902959868871944900949879827883986979886888921825835917889942918965909956925890991863954910977935826933875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985975964851980947866946829905 8258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938408388558398289638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988841987952882896902959868871944900949879827883986979886888921835917889942918965909956925890991863954910977935826933875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985975964851980947866946829905 8268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938408388558398289638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988841987952882896902959868871944900949879827883986979886888921835917889942918965909956925890991863954910977935933875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985975964851980947866946829905 8278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938408388558398289638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988841987952882896902959868871944900949879883986979886888921835917889942918965909956925890991863954910977935933875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985975964851980947866946829905 8288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938408388558399638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988841987952882896902959868871944900949879883986979886888921835917889942918965909956925890991863954910977935933875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985975964851980947866946829905 8298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938408388558399638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988841987952882896902959868871944900949879883986979886888921835917889942918965909956925890991863954910977935933875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849830861945966867845895990958834911919957972923943940833853985975964851980947866946905 8308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938408388558399638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988841987952882896902959868871944900949879883986979886888921835917889942918965909956925890991863954910977935933875970978981989948936938844906969881884929892961850994915904831937939877997843950894908874926862847885849861945966867845895990958834911919957972923943940833853985975964851980947866946905 8318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938408388558399638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870832941924865913857880869928848967898955988841987952882896902959868871944900949879883986979886888921835917889942918965909956925890991863954910977935933875970978981989948936938844906969881884929892961850994915904937939877997843950894908874926862847885849861945966867845895990958834911919957972923943940833853985975964851980947866946905 8328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938408388558399638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870941924865913857880869928848967898955988841987952882896902959868871944900949879883986979886888921835917889942918965909956925890991863954910977935933875970978981989948936938844906969881884929892961850994915904937939877997843950894908874926862847885849861945966867845895990958834911919957972923943940833853985975964851980947866946905 8338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938408388558399638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870941924865913857880869928848967898955988841987952882896902959868871944900949879883986979886888921835917889942918965909956925890991863954910977935933875970978981989948936938844906969881884929892961850994915904937939877997843950894908874926862847885849861945966867845895990958834911919957972923943940853985975964851980947866946905 8348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938408388558399638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870941924865913857880869928848967898955988841987952882896902959868871944900949879883986979886888921835917889942918965909956925890991863954910977935933875970978981989948936938844906969881884929892961850994915904937939877997843950894908874926862847885849861945966867845895990958911919957972923943940853985975964851980947866946905 8358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938408388558399638568368918609958761000982837916864842968903984872934960858920922878852973971953951962897870941924865913857880869928848967898955988841987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938844906969881884929892961850994915904937939877997843950894908874926862847885849861945966867845895990958911919957972923943940853985975964851980947866946905 8368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938408388558399638568918609958761000982837916864842968903984872934960858920922878852973971953951962897870941924865913857880869928848967898955988841987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938844906969881884929892961850994915904937939877997843950894908874926862847885849861945966867845895990958911919957972923943940853985975964851980947866946905 8378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938408388558399638568918609958761000982916864842968903984872934960858920922878852973971953951962897870941924865913857880869928848967898955988841987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938844906969881884929892961850994915904937939877997843950894908874926862847885849861945966867845895990958911919957972923943940853985975964851980947866946905 8388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938408558399638568918609958761000982916864842968903984872934960858920922878852973971953951962897870941924865913857880869928848967898955988841987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938844906969881884929892961850994915904937939877997843950894908874926862847885849861945966867845895990958911919957972923943940853985975964851980947866946905 8398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938408559638568918609958761000982916864842968903984872934960858920922878852973971953951962897870941924865913857880869928848967898955988841987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938844906969881884929892961850994915904937939877997843950894908874926862847885849861945966867845895990958911919957972923943940853985975964851980947866946905 8408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938559638568918609958761000982916864842968903984872934960858920922878852973971953951962897870941924865913857880869928848967898955988841987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938844906969881884929892961850994915904937939877997843950894908874926862847885849861945966867845895990958911919957972923943940853985975964851980947866946905 8418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938559638568918609958761000982916864842968903984872934960858920922878852973971953951962897870941924865913857880869928848967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938844906969881884929892961850994915904937939877997843950894908874926862847885849861945966867845895990958911919957972923943940853985975964851980947866946905 8428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938559638568918609958761000982916864968903984872934960858920922878852973971953951962897870941924865913857880869928848967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938844906969881884929892961850994915904937939877997843950894908874926862847885849861945966867845895990958911919957972923943940853985975964851980947866946905 8438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938559638568918609958761000982916864968903984872934960858920922878852973971953951962897870941924865913857880869928848967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938844906969881884929892961850994915904937939877997950894908874926862847885849861945966867845895990958911919957972923943940853985975964851980947866946905 8448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938559638568918609958761000982916864968903984872934960858920922878852973971953951962897870941924865913857880869928848967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961850994915904937939877997950894908874926862847885849861945966867845895990958911919957972923943940853985975964851980947866946905 8458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748738469989329319149839279999928599129938559638568918609958761000982916864968903984872934960858920922878852973971953951962897870941924865913857880869928848967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961850994915904937939877997950894908874926862847885849861945966867895990958911919957972923943940853985975964851980947866946905 8468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748739989329319149839279999928599129938559638568918609958761000982916864968903984872934960858920922878852973971953951962897870941924865913857880869928848967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961850994915904937939877997950894908874926862847885849861945966867895990958911919957972923943940853985975964851980947866946905 8478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748739989329319149839279999928599129938559638568918609958761000982916864968903984872934960858920922878852973971953951962897870941924865913857880869928848967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961850994915904937939877997950894908874926862885849861945966867895990958911919957972923943940853985975964851980947866946905 8488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748739989329319149839279999928599129938559638568918609958761000982916864968903984872934960858920922878852973971953951962897870941924865913857880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961850994915904937939877997950894908874926862885849861945966867895990958911919957972923943940853985975964851980947866946905 8498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748739989329319149839279999928599129938559638568918609958761000982916864968903984872934960858920922878852973971953951962897870941924865913857880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961850994915904937939877997950894908874926862885861945966867895990958911919957972923943940853985975964851980947866946905 8508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748739989329319149839279999928599129938559638568918609958761000982916864968903984872934960858920922878852973971953951962897870941924865913857880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926862885861945966867895990958911919957972923943940853985975964851980947866946905 8518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748739989329319149839279999928599129938559638568918609958761000982916864968903984872934960858920922878852973971953951962897870941924865913857880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926862885861945966867895990958911919957972923943940853985975964980947866946905 8528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748739989329319149839279999928599129938559638568918609958761000982916864968903984872934960858920922878973971953951962897870941924865913857880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926862885861945966867895990958911919957972923943940853985975964980947866946905 8538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543218549019308878999769968939079748739989329319149839279999928599129938559638568918609958761000982916864968903984872934960858920922878973971953951962897870941924865913857880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926862885861945966867895990958911919957972923943940985975964980947866946905 8548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999928599129938559638568918609958761000982916864968903984872934960858920922878973971953951962897870941924865913857880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926862885861945966867895990958911919957972923943940985975964980947866946905 8558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999928599129939638568918609958761000982916864968903984872934960858920922878973971953951962897870941924865913857880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926862885861945966867895990958911919957972923943940985975964980947866946905 8568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999928599129939638918609958761000982916864968903984872934960858920922878973971953951962897870941924865913857880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926862885861945966867895990958911919957972923943940985975964980947866946905 8578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999928599129939638918609958761000982916864968903984872934960858920922878973971953951962897870941924865913880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926862885861945966867895990958911919957972923943940985975964980947866946905 8588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999928599129939638918609958761000982916864968903984872934960920922878973971953951962897870941924865913880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926862885861945966867895990958911919957972923943940985975964980947866946905 8598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999929129939638918609958761000982916864968903984872934960920922878973971953951962897870941924865913880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926862885861945966867895990958911919957972923943940985975964980947866946905 8608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999929129939638919958761000982916864968903984872934960920922878973971953951962897870941924865913880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926862885861945966867895990958911919957972923943940985975964980947866946905 8618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999929129939638919958761000982916864968903984872934960920922878973971953951962897870941924865913880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926862885945966867895990958911919957972923943940985975964980947866946905 8628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999929129939638919958761000982916864968903984872934960920922878973971953951962897870941924865913880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991863954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926885945966867895990958911919957972923943940985975964980947866946905 8638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999929129939638919958761000982916864968903984872934960920922878973971953951962897870941924865913880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926885945966867895990958911919957972923943940985975964980947866946905 8648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999929129939638919958761000982916968903984872934960920922878973971953951962897870941924865913880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926885945966867895990958911919957972923943940985975964980947866946905 8658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999929129939638919958761000982916968903984872934960920922878973971953951962897870941924913880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926885945966867895990958911919957972923943940985975964980947866946905 8668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999929129939638919958761000982916968903984872934960920922878973971953951962897870941924913880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926885945966867895990958911919957972923943940985975964980947946905 8678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999929129939638919958761000982916968903984872934960920922878973971953951962897870941924913880869928967898955988987952882896902959868871944900949879883986979886888921917889942918965909956925890991954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926885945966895990958911919957972923943940985975964980947946905 8688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999929129939638919958761000982916968903984872934960920922878973971953951962897870941924913880869928967898955988987952882896902959871944900949879883986979886888921917889942918965909956925890991954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926885945966895990958911919957972923943940985975964980947946905 8698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999929129939638919958761000982916968903984872934960920922878973971953951962897870941924913880928967898955988987952882896902959871944900949879883986979886888921917889942918965909956925890991954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926885945966895990958911919957972923943940985975964980947946905 8708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999929129939638919958761000982916968903984872934960920922878973971953951962897941924913880928967898955988987952882896902959871944900949879883986979886888921917889942918965909956925890991954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926885945966895990958911919957972923943940985975964980947946905 8718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999929129939638919958761000982916968903984872934960920922878973971953951962897941924913880928967898955988987952882896902959944900949879883986979886888921917889942918965909956925890991954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926885945966895990958911919957972923943940985975964980947946905 8728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079748739989329319149839279999929129939638919958761000982916968903984934960920922878973971953951962897941924913880928967898955988987952882896902959944900949879883986979886888921917889942918965909956925890991954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926885945966895990958911919957972923943940985975964980947946905 8738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079749989329319149839279999929129939638919958761000982916968903984934960920922878973971953951962897941924913880928967898955988987952882896902959944900949879883986979886888921917889942918965909956925890991954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908874926885945966895990958911919957972923943940985975964980947946905 8748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079749989329319149839279999929129939638919958761000982916968903984934960920922878973971953951962897941924913880928967898955988987952882896902959944900949879883986979886888921917889942918965909956925890991954910977935933875970978981989948936938906969881884929892961994915904937939877997950894908926885945966895990958911919957972923943940985975964980947946905 8758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079749989329319149839279999929129939638919958761000982916968903984934960920922878973971953951962897941924913880928967898955988987952882896902959944900949879883986979886888921917889942918965909956925890991954910977935933970978981989948936938906969881884929892961994915904937939877997950894908926885945966895990958911919957972923943940985975964980947946905 8768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079749989329319149839279999929129939638919951000982916968903984934960920922878973971953951962897941924913880928967898955988987952882896902959944900949879883986979886888921917889942918965909956925890991954910977935933970978981989948936938906969881884929892961994915904937939877997950894908926885945966895990958911919957972923943940985975964980947946905 8778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079749989329319149839279999929129939638919951000982916968903984934960920922878973971953951962897941924913880928967898955988987952882896902959944900949879883986979886888921917889942918965909956925890991954910977935933970978981989948936938906969881884929892961994915904937939997950894908926885945966895990958911919957972923943940985975964980947946905 8788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079749989329319149839279999929129939638919951000982916968903984934960920922973971953951962897941924913880928967898955988987952882896902959944900949879883986979886888921917889942918965909956925890991954910977935933970978981989948936938906969881884929892961994915904937939997950894908926885945966895990958911919957972923943940985975964980947946905 8798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079749989329319149839279999929129939638919951000982916968903984934960920922973971953951962897941924913880928967898955988987952882896902959944900949883986979886888921917889942918965909956925890991954910977935933970978981989948936938906969881884929892961994915904937939997950894908926885945966895990958911919957972923943940985975964980947946905 8808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079749989329319149839279999929129939638919951000982916968903984934960920922973971953951962897941924913928967898955988987952882896902959944900949883986979886888921917889942918965909956925890991954910977935933970978981989948936938906969881884929892961994915904937939997950894908926885945966895990958911919957972923943940985975964980947946905 8818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079749989329319149839279999929129939638919951000982916968903984934960920922973971953951962897941924913928967898955988987952882896902959944900949883986979886888921917889942918965909956925890991954910977935933970978981989948936938906969884929892961994915904937939997950894908926885945966895990958911919957972923943940985975964980947946905 8828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079749989329319149839279999929129939638919951000982916968903984934960920922973971953951962897941924913928967898955988987952896902959944900949883986979886888921917889942918965909956925890991954910977935933970978981989948936938906969884929892961994915904937939997950894908926885945966895990958911919957972923943940985975964980947946905 8838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079749989329319149839279999929129939638919951000982916968903984934960920922973971953951962897941924913928967898955988987952896902959944900949986979886888921917889942918965909956925890991954910977935933970978981989948936938906969884929892961994915904937939997950894908926885945966895990958911919957972923943940985975964980947946905 8848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079749989329319149839279999929129939638919951000982916968903984934960920922973971953951962897941924913928967898955988987952896902959944900949986979886888921917889942918965909956925890991954910977935933970978981989948936938906969929892961994915904937939997950894908926885945966895990958911919957972923943940985975964980947946905 8858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079749989329319149839279999929129939638919951000982916968903984934960920922973971953951962897941924913928967898955988987952896902959944900949986979886888921917889942918965909956925890991954910977935933970978981989948936938906969929892961994915904937939997950894908926945966895990958911919957972923943940985975964980947946905 8868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308878999769968939079749989329319149839279999929129939638919951000982916968903984934960920922973971953951962897941924913928967898955988987952896902959944900949986979888921917889942918965909956925890991954910977935933970978981989948936938906969929892961994915904937939997950894908926945966895990958911919957972923943940985975964980947946905 8878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308999769968939079749989329319149839279999929129939638919951000982916968903984934960920922973971953951962897941924913928967898955988987952896902959944900949986979888921917889942918965909956925890991954910977935933970978981989948936938906969929892961994915904937939997950894908926945966895990958911919957972923943940985975964980947946905 8888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308999769968939079749989329319149839279999929129939638919951000982916968903984934960920922973971953951962897941924913928967898955988987952896902959944900949986979921917889942918965909956925890991954910977935933970978981989948936938906969929892961994915904937939997950894908926945966895990958911919957972923943940985975964980947946905 8898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308999769968939079749989329319149839279999929129939638919951000982916968903984934960920922973971953951962897941924913928967898955988987952896902959944900949986979921917942918965909956925890991954910977935933970978981989948936938906969929892961994915904937939997950894908926945966895990958911919957972923943940985975964980947946905 8908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308999769968939079749989329319149839279999929129939638919951000982916968903984934960920922973971953951962897941924913928967898955988987952896902959944900949986979921917942918965909956925991954910977935933970978981989948936938906969929892961994915904937939997950894908926945966895990958911919957972923943940985975964980947946905 8918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308999769968939079749989329319149839279999929129939639951000982916968903984934960920922973971953951962897941924913928967898955988987952896902959944900949986979921917942918965909956925991954910977935933970978981989948936938906969929892961994915904937939997950894908926945966895990958911919957972923943940985975964980947946905 8928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308999769968939079749989329319149839279999929129939639951000982916968903984934960920922973971953951962897941924913928967898955988987952896902959944900949986979921917942918965909956925991954910977935933970978981989948936938906969929961994915904937939997950894908926945966895990958911919957972923943940985975964980947946905 8938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308999769969079749989329319149839279999929129939639951000982916968903984934960920922973971953951962897941924913928967898955988987952896902959944900949986979921917942918965909956925991954910977935933970978981989948936938906969929961994915904937939997950894908926945966895990958911919957972923943940985975964980947946905 8948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308999769969079749989329319149839279999929129939639951000982916968903984934960920922973971953951962897941924913928967898955988987952896902959944900949986979921917942918965909956925991954910977935933970978981989948936938906969929961994915904937939997950908926945966895990958911919957972923943940985975964980947946905 8958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308999769969079749989329319149839279999929129939639951000982916968903984934960920922973971953951962897941924913928967898955988987952896902959944900949986979921917942918965909956925991954910977935933970978981989948936938906969929961994915904937939997950908926945966990958911919957972923943940985975964980947946905 8968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308999769969079749989329319149839279999929129939639951000982916968903984934960920922973971953951962897941924913928967898955988987952902959944900949986979921917942918965909956925991954910977935933970978981989948936938906969929961994915904937939997950908926945966990958911919957972923943940985975964980947946905 8978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308999769969079749989329319149839279999929129939639951000982916968903984934960920922973971953951962941924913928967898955988987952902959944900949986979921917942918965909956925991954910977935933970978981989948936938906969929961994915904937939997950908926945966990958911919957972923943940985975964980947946905 8988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019308999769969079749989329319149839279999929129939639951000982916968903984934960920922973971953951962941924913928967955988987952902959944900949986979921917942918965909956925991954910977935933970978981989948936938906969929961994915904937939997950908926945966990958911919957972923943940985975964980947946905 8998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019309769969079749989329319149839279999929129939639951000982916968903984934960920922973971953951962941924913928967955988987952902959944900949986979921917942918965909956925991954910977935933970978981989948936938906969929961994915904937939997950908926945966990958911919957972923943940985975964980947946905 9008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219019309769969079749989329319149839279999929129939639951000982916968903984934960920922973971953951962941924913928967955988987952902959944949986979921917942918965909956925991954910977935933970978981989948936938906969929961994915904937939997950908926945966990958911919957972923943940985975964980947946905 9019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969079749989329319149839279999929129939639951000982916968903984934960920922973971953951962941924913928967955988987952902959944949986979921917942918965909956925991954910977935933970978981989948936938906969929961994915904937939997950908926945966990958911919957972923943940985975964980947946905 9029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969079749989329319149839279999929129939639951000982916968903984934960920922973971953951962941924913928967955988987952959944949986979921917942918965909956925991954910977935933970978981989948936938906969929961994915904937939997950908926945966990958911919957972923943940985975964980947946905 9039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969079749989329319149839279999929129939639951000982916968984934960920922973971953951962941924913928967955988987952959944949986979921917942918965909956925991954910977935933970978981989948936938906969929961994915904937939997950908926945966990958911919957972923943940985975964980947946905 9049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969079749989329319149839279999929129939639951000982916968984934960920922973971953951962941924913928967955988987952959944949986979921917942918965909956925991954910977935933970978981989948936938906969929961994915937939997950908926945966990958911919957972923943940985975964980947946905 9059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969079749989329319149839279999929129939639951000982916968984934960920922973971953951962941924913928967955988987952959944949986979921917942918965909956925991954910977935933970978981989948936938906969929961994915937939997950908926945966990958911919957972923943940985975964980947946 9069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969079749989329319149839279999929129939639951000982916968984934960920922973971953951962941924913928967955988987952959944949986979921917942918965909956925991954910977935933970978981989948936938969929961994915937939997950908926945966990958911919957972923943940985975964980947946 9079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319149839279999929129939639951000982916968984934960920922973971953951962941924913928967955988987952959944949986979921917942918965909956925991954910977935933970978981989948936938969929961994915937939997950908926945966990958911919957972923943940985975964980947946 9089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319149839279999929129939639951000982916968984934960920922973971953951962941924913928967955988987952959944949986979921917942918965909956925991954910977935933970978981989948936938969929961994915937939997950926945966990958911919957972923943940985975964980947946 9099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319149839279999929129939639951000982916968984934960920922973971953951962941924913928967955988987952959944949986979921917942918965956925991954910977935933970978981989948936938969929961994915937939997950926945966990958911919957972923943940985975964980947946 9109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319149839279999929129939639951000982916968984934960920922973971953951962941924913928967955988987952959944949986979921917942918965956925991954977935933970978981989948936938969929961994915937939997950926945966990958911919957972923943940985975964980947946 9119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319149839279999929129939639951000982916968984934960920922973971953951962941924913928967955988987952959944949986979921917942918965956925991954977935933970978981989948936938969929961994915937939997950926945966990958919957972923943940985975964980947946 9129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319149839279999929939639951000982916968984934960920922973971953951962941924913928967955988987952959944949986979921917942918965956925991954977935933970978981989948936938969929961994915937939997950926945966990958919957972923943940985975964980947946 9139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319149839279999929939639951000982916968984934960920922973971953951962941924928967955988987952959944949986979921917942918965956925991954977935933970978981989948936938969929961994915937939997950926945966990958919957972923943940985975964980947946 9149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319839279999929939639951000982916968984934960920922973971953951962941924928967955988987952959944949986979921917942918965956925991954977935933970978981989948936938969929961994915937939997950926945966990958919957972923943940985975964980947946 9159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319839279999929939639951000982916968984934960920922973971953951962941924928967955988987952959944949986979921917942918965956925991954977935933970978981989948936938969929961994937939997950926945966990958919957972923943940985975964980947946 9169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319839279999929939639951000982968984934960920922973971953951962941924928967955988987952959944949986979921917942918965956925991954977935933970978981989948936938969929961994937939997950926945966990958919957972923943940985975964980947946 9179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319839279999929939639951000982968984934960920922973971953951962941924928967955988987952959944949986979921942918965956925991954977935933970978981989948936938969929961994937939997950926945966990958919957972923943940985975964980947946 9189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319839279999929939639951000982968984934960920922973971953951962941924928967955988987952959944949986979921942965956925991954977935933970978981989948936938969929961994937939997950926945966990958919957972923943940985975964980947946 9199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319839279999929939639951000982968984934960920922973971953951962941924928967955988987952959944949986979921942965956925991954977935933970978981989948936938969929961994937939997950926945966990958957972923943940985975964980947946 9209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319839279999929939639951000982968984934960922973971953951962941924928967955988987952959944949986979921942965956925991954977935933970978981989948936938969929961994937939997950926945966990958957972923943940985975964980947946 9219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319839279999929939639951000982968984934960922973971953951962941924928967955988987952959944949986979942965956925991954977935933970978981989948936938969929961994937939997950926945966990958957972923943940985975964980947946 9229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319839279999929939639951000982968984934960973971953951962941924928967955988987952959944949986979942965956925991954977935933970978981989948936938969929961994937939997950926945966990958957972923943940985975964980947946 9239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319839279999929939639951000982968984934960973971953951962941924928967955988987952959944949986979942965956925991954977935933970978981989948936938969929961994937939997950926945966990958957972943940985975964980947946 9249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319839279999929939639951000982968984934960973971953951962941928967955988987952959944949986979942965956925991954977935933970978981989948936938969929961994937939997950926945966990958957972943940985975964980947946 9259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319839279999929939639951000982968984934960973971953951962941928967955988987952959944949986979942965956991954977935933970978981989948936938969929961994937939997950926945966990958957972943940985975964980947946 9269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319839279999929939639951000982968984934960973971953951962941928967955988987952959944949986979942965956991954977935933970978981989948936938969929961994937939997950945966990958957972943940985975964980947946 9279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319839999929939639951000982968984934960973971953951962941928967955988987952959944949986979942965956991954977935933970978981989948936938969929961994937939997950945966990958957972943940985975964980947946 9289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319839999929939639951000982968984934960973971953951962941967955988987952959944949986979942965956991954977935933970978981989948936938969929961994937939997950945966990958957972943940985975964980947946 9299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219309769969749989329319839999929939639951000982968984934960973971953951962941967955988987952959944949986979942965956991954977935933970978981989948936938969961994937939997950945966990958957972943940985975964980947946 9309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989329319839999929939639951000982968984934960973971953951962941967955988987952959944949986979942965956991954977935933970978981989948936938969961994937939997950945966990958957972943940985975964980947946 9319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989329839999929939639951000982968984934960973971953951962941967955988987952959944949986979942965956991954977935933970978981989948936938969961994937939997950945966990958957972943940985975964980947946 9329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984934960973971953951962941967955988987952959944949986979942965956991954977935933970978981989948936938969961994937939997950945966990958957972943940985975964980947946 9339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984934960973971953951962941967955988987952959944949986979942965956991954977935970978981989948936938969961994937939997950945966990958957972943940985975964980947946 9349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953951962941967955988987952959944949986979942965956991954977935970978981989948936938969961994937939997950945966990958957972943940985975964980947946 9359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953951962941967955988987952959944949986979942965956991954977970978981989948936938969961994937939997950945966990958957972943940985975964980947946 9369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953951962941967955988987952959944949986979942965956991954977970978981989948938969961994937939997950945966990958957972943940985975964980947946 9379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953951962941967955988987952959944949986979942965956991954977970978981989948938969961994939997950945966990958957972943940985975964980947946 9389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953951962941967955988987952959944949986979942965956991954977970978981989948969961994939997950945966990958957972943940985975964980947946 9399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953951962941967955988987952959944949986979942965956991954977970978981989948969961994997950945966990958957972943940985975964980947946 9409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953951962941967955988987952959944949986979942965956991954977970978981989948969961994997950945966990958957972943985975964980947946 9419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953951962967955988987952959944949986979942965956991954977970978981989948969961994997950945966990958957972943985975964980947946 9429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953951962967955988987952959944949986979965956991954977970978981989948969961994997950945966990958957972943985975964980947946 9439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953951962967955988987952959944949986979965956991954977970978981989948969961994997950945966990958957972985975964980947946 9449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953951962967955988987952959949986979965956991954977970978981989948969961994997950945966990958957972985975964980947946 9459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953951962967955988987952959949986979965956991954977970978981989948969961994997950966990958957972985975964980947946 9469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953951962967955988987952959949986979965956991954977970978981989948969961994997950966990958957972985975964980947 9479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953951962967955988987952959949986979965956991954977970978981989948969961994997950966990958957972985975964980 9489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953951962967955988987952959949986979965956991954977970978981989969961994997950966990958957972985975964980 9499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953951962967955988987952959986979965956991954977970978981989969961994997950966990958957972985975964980 9509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953951962967955988987952959986979965956991954977970978981989969961994997966990958957972985975964980 9519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953962967955988987952959986979965956991954977970978981989969961994997966990958957972985975964980 9529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971953962967955988987959986979965956991954977970978981989969961994997966990958957972985975964980 9539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971962967955988987959986979965956991954977970978981989969961994997966990958957972985975964980 9549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971962967955988987959986979965956991977970978981989969961994997966990958957972985975964980 9559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971962967988987959986979965956991977970978981989969961994997966990958957972985975964980 9569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971962967988987959986979965991977970978981989969961994997966990958957972985975964980 9579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971962967988987959986979965991977970978981989969961994997966990958972985975964980 9589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971962967988987959986979965991977970978981989969961994997966990972985975964980 9599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984960973971962967988987986979965991977970978981989969961994997966990972985975964980 9609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984973971962967988987986979965991977970978981989969961994997966990972985975964980 9619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984973971962967988987986979965991977970978981989969994997966990972985975964980 9629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939639951000982968984973971967988987986979965991977970978981989969994997966990972985975964980 9639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939951000982968984973971967988987986979965991977970978981989969994997966990972985975964980 9649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939951000982968984973971967988987986979965991977970978981989969994997966990972985975980 9659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939951000982968984973971967988987986979991977970978981989969994997966990972985975980 9669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939951000982968984973971967988987986979991977970978981989969994997990972985975980 9679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939951000982968984973971988987986979991977970978981989969994997990972985975980 9689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939951000982984973971988987986979991977970978981989969994997990972985975980 9699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939951000982984973971988987986979991977970978981989994997990972985975980 9709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939951000982984973971988987986979991977978981989994997990972985975980 9719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939951000982984973988987986979991977978981989994997990972985975980 9729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939951000982984973988987986979991977978981989994997990985975980 9739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969749989839999929939951000982984988987986979991977978981989994997990985975980 9749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969989839999929939951000982984988987986979991977978981989994997990985975980 9759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219769969989839999929939951000982984988987986979991977978981989994997990985980 9769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989839999929939951000982984988987986979991977978981989994997990985980 9779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989839999929939951000982984988987986979991978981989994997990985980 9789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989839999929939951000982984988987986979991981989994997990985980 9799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989839999929939951000982984988987986991981989994997990985980 9809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989839999929939951000982984988987986991981989994997990985 9819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989839999929939951000982984988987986991989994997990985 9829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989839999929939951000984988987986991989994997990985 9839829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989999929939951000984988987986991989994997990985 9849839829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989999929939951000988987986991989994997990985 9859849839829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989999929939951000988987986991989994997990 9869859849839829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989999929939951000988987991989994997990 9879869859849839829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989999929939951000988991989994997990 9889879869859849839829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989999929939951000991989994997990 9899889879869859849839829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989999929939951000991994997990 9909899889879869859849839829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989999929939951000991994997 9919909899889879869859849839829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989999929939951000994997 9929919909899889879869859849839829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989999939951000994997 9939929919909899889879869859849839829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989999951000994997 9949939929919909899889879869859849839829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989999951000997 9959949939929919909899889879869859849839829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219969989991000997 9969959949939929919909899889879869859849839829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219989991000997 9979969959949939929919909899889879869859849839829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219989991000 9989979969959949939929919909899889879869859849839829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543219991000 9999989979969959949939929919909899889879869859849839829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543211000 1998 207 80 81 712 713 491 492 187 188 997 998 670 671 427 428 471 472 76 77 216 217 443 444 308 309 397 398 408 409 554 555 674 675 427 428 596 597 942 943 241 242 823 824 504 505 199 200 427 428 988 989 519 520 609 610 579 580 912 913 178 179 950 951 457 458 471 472 724 725 326 327 204 205 119 120 669 670 432 433 235 236 853 854 707 708 663 664 371 372 598 599 873 874 974 975 81 82 119 120 377 378 868 869 859 860 942 943 962 963 647 648 103 104 937 938 511 512 330 331 734 735 408 409 207 208 451 452 478 479 835 836 847 848 318 319 294 295 403 404 271 272 211 212 895 896 475 476 821 822 291 292 991 992 526 527 132 133 376 377 401 402 765 766 153 154 291 292 318 319 628 629 327 328 644 645 954 955 452 453 471 472 275 276 425 426 409 410 150 151 416 417 687 688 798 799 540 541 148 149 462 463 354 355 620 621 936 937 795 796 514 515 458 459 778 779 701 702 150 151 198 199 923 924 346 347 434 435 973 974 984 985 165 166 868 869 614 615 846 847 734 735 677 678 657 658 493 494 484 485 795 796 194 195 558 559 367 368 454 455 315 316 156 157 311 312 705 706 551 552 296 297 429 430 591 592 789 790 190 191 421 422 907 908 704 705 907 908 552 553 614 615 479 480 438 439 973 974 730 731 971 972 938 939 731 732 512 513 334 335 510 511 792 793 399 400 980 981 227 228 660 661 740 741 773 774 308 309 774 775 325 326 835 836 393 394 633 634 980 981 864 865 760 761 464 465 477 478 280 281 271 272 498 499 343 344 885 886 581 582 340 341 407 408 773 774 636 637 974 975 671 672 820 821 960 961 570 571 759 760 600 601 602 603 316 317 598 599 744 745 727 728 526 527 690 691 689 690 844 845 204 205 398 399 845 846 655 656 602 603 292 293 379 380 295 296 291 292 423 424 222 223 385 386 612 613 795 796 773 774 869 870 503 504 983 984 912 913 560 561 922 923 376 377 897 898 270 271 967 968 812 813 523 524 484 485 598 599 743 744 591 592 399 400 637 638 741 742 794 795 765 766 467 468 348 349 740 741 619 620 852 853 646 647 537 538 480 481 386 387 274 275 537 538 443 444 324 325 485 486 876 877 433 434 491 492 914 915 844 845 820 821 743 744 924 925 859 860 697 698 283 284 570 571 709 710 521 522 791 792 303 304 712 713 632 633 780 781 862 863 315 316 634 635 711 712 922 923 947 948 347 348 477 478 612 613 328 329 568 569 803 804 659 660 600 601 860 861 820 821 682 683 384 385 991 992 750 751 513 514 485 486 713 714 846 847 917 918 432 433 393 394 588 589 552 553 777 778 760 761 929 930 500 501 871 872 714 715 503 504 798 799 320 321 842 843 452 453 958 959 589 590 314 315 822 823 820 821 870 871 661 662 508 509 954 955 705 706 783 784 546 547 876 877 760 761 357 358 473 474 464 465 543 544 766 767 463 464 849 850 803 804 971 972 713 714 865 866 462 463 341 342 337 338 528 529 472 473 593 594 892 893 884 885 678 679 419 420 743 744 605 606 760 761 417 418 680 681 363 364 581 582 386 387 604 605 647 648 626 627 501 502 542 543 776 777 435 436 692 693 666 667 907 908 827 828 884 885 812 813 551 552 417 418 546 547 939 940 466 467 842 843 721 722 803 804 399 400 457 458 551 552 424 425 882 883 402 403 460 461 723 724 403 404 652 653 716 717 615 616 903 904 608 609 546 547 503 504 808 809 704 705 669 670 652 653 916 917 725 726 586 587 443 444 918 919 706 707 980 981 589 590 779 780 879 880 856 857 605 606 964 965 721 722 756 757 603 604 505 506 612 613 801 802 586 587 438 439 593 594 506 507 968 969 955 956 592 593 689 690 767 768 639 640 492 493 612 613 941 942 851 852 672 673 558 559 611 612 432 433 528 529 577 578 964 965 896 897 978 979 829 830 660 661 625 626 613 614 975 976 848 849 994 995 886 887 535 536 897 898 829 830 728 729 702 703 783 784 981 982 584 585 646 647 578 579 942 943 548 549 805 806 819 820 736 737 557 558 902 903 638 639 465 466 925 926 655 656 607 608 944 945 522 523 712 713 719 720 722 723 621 622 965 966 739 740 480 481 474 475 696 697 858 859 865 866 969 970 864 865 794 795 750 751 571 572 552 553 913 914 605 606 556 557 630 631 721 722 626 627 650 651 557 558 958 959 584 585 587 588 863 864 833 834 514 515 689 690 533 534 802 803 954 955 735 736 855 856 698 699 663 664 792 793 927 928 637 638 776 777 775 776 754 755 760 761 840 841 770 771 666 667 574 575 679 680 921 922 911 912 627 628 843 844 970 971 893 894 815 816 947 948 780 781 919 920 716 717 671 672 748 749 558 559 692 693 543 544 670 671 985 986 552 553 963 964 843 844 919 920 696 697 745 746 547 548 937 938 807 808 717 718 823 824 902 903 656 657 655 656 915 916 976 977 896 897 705 706 843 844 588 589 736 737 902 903 894 895 746 747 891 892 805 806 987 988 996 997 612 613 694 695 595 596 920 921 586 587 884 885 916 917 601 602 752 753 861 862 681 682 742 743 705 706 934 935 666 667 682 683 843 844 785 786 984 985 645 646 873 874 827 828 812 813 813 814 598 599 658 659 985 986 725 726 815 816 744 745 635 636 814 815 850 851 825 826 836 837 703 704 720 721 733 734 636 637 850 851 617 618 673 674 655 656 985 986 678 679 915 916 775 776 949 950 674 675 709 710 622 623 982 983 716 717 673 674 942 943 992 993 835 836 995 996 723 724 728 729 697 698 950 951 652 653 894 895 964 965 762 763 740 741 634 635 985 986 664 665 696 697 805 806 746 747 793 794 817 818 702 703 708 709 711 712 890 891 943 944 663 664 765 766 854 855 731 732 925 926 723 724 994 995 847 848 692 693 840 841 772 773 739 740 722 723 905 906 870 871 917 918 824 825 826 827 864 865 869 870 934 935 778 779 937 938 957 958 954 955 887 888 990 991 877 878 850 851 900 901 911 912 679 680 696 697 834 835 997 998 800 801 854 855 722 723 712 713 728 729 768 769 965 966 799 800 818 819 836 837 891 892 913 914 815 816 775 776 797 798 901 902 779 780 710 711 825 826 966 967 926 927 995 996 842 843 801 802 982 983 792 793 903 904 917 918 921 922 788 789 839 840 714 715 994 995 898 899 834 835 918 919 779 780 770 771 842 843 821 822 891 892 841 842 818 819 982 983 827 828 866 867 897 898 837 838 777 778 736 737 913 914 824 825 884 885 825 826 781 782 876 877 786 787 850 851 877 878 934 935 804 805 816 817 869 870 901 902 863 864 980 981 811 812 790 791 986 987 884 885 934 935 906 907 863 864 966 967 978 979 965 966 891 892 787 788 944 945 849 850 838 839 906 907 978 979 870 871 932 933 905 906 968 969 782 783 995 996 926 927 874 875 969 970 799 800 978 979 961 962 906 907 796 797 968 969 844 845 789 790 962 963 812 813 853 854 994 995 801 802 977 978 899 900 900 901 964 965 921 922 991 992 984 985 791 792 799 800 899 900 837 838 873 874 927 928 963 964 822 823 825 826 833 834 929 930 975 976 936 937 827 828 808 809 837 838 950 951 808 809 959 960 939 940 943 944 934 935 911 912 850 851 833 834 891 892 906 907 913 914 990 991 933 934 909 910 824 825 837 838 917 918 934 935 912 913 854 855 998 999 972 973 958 959 889 890 989 990 982 983 924 925 864 865 871 872 861 862 863 864 862 863 906 907 875 876 965 966 950 951 979 980 856 857 973 974 906 907 975 976 961 962 994 995 894 895 991 992 853 854 875 876 877 878 907 908 893 894 876 877 881 882 978 979 977 978 945 946 890 891 909 910 997 998 982 983 926 927 915 916 911 912 927 928 901 902 881 882 978 979 954 955 897 898 974 975 909 910 934 935 920 921 965 966 929 930 936 937 966 967 980 981 941 942 888 889 942 943 945 946 952 953 909 910 969 970 897 898 978 979 983 984 940 941 930 931 936 937 900 901 944 945 900 901 942 943 923 924 975 976 999 1000 971 972 909 910 981 982 957 958 962 963 987 988 923 924 943 944 920 921 978 979 931 932 957 958 959 960 988 989 939 940 959 960 941 942 991 992 949 950 964 965 985 986 934 935 952 953 979 980 929 930 935 936 935 936 971 972 947 948 971 972 977 978 982 983 979 980 983 984 993 994 960 961 971 972 993 994 969 970 988 989 999 1000 999 1000 985 986 974 975 990 991 968 969 974 975 969 970 981 982 973 974 980 981 994 995 994 995 979 980 973 974 990 991 977 978 970 971 998 999 984 985 994 995 981 982 978 979 992 993 989 990 983 984 996 997 984 985 975 976 998 999 975 976 991 992 992 993 991 992 999 1000 994 995 989 990 984 985 990 991 999 1000 994 995 994 995 994 995 996 997 999 1000 997 998 994 995 995 996 998 999 997 998 995 996 999 1000 997 998 998 999 999