;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;66666666666;;;;;;;;;;;;;;;;;;;;;;;;;;;;66666666665588;;;;;5566666666666666666;;;;;;;;;;;;;;;;;;;;;;;;;5555555588888885;;;5555666666666666666666;;;;;;;;;;;;;;;;;;;;;;;5555555588888885;;;5555666666666666666666;;;;;;;;;;;;;;;;;;;;;55555555555555555888<588555666666666666666666;;;;;;;;;;;;;;;;;;6555855555666665558==58888555666666666666666665;;;;;;;;;;;;;;;665555=8855555555555===5888888556666666666666666588;;;;;;;;;;;;;665555=8855555555555===5888888556666666666666666588;;;;;;;;;;;;;5558888===88888888===5588888888555666666666666558<<;;;;;;;;;;;;;5558888==============888888888885555556666666588=<<<;;;;;;;;;;;;5558888==============888888888885555556666666588=<<<;;;;;;;;;;;8558888==============8888888888888855555666555:=====<<;;;;;;;;;;888888===============888888888888888885555888:=======<<<;;;;;;;;<888=================8888888888888888888888::=========<<;;;;;;;;<888=================8888888888888888888888::=========<<;;;;;;;;<88================55555888888888888885555:::=========<<;;;;;;;;<================5555655588888888888555855:88:========<<;;;;;;;;<=============55556666665555888888888888885::8:=======<<;;;;;;;;<=============55556666665555888888888888885::8:=======<<;;;;;;;;<==========5555666666666665555588888888888888:8::=====<<;;;;;;;;<=========5556666666666666666665+8888888888888========<<;;;;;;;;<=======555556666666666666666558+==8888888888=========<<;;;;;;;;<=======555556666666666666666558+==8888888888=========<<;;;;;;;;<======555888556666666666666588:=++=888888============<<;;;;;;;;<=====55888888855566666666558::==++===88==============<<;;;;;;;;<=====55888888855566666666558::==++===88==============<<;;;;;;;;*===555888888888885556666588:======+==================**;;;;;;;;*<<55588888888888888855558::=======+++===============+**;;;;;;;;;555888888888888888888888==========+++++=========+++++**;;;;;;;;;555888888888888888888888==========+++++=========+++++**;;;;;;;;5558888888888888888888::=========++++++++++++++++++++***;;;;;;;8;8888888888888888:::::=======++6666666666665555666++**;;;;;;;;;<=::88888888888:::8588:======+88666666666666666666688*;;;;;;;;;;<=::88888888888:::8588:======+88666666666666666666688*;;;;;;;;;;<<::88888888::8:8866555====+++666666666666666666666668;;;;;;;;;;;<:::8888::8:::5666666655++++86666666666666666666666666;;;;;;;;;;<:::8888::8:::5666666655++++86666666666666666666666666;;;;;;;;;;<==:::88:::::5666666666655885556666666666666666666666688;;;;;;;;<<<=:::::::5566666666666655588856666666666666666666666668;;;;;;;;<<<==::555666666666666666555888866666666666666666666666666;;;;;;<<<==::555666666666666666555888866666666666666666666666666;;;;;;;;<<<=56666666666666666666665555885556666666666666666668888;;;;;;;;8866666666666666666666668+++8888886666666666666666668==<;;;;;;;;8866666666666666666666668+++8888886666666666666666668==<;;;;;;;8888666666666666666666688:==+:888888888666666666668=====<;;;;;;;8888666666666666666666688:==+:888888888666666666668=====<;;;;;8888888666666666666666668::===+:8888888888888888:=========<;;;;8888888888666666666666668:=====+:8888888888888:============<;;;;8888888888666666666666668:=====+:8888888888888:============<;;;8888888888886666666666688:======+:8888888888::==============<;8888888888888888666666668::=======+:8888888888================<88888888888888888866668::==========+:8888888888++==============<88888888888888888866668::==========+:8888888888++==============<8888888888888888888:::=============+:888888888:++==============<888888888888888888:================+=888888888=++==============<88888888888888888::================+=::88888::=++==============<88888888888888888::================+=::88888::=++==============<888888888888888::::================+===:8888==+++==============*888888888888:::::::==============+++====::8:==+++============***8888888888=::::::::=============++++====:::===+++===========***;8888888888=::::::::=============++++====:::===+++===========***;8888::::::====:::::===========++++++========+++++=========***;;;;;;::=======================+++++++++=======++++++======+***;;;;;;;::=======================+++++++++=======++++++======+***;;;;