*+x.+^vMWXSSSSSSSSSSSSSSSSSSSSSS><<;>>|+++++++----(++)xxxx*(xx)xx/+-x--;U^vv^^vX0X0wmv^^v*^v^vMWv^X^v^v^^^vvv<>==##~~~=====++==~::========<>?<>?<=>=<=>=<=>=<=>=<><><>==<>~~=====<=>=<=>=<=>=<=>~<~><><<>><<><><<><><><>=<><><><><><><<>><><><><><><><><>[]<><>--<>><><+++++++++++++++++++--||||||||||||||:<<<>>><=>=///|||//||