....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
...................................................................................:................
....................................................................................................
....................................................................................................
....................................................................................................
..............................................-::::...::::=:........................................
.........................................:....................:=....................................
.....................................-::::::::::::::::::::::::::::+.................................
.................................-::::::::::::::::::::::::::::::::::+...............................
...............................:%:::::::::::::::::::::::::::::::::::::-.............................
.............................:@-::::-%-:::%-:::::::::::::::::::::::::::-............................
............................*@:::::::=:@@:::::::::::::::::::::#::::::::::...........................
...........................*@:::::::#@@=:::::::::::::::::::::::@::::::::::..........................
..........................:@::::::-%-@-::::-%@@@@@=::::::::::::#@-:::::::::.........................
..........................@-:::::*::@+:::::::::::::-=#::::::::-:@@-:::::::::........................
.........................%=:::::::--=-:::::::::::::::::--:::::--%@@:::::::::=.......................
.........................@:::::--:::@-::::::::::::::::::-@-::::%-@@%:::::::=:.......................
........................#-::::--:::@@-#-::::::::::::::::::@#:::-@@@@-:::::::-:......................
........................@:::::%-:-%@-%-@@-:----------------%@---=@@@*---:-----......................
........................#:::.%-.-+@-@%--@@---::-#*-------:--#@---@@@@-.---+---......................
.......................=---::#::-@=+#:--:@@@::..::@@@%-:::-..#@---@@@-::--%--=......................
.......................%----@---%%-%..:---%@@*---:-=@@@@@%---.%@--@@@+-.-:@-:-......................
.......................%---+%---@-#....:----@@@=-----@@@@@@@=--@#--@@#-:--@----.....................
.......................@---@=--=#-:....:--*--*@@@-----*@@@@@@@--@--@@%---=@=--+.....................
.......................@---@---%-+........:-*--+@@@#----%@@@@@@%%@-%@%---+@*---.....................
.......................@---@---%-:..........::-=---@@@#---=@@@@@@@#*@%---#@%---.....................
.......................@---%----=..............::-=-+-*@@@%=-+@@@@@=@%---%@%---.....................
.......................@---#----=::...:..:-:......:::=-+-:-+@@@@@@@@@*---@@%---:....................
.......................@---+----:+--%+#+#@--..:.......:=:-=%%@@@@@##@=---@@%---=....................
.......................@=--*---=:.:+.:*==*+.:....:.....:+=%++#+::--:-----@@*---+....................
.......................%%--*---+:................-.........:-=---:..:----@@=---=....................
.......................#@--%---=:................=..................----*@@-----....................
....:..................=@--%----:................=..................+---%@%--=--....................
.......................:@=-@---=:...............::..................----@@+--*--....................
........................@#-%---+::..............*..................:----@@---%-=....................
........................@@-#*--@-:..............#..................++--#@@---@==:...................
........................%@-+@--@@-.............:+..::.............--@--@@=---@+==...................
...::-:.................#@%-%--@@@:......:.......................#@+@--@@----@@#+...................
....::::::::::::-......@@@@-@=-@@@@:.......=+=---.::....:+-.....@@=@%-@@=---=@@@=...................
.....:::::::::::::-...%@@@@=@--@@@@@@:.......-=-.....==:......%@@@*@=-@@----*@@#-...................
.....=::::::::::--:-..@@@@@@*--@@@@@@@%........:-----.......+@@@@-@@-@@-----@@@:-...................
......=:::%:*@@@@@@@-=@@@@@@=*-@@@@@@@@@%:.....-@@@-......*@@@@@*@@@=@*-----@@@.-...................
.......+:::#@-::-#--@@@@=@@@@@-%@@@@@@@@@@@:............%@@@@@@%%@@#@@------@@-:-...................
.........-::-@@@@@@@@@@@@@@@@@-=@@@@@@@=@@@@@*.......-@@@@@@@@@%@@@%@----:-=@@.#=...................
............::-@@@@@@@@@@@@@@@=-@@@@@@#.@:@@@@@@@%@@@@@@@:..%@@@@@@@-----:-%@..*....................
............=-:::-=@@@@@@@@@*@@-@@@@@@%.*:.=@@@@@@@@@@@:...:@@@@@@@*----::-@%.*-....................
........:*=--::+@@@@@@@@@@@@+@@-*@@@@@@.:#...%@@@@@@@-.....:@@@@@@@-:*-..--@-.@-....................
...-:::::::::-@@@@@@@@@@@@@@*%@@-@@@@@@:.#.....+@@*:.......:@@@@@@---+-::--@.@-.....................
....:::::::-@@@@@@@@@@@@*@@@@=@@-@@@@@@:.::...#:..:.....:..+@@@@@=--=--:--+*@%......................
.........:--:.@@@@@@@@@+=@@@@-@@*=@@@@@:..%............=::.#@@@@#---@-----%:#:::-::::::.............
.............-@@@@@@@@%-=@@@@+*@@-@@@@@:=.#+..........::@:.#@:.%---=+-----+..:................:.....
......=%@@@@@@@@@@@@@@#-*@@@@@-@@-*@@@%:@:@@=.........:@@%.=+.:----@------.......................-..
...+@@@@@@@@@@@@@@@@@@*-%@@@@@-*@%-:...:::+%@-......=:@@@%:::--%--=%------.........................:
.%@@@@@@@@@@@@%@@@@@@@#-@@@@@@*-@@-##::.......:....#:........-%---@------+..........................
@@@@@@@@@@@@@*@@@@@@@@@-@@@@@@@-%@=-@@@@@#*#%%:..::.=@@@%...-#@--*@-=::--:...............-..........
@@@@@@@@@@@@@+@@*@@@@@@-@@@@@@@-=@*-=-:....................-%@%--@----:=-....:......................
@@@@@@@@@@@@*@@@-@@@@@@+@@@@@@@#-@#--.....................-::@+-@@-=----+...........................
@@@@@@@@@@@@-@@#-@@@@@@@@@=@@@@@-@++-:...................-:.:@-*@-%:----:..................-..:...:.
@@@@@@@@@@@@-@@=-*@@@@@@@@*@@@@@=@-=--..................-+..:@-@*=---=--....-..........-.......:....
@@@@@@@@@@@@-@@=-+@@@@@@@+@@@@@@%@----:................--:..:@@@-%-:-@:+...:................:+......
@@@@@@@@@@@@#*@=-=%@@@@@@-@@@@@@@#-:--:.....:..:......:--...+@@=%-::%#-:...................+=..:....
@@@@@@@@@@@@@=@%--=@@@@@*#@@@@@@@-=:+-:::..::..:.::...:-=:..@@--@::-#--...-...........=.@@*.........
@@@@@@@@@@@@@@@@--%+@@@@-@@@@@@@%-::-::::::.:::-::::...:=%:-@-#%=--*=-=..:............%@@....:..-.:-
@@@@@@@@@@@@@@@@%-#-%@@+%@@@@@@@--::-:::::::::::-::::::::=@@-@-@--+%--:::.............@@.....:......
@@@@@@@@@@@@@@@@@=-@-@@-@@@@@@@++::=*:::::::::::%:::::::::@-#==@--:%=-#@.............:@..........::.
@@@@@@@@@@@@@@@@@@--%--@@@@@@@@=::--::::::::::::=::::::::+--:=%%-=:%%=@..............:.......--:...=
@@@@@@@@@@@@@@@@@@@-=-@@@@@@@@=%#=@%%%%::::::::::::::::::*-@@%%%-:%@@=.....................#-.......
@@@@@@@@@@@@@@@@@@@@=@@@@@@@@%-*@@%%%%%@-:::::::::::::::#-=%%%*%-%%%@%..............:....:@%........
@@@@@@@@@@@@@@@@@@=@@@@@@@@@@+-=@@%%%@%@%:::::::-::::::::-=%%%%@*%:.@@..............:...-%..........
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=--@@@@@%%@@:%-::::::::::::@@-%@%%%*+..:@..................=-..........
@@@@@@@@@@@@@@@@@@@@@+@@@@@@#%--@@@@@%%%%@%%%-:::::*%%%@@%%%%+..+@...:-.................:......:@@-.
@@@@@@@@@@@@@@@@@@@@@-%@@@@@+@=--@@@@@@:=%%%%%-:::@%%%%@%#:......%@................%........#@@=....
lulz