215215215215215215215215215215215215215215216215215215215215215215215216215215215215215215215216216214214214214214214214215215214214214214214214214215215215214214214214214216216216216214214214214214216216216216214214214214214215215215215214214214214215215215215215213213213213214214214214214212212212214214214214214214212212212212212212212212212210210210210210210210210210208208209209209209209209209206206208208208208208208208204204205205205205205205205205201201201201201201201201201197197197197197197197197198193193193193193193193193193187187187187187187187186186180180180180180180180177177177173173173173173170170170170166166166166166164164164164161161161161160160160160160157157157157157157157157158158158158158158158158158155155155155155155155155155155155156156153153153153153153153155155151151151151151151151153153149149149149149149149149149149149145145145145145145145145145144144144144144144144144144144144144144146145145145145145145145147147146146146146146146147147147147147147146147147147147147147149149149149149149149152152152152153153156156156156156156156161161161161161161161161161161161162162162162162162169169164164164164164170170170170170170170175169169169169169169169177177177171171171171171171171181175175175175175175175175170180180180180180180180175175175184184184184179179179179179179179188183183183183183183183178178178178188188188188182182182182182182182177177186186186186186182182182182182182182178178186186186186186182182182182182182182177186186186186186186186181181181188188188188188182182182182188188188188188188182182187187187187187187187187192185185185185185185191191191191191191183190190190190190190190196196196196196189189189195195195195195195195200200200194194194194200200200200200200200204204200200200200200202202202202202202202198200200200200200200200201201201201201201198200200200200200200199199199199199199199198197197197197197197197197197197196196196196196194194194194194192192192191191191191191191191187185185185185185185185185182180180180180180180180178178178176176176176176175175175175175172172172173173173173173173173171173173173173173173173173176176176176176176176176180180180180180180180185185185185185185185189189189189189189192192192192194194194196196196196196196197197197197197197197197197197197197197197197199199199199199198198198198198198198198197197197197197197197196196196196196196196196195195195195195195195194194194194194194194194193193193193193193193193193192192192191191191191191190190190190190190190188188187187187187187184184184184184184180180180179179179179175175175175175175175170170170170170170170165165165165165165165165159160160160160160160154154154154154154147147147149149149149141141141141141141141134134134137137137137134134134134134134131131131131131139139137137137137137137137137137137137137137137143143143143143143144144144144144144144144138138136136136136136136129129129129129129129129125125125125125125125125125125122122122122122122122122122118118118118118118118118118118114112112112112112112112111111111110110110110110108108108108108107107107104104104104104104103103103103101101101101102102102102102102999910010010010010010010010010198989898989899999999999696969898989898989810097979797979797989898959595959596969696969693949494949494949496969292929292929494949494909092929292929292929090909090909092929292888888888989898989898985868686868686868687878484848484868686868686848486868686868686868888888888888889898989888888888888888888888887878787878787878686868585858585838383838383828281818181818181797878787878787876767676757575757373737373737370707070707070706868686868686866666666666666666666666666666666666666666667676767666666666667676766666666666666666666666666656565656565656464646464646464646464646363636364646363636363636362626262626262616161616161616161616161616161616161616161616161616262626262626262626262626262626262626262626262626262626262616161616161616161616059595959595959595858585858585857575757575757575757575757575757575757575757575757575757575858585858585859595959595959606060595959595959595959595960585858585858595959595959595757575757575757575755555555555555555555555454545454545454545353535353535353535352525252525252525252515151515151515151515151515151515151515252525252525252525353535353535353535354545454545454545454555555555555555555555757575757575757575759595959595958585858585860605959595959595959595959606060595959595959595858585858585857575757575757575757575757575757575757575757575757575757575858585858595959595959595959606061616161616161616161626262626262626262626262626262626262626262626262626262626161616161616161616161616161616161616161616161616262626262626262626262626263646464646465656565656565656565656565666666666666666666666666666666666666666667676666666666666767676766666666666666666666666666666666666666666668686868686868707070707070707072737373737373757575757576767678787878787878788181818181818182828283838383838585858585858686878787878787878787888888888888888888888889898988888888888888888686868686868684848486868686868484848484848787868686868686868585898989898989888888888892929290909090909090929292929292929290909094949494949292929292929694949494949494949393969696969696959595959598989797979797979797989898989898989896969699999999989898989898981011001001001001001001001009999102102102102102101101101101101103103103103104104104104104107107107107108108108108108110110110111111111111111111112112112114114114114114114118118118118118118118118122122122122122122122122122125125125125125125125125125125129129129129129129129129129131131138138138138138138144144144144144144144144144144144143143143143143143143137137137137137137137137137137137137137137139139139131131131134134134134134134134137137137137137137134141141141141141141141149149149149149149147154154154154154154154160160160160160160159165165165165165165165170170170170170170170175175175175175175175179179179179179180180184184184184184184184187187187187187188188190190190190190190190191191191191191192192193193193193193193193193193193194194194194194194194194195195195195195195195196196196196196196196196197197197197197197197198198198198198198198198199199199199197197197197197197197197197197197197197197197197196196196196196196194192192192192192192189189189189189189185185185185185185185180180180180180180180176176176176176176176176173173173173173173173173171173173173173173173173172172172175175175175175176176176176176178178178180180180180180180180182185185185185185185185185187191191191191191191191192192192194194194194194196196196196196197197197197197197197197197197198199199199199199199199199198200200200200200200200200200200201201201201201202202202202202202204204205205205205205205205205205205207207207207207207207207207207207207207207209209209209209209209209209209209210210210212212212212212212212212212212212214214214214214214214214213213213213213213213213213213213213213213213213213213213213213213213213213213213213213213213213213213213213213211211211211211211211210210210210210210208208208208208208208208208208208208208208208209209209209209209209209209209209209209208208208208208208208208208208208208207207207207207207207205205205205205205203203203203203203201201201201201201200200200200200200200192192192192192192194194194194194194195195195195195195196196196196196196196195195195195195195195195195195195195196196196196196196196196196196196196196197197197197197197199199199199199199200200200200200200200200200200200200200200200200200200200199199199199199199197197197197197197194194194194194194194190190190190190190185185185185185185178178178178178178171171171171171171171164164164164164164157157157157157157151151151151151151147147147147147147147143143143143143143140140140140140140138138138138138138137137137137137137137137137137137137137136136136136136136137137137137137137138138138138138138138140140140140140140142142142142142142146146146146146146149149150150150150150153153153153153153153154154156156156156156156156156156159159159159159159158158158160160160160160160159159159161161161161161161159159159161161161161161159159159159160160160160160158158158158158157157157154154154154154154151151151147147147147147147145145143143143143143143143143143143143143143143143143145145146146146146146146146150152152152152152152152152157158158158158158158158158164164164164164164164164164168168168168168168168168168171171171171171171171171174173173173173173173173173176174174174174174174174174176174174174174174174174174173173173173173173173173173171171171171171171171171171169169169169169169169169164164164167167167167167163163163163163163163163163160160160160158158158158158155155155153153153153153153150150150148148148148148146146146146146146146146146145145145145146146146146145145145145145145146146146145145145145145145147147145145145145145145145146146144144144144144144144144140140140140140140140140140134134134134134134134134128128128128128128128128128123123123123123123123123123128128128128128128128128128133133133133133133133133135135135135135135135135137137137137137136136138138138138138138138138139138138138138138138138140140140138138138138138140140140140140140140140140142142142142142142142142142144144144144145145145145145145146146146146146146146146146147147147147147147147147147148148148148148148148148148149149149149149149149149149151151151151151151151151151153153153153153153153153154154154154155155156156156156156156156158158158158158158158160160160160160160160162162162162162162162164164164164164164164166166166166166166166168168168168168168168170170170170170170170170172172172172172172172176176176176173173176176176176176176176178178178178178178178179179179179179179179179182182182182182182182185185185185185185185184186186186186186186186186186188188188188188188188188190188188188188188188188188190190190190190190190190192192194194194194194194194197197198198198198198198198201201202202202202202202204204204204205205205205205207207207207207207207207209209209209209209209209209210210210210210211211211211211211211211211211211211212212212212212212212212212212212212212212212212212212211211211211211211211211211211211211211210210210210210210209209209209209209208208208208208208208208208208208208208208208208208208208207207207207207207206206206206206206206206206206206206206206206206206206206206206206206206206207207207207207207207208208208208208208208208208208208208209209209209209209212212212212212212212212212212212212212213213213213213213212212212212212212212212212212212212212211211211211211211211211211211211211211211211211211211211212212212212212212212212212212212212212212212212212212212212213213213213213213213213213213213213214214214214215215215215215215215215216216216216216216216216216216216216217217218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218218217217217217218218218218218217217217217218218218218218217217217217217217217217216216216216216216216216215215215215215215215215215214214214214214214215215213213213213213213213213215213213213213213213213213215214214214214214214214214214214214214214214214214214213213213213213213213213210212212212212212212212212209211211211211211211211211209211211211211211211211208208210210210210210210210208208208209209209209209207207207207208208208208208206206206206208208208208208207207207209209209209209209209209209210210210210210210210210210211211211211211211211211211213213213213213213213213213213214214215215215215215215215217217218218218218218218218218220220220220220220220220220222222222222222222222222222222222222222222222222222223223223223223223223223223223223223223223223223223223224224224224224224224224224225225225225225225225225225225226226226226226226226226226226226226226226226226226226227227227227227227226226226226226226226226226226226226225225225225225224224224224222222222222222221221221221218218218218217217217217217214214214214214214214214214211211211211211211211211211209209209208208208208208208207207207207207207207207207207207207207207207207207207207207207207207207207207207207207207207207207207207207207207207207207207207207207207208208208208208208208208209209209209209209209209209211212212212212212212212212215215215215215215215215215218218218218218218218218218219219219219219219219219220217217217217217217217217218215215215215215215215216216215215215215215215215216216215215215215215