=;;;::,,,,,,,,,::::;;;;====++**xoOO8%#@@@@@@@@@@@##%88Oox*+=;:,. ..,,::;;;;====++++*******+++=;;::,,... ....,,,,,:::,,,,.. ...,,::::::::::::::::::::::::::::::;;;;========
+==;::,,,......,,,,::::;;;==+**xoO88%%##@@@@@###%%%88Ooox*+=;:,. .,,::;;====++++++******+++===;;:::,,,,,,..............,,,,:::::::,,... ...,,,,::::::::::;;;;;;;;;;;;;;;;==+++******+
++=;;:,,,...........,,,::;;=+**xoOO88%%%%%%%88888OOOOoox*+==;:,. .,::;===+++***********+++==;;;::::::::::::::,,,,,,,,,,,,::::::::::,,.. .....,,,,:::;;;;;;;;;;;;;;;===++***xxxxxxx*
*++=;::,,.... ....,::;=+**xooOOOOOOOOOOooooooxxxx**+==;:,,. ..,:;;==++**xxxxxxxxxx**+==;;:::,,,,:::::;;;;;:::::::::::::::::::::,,... ...,,::;;;;============++**xxoooooooxx
*++==;::,,,.. ..,,:;=++*xxoooooooxxx*******++++===;;::,,.. ..,,:;;=++**xxoooOOOooxx**+=;;::,,,,,,:::;;;;;;;;;;;;;;;;;;;;;;;:::,,,.... ..,,::;;;=========+++**xxooooOOoooxx
**++==;;::,,.. ..,:;==+**xxxxxx***+++======;;;;::::,,,,...... ..,,:;;==+**xxooOO888OOOox**+=;;::,,,,,:::;;;;===============;;;;:::,,,..... ..,,::;;;=====++++**xxoooooOooooxx*
*+++===;;::,,.. ..,,:;;==+++*+++++===;;;;::::,,,,................ ..,::;;==++*xxooOO8888888Ooxx*+=;;::::::::::;;;======+++++++++==;;;::,,.... ....... ..,,:::;;;==+++**xxooooooooooxxx**
++++===;;;::,,........,,::;;;========;;;::::,,,... .....,,... .,,:;;==++**xooOO88%%%%%88Ooox*++=;;;;::::;;;;;;====+++++****+++=;;::,,.. ...... ...,,,::;;==++**xxoooooooooxx****+
++=====;;;:::,,,,,,,,::::;;;;;;;;;:::::,,,,... ......... .,::;==++*xxooOO888%%%%%88OOoox**+++======;;;;;;=====+++******++==;::,,.. .... ...,,,:;;=++*xxooooooooxx***++++
=====;;;;;;:::::::;;;;;;;;;;::::,,,,,..... ...... .,:;=++**xooOO888%%%%%888OOoooxxx*****++++++========+++******+++=;;:,,.. ...,,::;=+**xxooooooxx***+++===
;;;;;;;;;;;;;;;;=========;;;::,,.... .,,:;=+**xooO888%%%%%888OOOooooxxxxxxxxxxx****++++++++++****+++==;;:,,... ...,::;=++*xxxxoxxx***++=====;
;:::::::::;;;==++++**+++==;::,,.. .,,:;=+*xooO88%%%%%%88OOOooooooooooOOOOOooooxxx**********++++==;;::,,... ........ ....,,::;=++***xxx****+++===;;;;
::,,,,,,::;;==++*******++=;::,.. .,,:;=+*xoOO88%%%%888OOoooxxxooooOOO888888OOOOooooxxxx***++==;;::,,.... ..............,,::;;==+++++++++++=====;;;::
,,,,,,,,::;;=++**xxxx**++=;::,.. ..,::;=+*xoOO8888888OOoooxxxxxoooOO888%%%%%%%88888OOooxx**+=;;::,,.... .........,,,:::;;;===============;;;;;:::
,,,,,,,,::;==+***xxx***+==;::,.. ..,,:;;=+*xxooOOOOOOoooxxxxxxxxooOOO88%%%%%######%%%88Ooxx*+=;:,,... ....,,,::;;;;;====;;;;;;;;;;;;;;;::::,
,,,,,,:::;;==++******++==;;::,.. ......,,,::;;==+**xxxooooxxxxx***xxxxoooOOO888%%####@@@@@##%%8Oox*+=;:,... ..,,::;;;=====;;;;;::::::::::::::::,,
,,,,:::;;===++++++++====;;::,,.. ........... ..,,,::::::::;;;===+++*****************xxxoooOOO888%%###@@@@@@@@#%8Oox*+=;:,... .,,::;;=====;;;;::::,,,,::::::,,,,,,
,:::;;;===+++++=====;;;;:::,,.. ...,,,,,,... ..,,::;;;;========++++++++++++========+++***xxooooOOO888%%##@@@@@@@@#%8Oox*+=;:,,.. ..,::;;====;;;;:::,,,,,,,,,,,,,,,,,,
::;;==+++++++===;;;:::::,,,... ..,,,,,,,,,..........,,::;;==+++********x*****+++==;;;;;;;;;==++**xxxooooOOO88%%###@@@@@@#%%8Oox*+=;;:,,.. .,,::;;;;;;;::::,,,,,,,,,....,,,,,:
;;=+++*****++==;;:::,,,,... ...,,,,,,,,,,..,,,,:::;;==++**xxxooooooooooxx**+==;::::::::;;==++***xxxoooOOO88%%%######%%8OOoxx*++=;;:,,. ..,,:::::::::::,,,,,,........,,,::
==+**xxxx***+==;;::,,... ....,,,,,,,,,,:::;;===++**xxxooOOO8888888Ooox*+=;;::,,,,,:::;;==++**xxxoooOO8888%%%8888OOooxxx**++==;;:,.. ....,,,,,,,,,,,,,,,........,,::;
++*xxxxxxx**++=;;::,.. ......,,,,::;;;==++***xxxooOO888%%%##%%88Oox*+=;;::,,,,,,:::;;==+++**xxoooOOOOOOOOOoooxx*****++++==;;:,,. .....,,,,,,,........,,:;;=
**xxooooxxx*++==;::,.. ...,,::;==++**xxxoooOOO88%%#######%%8Oox*+==;:::,,,,,::::;;;==++**xxoooooooooxx**++++==========;;:,,.. .............,,,::;==+
xxxoooooxxx**++=;;:,.. ..,,:;==+*xxoooOOO888%%%###@@@###%88Oox**+==;;:::::::::::;;;==++**xxxxxxxx**++==;;;;;;;;;;;;;;:::,,.. .......,,::;;=++*
xoooooooxxx***+==;::,. ..,:;==+*xxoOOO888%%%####@@@@###%88Ooox**++===;;;;::::::::;;;==++*******++==;;:::,,,,,,,:::::,,,,,.... ...,,:;;=++**x
ooooooxxxxx***++=;;:,. ......... ..,::;=+*xxoOO88%%###@@@@@@@###%%8OOooxx***++++====;;;:::::;;;;===+++++===;;::,,,....................... .,,:;==+**xxo
oooooxxxxxx***++=;;:,.. ...,,,,...........,,::;=+**xooO88%##@@@@@@@@@##%%8OOoxxx********++++===;;;;;;;;;;;=====;;;::,,,... .. .,:;=++*xxooo
ooooxxxxxx***++==;;:,,.. ....,,,,,,......,,,::;;=++*xxoOO8%##@@@@@@@@@@#%8OOoxx*************++++======;;;;;;;;;:::,,,... .,:;=+*xxoooo
oooxxxxx****++==;;;::,,,..... .....,,,,,,,,,:::;;==++**xxooO8%%#@@@@@@@@@@#%8Ooox***++++++********+++++++=====;;:::,,.. .,:;=+*xxoooo
xxxxxxx***+++==;;;::::::::,,,,,,.. .....,,,,::;;;==++***xxxooO88%##@@@@@@@@##%8Ooxx**++++++++++++++*******+++++==;::,,. .,:;=+**xxxxx
xxxxxx***++==;;;:::::::;;;;;;;:::,,.. ...,,::;==++**xxxoooOOO88%##@@@@@@@@#%%8Ooxx**++++======+++++++********++==;:,.. ........ .,:;==++***xx
*******+++==;;::::::;;;========;;::,,.. .,,:;==+**xxooOOOO888%%###@@@@@##%%8OOoxx***+++============+++*******++=;:,.. ...,,,,,.... ..,::;;==+++**
+++++++===;;;::::::;;;==+++++++===;;::,,... ..,:;=+**xooOO888%%%####@@@###%%88OOooxx***++++=====;;;;;====+++***++==;:,,. ..,,,,,,,,... ...,,:::;;;===++
=======;;;::::::::;;;==+++****++++===;;:::,,.. ..,:;=+**xoOO88%%##@@@@@@@##%%88Oooxxx******++++====;;;;;;;====+++===;;:,.. ..,,,,,,,,,... ...,,,,,:::::::;;;;=
;;;;;;:::::::::::;;;==++++******++++++===;::,,. .,:;;=+*xooO8%%#@@@@@@@@##%%8Oooxxx********++++====;;;;;;;;====;;;;::,.. ..,,,,,,,,,,..... ..,,:::::::::::::::::::;
:,,,,,,,,,,,,:::;;;===+++++++**********++==;::,.. .,,:;==+*xoO8%##@@@@@@@@#%88Ooxx***********+++++======;;;;;;;;:::,,.. ....,,,,,,,,,..... ..,,::;;======;;;;::::::::::
..........,,,::;;;====+++++++++**********++=;;:,,.. ..,::;=++*xoO8%#@@@@@@##%8OOoxx***++++++++++++++++=======;;;::,,.. .....,,,,,,,,,.... ...,::;==+++**++++==;;;::::,,,,
. ...,,::;;==========+++++**********++=;;::,,,... ...,,::;=+*xoO88%######%%8Oooxx***++++++++++++++++++++++==;;::,.. ....,,,,,,,,,.........,,:;;=++**xxxxx***++==;;;::,,..
..,,::;;;===========++++********+++===;;;:::,,... ....,,::;;=+*xooOO888888OOooxxx****++++++++++++++******+++=;;:,. ....,,,,,,,,,,,,,,,::;;==+**xxxoooooxxx**++==;;:,,..
.,,::;;;;;;==========++++++++++++++======;;::,,.. ....,,,::;;==+**xxxoooooxxxx********+++++++++++++********++=;:,,. ....,,,,,,,,,,:::;;==+**xxoooooooooooxxx**+==;:,,.
...,,:::;;;;;;;;;====================++++===;;:,,.. .....,,,:::;;;==++++++++++++++++++++++++++++++++++****xxx**++=;:,. ......,,,,,:::;;=++**xxoooOOOOOOOOoooooxx**+=;::,..
. ....,,,,:::::;;;;;;;;==;;;;;;;;;;;;====+++++==;;:,,. .....,,,,:::;;;;;;;;;;;;;::::;;;;===++++++++++++++****xxxx***+=;;:,. .......... .........,,,::;==+**xooOOOOOOOOOOOOOOooooxx**+=;;:,,.
............,,,,,,,::::;;;;;;;;;;:::::::::;;;=========;;::,,... ......,,,,:::;;;;;;;;:::,,,.....,,,::;;;====+++++++*****xxxx***+==;:,.. .........................,,::;=+*xxoOO888888888OOOOOOooooxx*++=;;::,,
,,,,,,,,,,,,....,,,,,:::::;;:::::,,,,,,,,:::;;;;===;;;;:::,,,,,...........,,,,,:::;;;;;;;;::,,.. ..,,::;;;===++++****xxxx***++=;;:,,.. ....,,,,,,,,,,,,,,.....,,,:;;=+*xoO88%%%%%%%%888OOOOoooxx**++==;;:::,
::::::::,,,,.......,,,,:::::::,,,,,....,,,,,:::::::::::::::::::::,,,,,,,,,,,::::;;;;==;;;::,.. ..,,::;;==++***xxxxx**++==;::,,.. ...,,,::::::::::,,,,,,,::;=+*xoOO8%%######%%%888OOooxx**++==;;;;::::
;;;;;;;:::,,,.......,,,,,,,,,,............,,,,,,,,,,,,,,,::::::;;;;::::::::::;;;;=====;;::,.. ..,::;==++***xx***+==;;:,,,... ..,,,:::;;;;;;:::::::;;=++*xoO8%%####@#####%%88OOoox*++==;;;::::;;;
;====;;;:::,,,,........................................,,,:::;;;;;;;;;;;;;;;;=======;;;::,.. .,,:;==++*****++=;;::,,.... ...,,::;;;;;;;;;;;===++*xxoO88%%###@@@@@####%%8OOox*++=;;:::::::;;;
;====;;;;:::,,,,,...... ...... ..,,::;;;===================;;;:,,.. .,,:;==+++++==;;::,,.... ..,,:::;;;;====+++*xxooO88%%###@@@@@@@@@###%%8Oox**+=;;::::::::;;;
;;;;;;;;;::::,,,,.... ..,,::;;====++++++++++++===;::,,.. .,,:;;;;=;;;;::,,,... ...,,,::;;;==++*xxoO88%%##@@@@@@@@@@@@@@###%88Oox*+=;;:::,,:::::;;
::::::::::::::,,,... ..,,::;;==+++*********+==;::,.. ..,,,::::::,,,,.... ....,,::;;=++*xoO8%##@@@@@@@@@@@@@@@@@###%88Oox*++=;;::::::::::::
::::::::::::::,,,.. ..,,::;;=++**xxxxxx**+=;;:,.. ............. ....,,::;=+*xoO%#@@@@@@@@@@@@@@@@@@@@##%88Ooxx*+==;;;:::::::::::
,,,,,,,,,,,,,,,... ..,,::;==+**xxxxx**++=;:,,.. ..,,:;=+*oO8#@@@@@@@@@@@@@@@@@@@@##%88Ooxx*++===;;;;;;::::,,,
............... ...,,:;==+***xxx**++=;::,.. ... ..,,:;=+xo8%#@@@@@@@@@@@@@@@@@@@@#%8OOoxx**+++======;;;:::,,,
.. ....,,:;;=+++****++==;::,,... .....,,,... .................... ..,::;+*xo8%#@@@@@@@@@@@@@@@@@@@#%8OOox***++++++++====;;::,,.
.. ....,,,::;;===++++===;;::,,,.... ...,,,:::,,,.. .......,,,::::::::,,... ..,,:;=+*xoO8%#@@@@@@@@@@@@@@@@@@#%8Ooxx**+++++++++++==;;::,,.
.. .....,,,:::;;;=====;;;;:::,,,,,...... ...,,::::::::,.. ....,,::;;;====;;;::,,,..... ..,,::;=+*xooO8%%#@@@@@@@@@@@@@@@@#%8Ooxx***********++++==;;:,,.
.. ...,,,:::;;;;;;;;;;:::,,,,,,,,,,......... .....,,:::;;;;:::,,. ...,,::;==+++++++==;;;::,,,,..... ...,::;==+**xooOO88%%##@@@@@@@@@@@##%8Oooxx************+++==;;::,,
,.. ...,,::;;=======;;::,,,...........,...........,,,:::;;;;;;::,,.. ..,,::;==+++*****+++===;;;::,,,.... ....,,:;==+**xxxoooOOOO88%%%#######%%88OOooxxxxx*********+++===;;;::,
,.. ..,,:;;==++++===;;:,,.............,,,,,,,,,,,::::;;;;;;;:::,,,.. ...,,::;;==++**********+++===;;::,,.......,,:;;=+**xxxoooooooooOOOOO88888OOOOoooxxxxxxxxxxxx****+++====;;;:::
,,. ..,:;;=+++++++==;::,,.............,,,,,,:::::;;;;;;;;;;::,,,... ...,,::;;===+++*******xx****++==;:::,,,,,,::;;=++*xxxooooooooooooooooxxxxxx*********xxxxxxxxx***+++=====;;;;::
,.. .,,:;==++**+++==;;:,,,............,,,,:::;;;=======;;;::,,... ...,,,::;;;====++++****xxxxxx***++=;;;:::::;;==++*xxxooooooooooxxxxx***+++=========+++***xxxxx***+++=====;;;;::,
.. .,::;==+++++++==;;:::,,,,.......,,,,:::;;==++++++==;;::,,.. ...,,::;;;;=======+++***xxxxxxx***++=========++**xxxooooooooooooxxx**+==;;:::,,,:::;;==++********+++=====;;;;::,,
. .,::;;=========;;;;;:::::,,,,,,,,,:::;;=+++*****++=;;:,,.. .,,::;;;;==========++++****xxx*****+++++++***xxxoooooooooooooooxx**++=;::,,.......,,::;===++++++++=====;;;;:::,,.
..,,::;;;;;;;;;;;;;;;;;;;;;::::::::;;==++***xxx**++=;;:,,.. ..,::;;;==============++++**************xxxooooOOOOOOOOOOooooooxx**+==;:,.. ..,,::;;;;==========;;;;::,,..
...,,,::::::::::;;;;;========;;;;;===+++**xxxxxx**++=;;:,,.. ..,,:;;;=================++++++++++***xxooOOO88888888OOOOOoooooxx**+=;;:,.. ..,,,:::::;;;;;;;;;::,,...
...,,,,,,,,,,,,:::;;====++++++++++****xxxooooxxx**+==;;::,,.. ..,,::;;;==========================++*xxoOO88%%%%%%%8888OOOoooxxx*++=;::,. ....,,,::::::::,,...
...............,,,::;;==+++****xxxxoooOOOOOOoooxx*++==;;::,,.. ...,,:::;;;;=======++++=====;;;;;;;;=++*xoOO8%%######%%%88OOOooxx**+=;;:,,. ...,,,,,,,..
....... ...,,::;;=++**xxooOO8888%%888OOoox**++==;;;::,,.. ....,,,,:::::;;;;;====+++++====;;;;::;;;=++*xoO88%########%%%88OOoxx*+==;:,,.. ...
.... ...,,::;==+**xoO88%#######%%8OOox**++===;;:::,.. ....,,,,:::::::::;;;;===+++++===;;;;::;;;==+**xoO88%%#######%%%88Ooxx*+=;:,,..
...,,:;;=+*xoO8%##@@@@@@@#%%8Ooxx**++==;;;::,,.. ...,,,:::::::::::::;;;===========;;;;;;;;==++*xxoOO88%%%%%%%%%%88Ooox*+=;:,..
...,,::;=+*xoO8%#@@@@@@@@@#%8OOoxx*+++==;;::,,... ..,,,::::::::::::::;;;;=======;;;;;;;===++**xxooOOOO8888%%%8888Ooox*+=;:,.
........... ....,,,:;=+*xoO8##@@@@@@@@@#%88Oooxx*++==;;::,,,...... ..,,,,:::::::::::::::;;;;;;;;;;;;;===++**xxxoooooOOOOOOO888OOOoox*+=;:,,.
....,,,,:::::::,,,... .....,,::;=+*xoO8%##@@@@@@@##%%8OOoox**++=;;:::,,,,,,,,.... ...,,,,,,,,,,,:::::::::::::::;;;==++*xxxoooooOooooooooooooooxx*++=;:,,.
..,,::;;;======;;::,,.. ......,,,::;=+**xoO88%%######%%%%888OOoxx*++==;;:::::::::,,,,... ......,,,,,,,,,,,,,,,,,,:::;;=+**xooOOOOOOOOOOooooooxxxx**+==;::,..
..,,:;==++*****++=;;:,,.. ......,,,::;==+**xooOOO88888888888888OOOoxx**+==;;;:::::::::::,,,.. ....,,,,,,,,......,,::;==+*xooOO888888OOOOoooxxx**+==;;:,,..
..,::;=++*xxxxxx**+==;::,,............,,,,::;==++**xxooooooooooooooOOOOOOoooxx*++===;;;;;;;;;;;:::,,... .......... ....,,:;=+*xxoOO888888888OOOoox**+==;::,...
..,::;=+**xxooooxx**++=;;:::,,,,,,.,,,,,:::;==+**xxxooooxxxx******xxxxxxxxxxx***+++=========;;;;;::,,,.... ..,,:;=+*xxoOO888%%%%888OOoox*+=;::,..
..,,:;;=+**xxoooooxxx**+++==;;;::::,,,,:::;;==+**xxoooooxxx***+++++++++++****+++++++++++++=====;;;:::,,,,,,...... ..,::;=+**xooOO888%%%%888Ooxx*=;::,.
...,,:;;==+**xxxxxxxxxxx*****+++===;;;;;:;;;;==+**xxoooooooxx**++====;;;;;;============++++++++===;;;::::,,,,,,,,,,... ..,::;=++**xooOO88888888OOox*+=;:,..
..,,::;;=++***xxxxxxxxxxx**********+++========++**xoooOOOOooxx**++==;;;:::::::::::::;;;===+++++++===;;::::::::::::::,,,.. .,,::;==++**xxooOOO8888OOox**+=;:,..
..,::;==+***xxxxxxx**********xxxxxxx******+****xxoooOOOOOOooxx**++==;;;::,,,,......,,,::;;===++++===;;;:::::::::::::::,,,.. .,,::;;==+++**xxooooOOooox**+=;::,,...
.,,:;=++*xxxoooxxxx***********xxxxxxxxxxxxxxxoooOOOOOOOOOOooxx**++===;;::,,... ..,,::;;======;;;:::::::::::::::::,,,... .,,::;;;===+++***xxxxxx**++==;;::,,,,......
..,::;=+*xxoooOooooxx***+++++*****xxxxxoooooOOO8888888888OOooxx**+++==;;::,,.. ..,,::::;;;:::::::::::::::::::,,,,,,.... ..,,::;;;;===++++++++++===;;;;::::::::,,,,....
.,,:;=++*xooOOOOOOooxxx****+++******xxxoooOO88%%%####%%%8OOoox**+++===;;::,,.. ....,,,,,,,,,,:::::::::::,,,,,,,,....... ...,,:::;;;;======;;;;::::::::::::;;;;::::,,,.....
..,,::;=+*xxoOOOOOOOOoooxxx*************xxooOO8%%##@@@@##%%8Ooox**++===;;;::,,.. .....,,,,:::::::,,,,,............ ...,,::::;;;;;;:::,,,,....,,,,::;;;;;;;;;:::,,,,......
...,,::;=++*xooOOOOOOOOOOooooxxxxx*********xxooO8%%#@@@@@@@#%88Oox**++==;;:::,,... ...,,,,,,,,,,,............... ...,,::::::::,,... ...,::;;;=====;;;;;::::,,,...
..,,:;;=++*xxooOOOOOOOOOOOOOooooooxxxx*****xxooO8%%#@@@@@@@#%%8Ooxx*++=;;::,,,.. ...,,,,,............... ...,,,,,,,,,... ..,::;;;==========;;;::,,..
..,::;=++*xxoooOOOOOOOOOOOOOOOOOOOooooxxxxxxoooO88%###@@@@##%88Ooox*++=;;:,,... .......... .....,,,.... ..,:::;;====++++++==;;::,..
..,:;=+**xooooOOOooooooooOOOOOOOOOOOOooooooOOO88%%%######%%88OOoxx*++=;;:,,. ....,,,,.................. ..,,::;;==++++*++++=;;:,,.
.,:;=++*xoooooooooooooooooOOOOOOO8OOOOOO88888%%%%####%%%88OOooxx**++=;;:,.. ..,,::::::::,,,,,,,,..... ..,,::;;==++****++==;::,..
.,:;=+**xooooooooxxxxxxoooooOOOOO88888%%%%####@@####%%88Oooxx***++==;::,. ..,,::;;;;;;;;;;;::::,,... ...,,:;;==+++++++==;;:,,,...
.,:;=++*xxxxxxxxxxxxxxxxxoooooOOO888%%##@@@@@@@@@@#%%8Oooxx**++==;;::,.. .,,::;;===========;;::,,. ..,,::;;=========;;;:::,,,,.....
.,,:;==++*************xxxxxxxoooOOO8%%#@@@@@@@@@@@@#%8OOox**+==;;::,,.. .,,::;;==++++++++++==;;:,. ....,,:::;;;;;;;;;;;::::::::,,,,...
,,::;;;====+++++++*********xxxxooOO8%#@@@@@@@@@@@@@#%8Oox**+==;::,,.. ..,,::;;===++********++=;:,.. ....,,,,,,::::::::::::::;;;;::::,,,... ..
::::::;;;;;;;;====+++++*******xxoOO8%#@@@@@@@@@@@@@#%8Oox*+==;:,,.. ...,,:::;;==+++***xxx**++=;:,,. ......,,,,,,,,,......,,,,:::;;;;;;:::,,,..........................,,,,
;;;::::::::::::;;;====++++++**xxoOO8%#@@@@@@@@@@@@@#%8Oox*+=;::,. ..,,,:::;;;===++****xx***++=;:,,.. .....,,,,,,,,,..... ...,,:::;;;;;;:::,,,,,,,,,,,,,,,,,,,,,,,::::::;;;,,....,,,,,,,,,,,,,............ ..,,::;;;=====+++****xxxxoooooOOO88%%########%%8Oox**+=;;::,,... ..,::;;===++++*****+++==;;::,,,,,,,,:::::::::::,,............,,,:::::;;;;===========;;::,,
. ....,,,,,::,,,,,,,,,...... ..,,,::;;;===+++****xxxxxxxooooOO88%##@@@@@@@@##%8Oox*+==;::,,.. ..,,,:::;;===++++++===;;:::,,,,,,:::;;;;;;;;::::,,,,..........,,,,,,:::;;;;====;;;::,,...
...,,,,:::::::::,,,,... ...,,,,:::;;===++**xxxxxxxxxxooooOO8%##@@@@@@@@@@#%8Ooxx*+=;::,.. ....,,,:::;;;===;;;;::::,,,,,::::;;;;;;;;;;;;::::::,,,,,,.........,,,::::;;;:::,,..
...,,,,:::::;;::::,,.. .....,,,,,,::::;;==++**xxxoooooooooooOO8%%#@@@@@@@@@@@#%%8Oox*+=;::,. ....,,,::::::::,,,,,,:::::;;;;;;;;;;;;;;;;;;;;;:::,,,..........,,,,,,,,,,..
...,,:::;;;;;;;::,.. ...,,,,,::::::::::;;==++**xxxooooooooooOO88%%##@@@@@@@@@@##%%8Oox*+=;:,,. ..........,,,,,:::;;;;;;;;;;;;===========;;;::,,,................
..,,::;;;;;;;::,. ..,,:::::;;:::::;;;;==++**xxxoooooooOOOO88%%%##@@@@@@@@@###%%8OOox*+=;:,.. ..,,,::;;;;;;;;;;;;=====+++++++===;;::,,........
..,,::;;;;;;:,,. ..,,::;;;;;;;;;;;;====++***xxxoooooOOO888%%###@@@@@@####%%%888OOoxx*+=;:,.. ..,,:::;;;;;;;;;;;====+++****+++==;;;::,,,....
..,,:::::::,,.. ..,:::;;;=========++++****xxxxooooOO88%%##@@@@@@@###%%%888OOOooxx**+=;::,.. ..,,:::;;;;;;;;;====+++*******+++===;;;::,,..
...,,,,,,,... ...,,::;;;=====++++******xxxxxxxooOO88%##@@@@@@@@@##%88OOOooxxx**++=;;::,,.. .,,,:::::;;;;;===++++********+++++===;;:,,.
....... ........ ...,,:::;;;===++****xxxxxxxxxxxooOO88%#@@@@@@@@@@##%88OOoxx***++==;:::,,............... ...,,,:::;;;===+++++++***********+++==;:,.
...,,,,,,..... .....,,,,,::;;;==+***xxxxxxxxxxxxoooO88%#@@@@@@@@@@@##%8OOoxx*++=;;::,,,...........,,..... ..,,::;;;===+++++++++++*********++=;;:,.
...,,,,:::::,,,,,,,,,.,,,,,,,,,,,,,,::;;==++**xxxxooxxxooooOO88%##@@@@@@@@@@##%88Ooxx*+==;:,,... ....,,,,,,,... ..,,::;;===++++++++++++*********+==;:,.
....,,,::::;;;;;:::::::::::::::::,,,,,,,,,,,::;;=++***xxxxxxoooooOO88%%##@@@@@@@@@##%%8OOox*+=;;:,.. ...,,,,,,.... ..,,:;;======+++++++++********++=;;:,..
..,,:::;;========;;;;;;;;;;;;;;;;;;::::,,,,,,,::;;==+++***xxxxxooOO88%%%###@@@@#####%%88OOoxx*+=;:,. ....,,,,.... ..,::;;;=======++++++******+++==;::,,...
.,,:;==++++++++++=============+====;;;::::::::::;;;;===+++***xxooO88%%%#######%%%%%888OOOoxx*+=;:,.. ......... ..,,::;;;;=====++++++**++++===;;:::,,,,,....
.,:;=++**xxx****++++++++++++***++++===;;;;;;;;;;;;;;;;;===++**xooO88%%%%%%%%%8888OOOOoooxx*++=;:,,.. ..,,:::;;;===+++++++++++==;;;::::::::,,,,,,....
.. .,:;=+**xxxxxxx********************++++======;;;;;;;;;;;;;=++*xxoO888%%%%888OOOooooxxx***++=;;::,... ...,,,::;;;==++++*++++==;;::::,,,,::::::::::,,,,......
,,... .,:;=+**xxxxxxxxxxxxxxxxxxxxxxxxxx*******+++++==;;;:::::;;;=++*xooOO8888OOOOooxxx***+++==;;::,,,,............ .....,,,::;;==++++++++==;;::,,,,,,,:::::;;;;;::::::::,,
::,,. ..,:;=++**xxxxxxoooooooooooooooxxxxxxxxxxxxx***++==;;:::::;;==+**xxooooooooxxx***++===;;::,,,........,,,,,,,... .........,,,::;;==++++++===;;::,,,,,,,,::::;;;;;;;;====;;;;
=;:,.. ..,:;;==++***xxxoooOOOOOOOOOooooooooooooooooxx**++==;;;;;;;;==++*****xx*****++++==;;::,,... ...,,,,,,,,,,.. ............,,,::;;===+++++===;;::::,,,,,,:::::;;;;====+++++++=
=;;:,. ..,,::;;===++*xxooOOOO88OOOOOoooooooOOOOOOOoooxx**++===========+++++++++======;;;::,,.. ..,,,:::::,,,.. ...,,,,,,,,,,,:::;;;=========;;;;:::::::::::::::;;;;==+++*****++
==;:,. ....,,,,:::;;=++*xxooOOO88OOOOOOOOOOOOOOOOOOOOoooxx****+++++++++=====;;;;;;::::::,,.. ..,,:::::,,,... ...,,,,,:::::::;;;;;=======;;;;;;;:::::::::::::;;;;;==++***xx***+
=;::,. .....,,,,,,,,::;==+**xooOOOOOOOOOOOOOOO88888OOOOOooooxxxxxxx****++==;;;:::,,,,,.... ..,,,,,,,,,,... ..,,,:::::;;;;=========;;;;;;;;;;;;;;;;;;;;;;;;;;===+++***x***++
;;:,.. ...,,,,,,,....,,,::;==++*xxxoooOOOOOOO88888888OOOOOoooooooooooooox**++=;::,,.... ....,,,,,,,,... ...,,:::;;====++++====;;;;::::;;;;;===============+++*******+++=
::,,.. ...,,,,,,,,,....,,,,::;;==++**xxxoooOOO88888888OOOOoooooOOOOO88OOOoox**+=;::,.. ........... ...,,:;;==++++++++===;;;::::;;;;====+++++++++++++********++==;;
,,... ..,,,,,,,,,,,,,,,,,,,:::;;;===++**xxooOO8888888OOOooooooOOO88888888Ooox*+=;:,,. ...... ..,,:;;==+++**+++===;;;;;;;;;;===++++********xxxxxx***++==;;:,
... ...,,,,,,,,,,,,,,,,,,,,:::::::;;==++**xooOOOOOOOOOOooooooOOO888888888Ooox*+=;::,. ..,::;==++++++++===;;;;;;;;===++++****xxxooooooooxx**+=;;:,,.
....,,,,,,,,,,,,,,,:::::::::,:::::;;==+**xxoooOOOoooooooooOOOO88888888OOoxx*+==;:,. ..,,::;;===+++===============+++++***xxoooOOOOOOOoox*+=;;:,...
....,,,,,,,,,,,,,,,,::::::::::,,,,,,:::;==++**xxxxxoooooooooOOOO888888OOOooxx**+==;:,. .......... ....,,:::;;;;;=============+++++++***xxxoOO8888888OOox*+=;:,,.
...,,,,,,,,........,,,,::::::::::,,,,,,:::;;;==+++*****xxxxoooOOOOOOOOOOOoooxx***++=;::,. ....,,,,,,,,,,......,,,,,::::::::::;;;;;====++++++*****xxooOO88%%%%%88Oox*+=;:,..
...,,,,,,,,,..........,,,,:::::::::::,::::::;;;;;=====+++**xxxooOOOOOOOOoooxx***+++==;::,. ..............,,,,:::::::::::::::::::::::::,,,,,,,,:::;;;==++++******xxxooOO88%%%%%88Ooxx*+=;:,,..
...,,,::,,,,.... .....,,,,,:::::::::::::::;;;;;;;;;;===+**xxooOOOOOOoooxx**+++==;;;:,,. ...,,,,,,:::::::;;;;;;;;;;;;;;;;;;;;;;;;;:::,,,....,,,::;;===+++****xxxooOOO88%%%%888Ooox*+==;::,..
..,,,,,,,,,.... ......,,,,,,,:::::;;;;;;;:::::::;;;=++**xooooOooooxx**++===;;::,,. ..,,,:::;;;==================+++++++++==;;::,,.......,,:::;;==+++**xxxooOO88888888OOooxx*++==;::,,..
. ...,,,,,,,..... ......,,,:::;;;;;;;;::::::::;;==+**xxxooooxxx**++===;;:,,.. .,,::;;==++**********+++++*****xxx***++=;;:,,,.......,,,::;;==++**xxooOO888888OOooxx**++===;;;::,,.
... .............. ..,,:::;;;;;;;;::::::::;;==++***xxxxxx***++==;;::,.. ..,:;;=+**xxxxooxxxxxxxxxxxxoooooooxx**+=;;::,,,.....,,,,::;;==++*xxooOO888OOOoxx**++====;;;;::::,,
,,.................... ..,,:::;;;;;;:::::::;;;===+++********++++==;;:,,. .,:;=++*xoooOOOOoooooooooOOOOOOOOooxx**+==;;::,,,,,,,,,,,:::;==+**xooOOOOOooxx*++==;;;;;:::::::,,,
,,,,,,:::::,,,,,... ...,,::::::::::;;;;;====++++++++++++====;;;:,,. .,:;=+*xxooOOOOOOO88888888888888OOooxx**++==;;;:::,,,,,,,,::;;=++*xxxooooxx*++==;;:::::,,,,,,,,,,,
,:::;;;;;;;;::,,... ...,,,,,::::;;;====++++++++=========;;;::,.. ..,:;=+**xooOO88888%%%%%####%%%888OOooxx***+++===;;::::,,,:::;;==++*******++==;;::,,,,,.......,,,,,
::;;;======;;::,,.. ....,,::;;==+++++++++=====;;;;;;;::,,.. .,,:;=++*xxooOO88%%###@@@@@###%%88OOoooxxxx****++===;;::::::;;;;===++++===;;::,,,..... ....,,
,:;;==++++==;;::,... ..,,:;;==+++**++++===;;;;;::::,,.. ..,,:;;==+**xxoOO8%%##@@@@@@@@@#%%88OOooooooxxxxx***++===;;;;;;;;;==;;;;;::,,,.... ..,
,:;;==++++===;::,,,.. ..,::;==+++++++++===;;;;:::,,.. ..,,,::;;===++**xxoO8%%#@@@@@@@@@@#%%88OOOOooooooooxxxx***+++++======;;:::,,.. .,
,::;;=======;;;:::,,,.. ..,:;;===++++++====;;;::,,.. ...,,::;;;=====+++**xoO88%#@@@@@@@@@##%%888OOOOOOOoooooooxxxxxxx****++==;::,.. ..
.,:::;;;;;;;;;;;::::,,... .,,::;;;==========;;::,,.. .,,::;;======+++++**xxoOO8%##@@@@@@@###%%8888OOOOOOOoooooooooooooooxx*+==;:,. .
..,,,,,::::::::::::::,,,.. ..,,,:::;;;;;;;;;;;::,,.. ....... ..,::;;==+++++++++****xxoOO88%%#######%%%%%888888OOOOOooooooOOOOOOOOoox**=;:,.
......,,,,:::::::::,,,.. ....,,,,:::::;;;:::,,.. ...,,,,,,,..... ..,::;==+++*********xxxooOOO88888%%%%%888888888888OOOOOoooooOOOO8888OOox*+=;:,.
...,,,::::::,,,,...... ......,,,,,:,,,,... ...,,,,:::::,,,,,... ..,,::;==+++****xxxxxooooOOOOOOOOOOOOOOOO88888888888OOOOOooooOOOO8888OOoox*+=;,.
...,,,,,,,,,,,,,,,,,,...... ......... .......... ...,,,:::::::::::::,,.. ...,,,::;;==++****xxxoooOOOO8888OOOOooooooooOOOO888888OOOOOOOOOOOOOOOOOOOoxx*+=;:,.
....,,,,,,:::::::::,,,.... .....,,,,,,.... ...,,,,::::;;;;;;;;;;::,.. ....,,:::;;;===+++***xxooOO88888888OOOooxxxxxxooooOOOOOOOOOOOOOOOOOOOOOOOooxx*+=;;:,.
...,,:::;;;;;;;::,,,,......,,,,::::::,,,... ...,,,:::::;;;;=======;;:,,. ...,,,:::;;;;=====+++**xooOO88%%%%%88OOooxxxxxxxxxxooooooooOOOOOOOOOOOOOOoox**+=;;:,,.
..,::;;;===;;;;:::,,,,,,::::;;;;;;:::,,,... ..,,,:::::;;;;;========;;::,.. ...,,::;;;;=========++**xooOO88%%%%888OOooxxxxxxxxxxxxxxxoooooOOOOOOOOOOoox*++=;::,..
.,,:;;;======;;;;;;;;;;;;=======;;;;:::,,... ..,,::::;;;;;;========;;;::,,.. ..,,:::;;============++**xxoOO88888888OOooooxxxxxx*******xxxxoooOOOOOOOOoxx*+=;:,,.
..,::;;;=============+++++++++=====;;;:::,,.. ..,,:::;;;;;========;;;:::,,,........... ...,,::;;;=============+++**xxooOOOOOOOOOooooooxxxxx*********xxxooOOOOOOoox*+=;::,.
..,:::;;;===++++************++++====;;;::,,. ..,,,::;;;;======;;;;:::,,,,,,,,,,,,,,,,,,,.......,,,::;;;;=============+++***xxxxxxxxxooooooooooxxxx**********xxoooOOOooxx*+=;:,..
...,,::;;;==++**xxooooooxxx****++++===;;::,. ..,,:::;;;;==;;;;:::,,,,,,,,,,:::;;;;;;:::::::::::::;;;;;;===========+++++**************xxxxxxoxxxxxx********xxxooooooxx*++=;:,.
...,,,:;;=++*xxooOOOOOOoooxxx****+++==;::,.. ..,,:::;;;;;;:::,,,......,,,::;;==========;;;;;;;;;;==;;;;;;;;=====+++++++++++=======+++***xxxxxxxx*******xxxxxxxxxx**++=;:,,.
....,,::;=+**xoOOO8888OOOOoooxxx**++==;::,.. ..,,,:::::::,,,.........,,::;;===+++++++++++++++++=====;;;;;;====++++++++===;;;;;;;;;===+++**********xxxxxxxxxxx***+==;::,..
.....,,::;=+*xxoOO88888888OOOoooxx**+==;::,.. ...,,,,,,,,... ..,,::;;==+++****xxxxxxxxx***++====;;;====+++++++===;;::::::::::;;;====+++****xxxxxooxxxx**+=;;:,,..
.........,,::;==+*xxoOO8888888888OOOoox**+=;;:,,............. ........ ..,,,::;;==++**xxoooOOOOoooxx*+++========++++++===;;:::,,,,,,,,,,::::;;;==++**xxxooooxxx*+==;:,,..
.......,,,,,:::;==+**xxooOOO8888888888OOox*++=;::,,,....,,,,,,,,,,..... ...,,::;;;=++*xxooOO8888OOOoox**+++++++++++++===;;;::,,,,..........,,,,::;==+**xxxxxxx**+=;;:,..
....,,,,,::::;;==++***xxoooOOO888888888Ooox*+=;;::,,,,,,,:::::::::::,,,,..... ...,,,::;;==+*xxoOO8888888OOooxxx*****+++++===;;;:::,,,,...... ...,,:;;=++**xxx**++=;:,,..
...,,,:::;;===++***xxxxxooooOOO8888888OOox**+=;;::::::::::;;;;;;;;;;;::::,,... ...,,,::;;=+**xooOO8888888OOOooooxxxx***++==;;:::,,,,,..... ..,::;==++++++==;::,..
...,,,::;;=++**xxxxxooooooooooOOOOOOOOOooxx*+==;;;:::::;;;;;;=========;;;;::,,. ...,,::;;==+*xxooOOOOO8888OOOOOOOoooxx*++==;:::,,,,,..... ..,,::;;;;;;;::,,...
....,,::;==+*xxoooOOOOOoooooooOOOOOOOoooxx**++===;;;;;;;;;================;;::,. ..,,,:;;==++**xxxooooOOOO8888888OOoox**+=;;:::,,,,,..... ...,,,,,,,,....
....,,::;==+*xooOOO88888OOOOOOOOOOooooxx***++=========================++===;;::,. ..,,::;;===+++****xxxooOOO8888888OOoxx*+==;:::,,,,,....
.......,,::;==+*xooOO888%%%%888888OOOOooxx**+++========+++++++++===============;::,.. ..,::;;;=======+++**xxooOO888888OOoxx*++=;;:::,,,,....
.......,,,::;;=+*xxoOO888%%%%%%%%%%%88Ooox**++=========+++++++++++++===========;;::,.. ..,:::;;;;;;;;;===++**xxoOOOOOOOOooxx**+==;;;::,,,.... ....
......,,,,:::;==+**xxoOO888%%%######%%%8Ooox*++==;;;;===+++*******++++++======;;::,,.. ..,,::::;;;::;;;;;==++**xxoooooooxxx***+++==;;::,,,................ .....
....,,,,:::;;==+**xxxooOO88%%%#######%%8Oox**+===;;;===++++*********+++++===;;::,.. ..,,,:::::::::::;;;==+++****************+++==;;::,,,......,,,,,,,.. ..............
....,,,:::;;==++***xxxoooOO88%%%#####%%8OOox**++=======++++************+++==;::,.. ....,,,,,,,,:::::;;;======+++++++++++**++++===;;::,,,,,,,,,,,,,,,.. .........,,,,....
......,,,::;;==++****xxxxxoooOOO88%%%%%%88OOoxx**++++++++++++*************+++=;::,. .......,,,,,::::;;;;;;;;;;;;;;;====+++++++===;;;:::::::::::::,,,.. .......,,,,,,,,,,.................
,,,,,,,:::;==++****xxxxxxxxxoooOOOOO8OOOOoooxx****************************++=;;:,. ....,,,:::;;;;;;;::::::::::;;;===========;;;;;;;;;;;;;::,,.. ......,,,,,,,,,,,,,,,,::::::::,,,,
::::::::;;==++***xxxxxxxxxxxxoooooooooxxxx************x******************++=;;:,. ...,,:::;;;;:::::,,,,,,,::::;;;;;=================;;::,,. ......,,,,,,,,:::::;;;========;;;:
=;;;;;;===++***xxxxxxxxxxxxxxxxxx****++++++++++***xxxxxxxxxx***********+++=;::,. ..,,::::::::::,,,,,,,,,,,,::::::;;;;====+++++++===;::,. ......,,,,,,,,:::;;==++******+++==
*+++++++*****xxxxxxxxxxxxxxxx***++===;;;;;;;==++**xxxxxoxxxxxxx******+++==;:,,. ..,,,:::::::,,,,,,,,,,,,,,,,,,,:::;;;==++*****++==;:,.. ........,,,,,,::;==+**xxooooxxxx**
ooxxxxxxxxxxxxxxxxxxxxxxxxxx**++=;;:::,,,,::;;==+**xxxxxxxxxxxxxx***++==;::,. ...,,,,,,,,,,,,,,,,,,,,,,,...,,,,::;;=++******++=;;:,.. ..........,,,::;==+**xooOOOOOOoooo
888888OOOOOooooxxxxxxxxxxx**++==;::,,.....,,::;;=++***xxxxxxxxxxx**++=;;:,.. .......,,,,,,,,,,,,,,,,,,,....,,,::;;=++*****++==;:,,. .......,,,::;;=+**xooOOOO8888888
######%%%88OOOooooooxxxxx**++=;::,... ...,,::;;==++***xxxxxxx**++=;:,,. .............,,,,,::::,,,,,,,,,,,::;;==++++++++==;::,.. ....,,::;;=++*xxooOOO888%%%%#
@@@@@@@@##%%88OOOooooxxx**+==;:,,.. ...,,,::;;==++***xx***+==;:,.. ....,,,::::::::,,,,,,:::;;===+++++===;;::,,.. ..,,::;;=++**xxoooOO88%%##@@
@@@@@@@@@@@#%%888OOooxx*++=;::,,.. ...,,,::;;==++++++==;::,. ...,,,,::::::::::::;;;;==========;;;:::,,... ..,,:;;=++***xxxoooOO8%%#@@@
@@@@@@@@@@@@@##%%8OOox*++=;::,... ..,,,::;;;;;;;;:,,.. ...,,,,:::::;;;;====+++++++===;;;::,,,,... ..,:;;=+++***xxxxooOO8%##@@@
@@@@@@@@@@@@@@@#%%8Oox*+=;:,,... ...,,,,,,,,... ....,,,,:::;;==+++*******++==;;::,,,,... ... .,::;==++****xxxxooOO8%##@@@
@@@@@@@@@@@@@@@@#%8Oo*+=;:,,... .....,,,::;==+**xxxxxxx**+==;;:,,,.... ........... ..,:;;==++****xxxxooO88%%#@@@
@@@@@@@@@@@@@@@@#%8ox*+=;:,,.... ........ .....,,:;;=+*xxooooooxx*++=;;:,,,.. ............ ..,,:;;==+++***xxxooOO88%%###@
##@@@@@@@@@@@@@#%8Oox*=;;:,,....... ....,,,.... ....,,:;=++*xoooOoooox**+==;::,,.. ....... ............ ..,,::;;===++***xxooOO888%%%%##
%%####@@@@@@@##%8Oox*+=;;::,,....... ...,,,,,,,..... ...,,::;=+**xoooooooxx**++=;;::,.. ....,,,,..... .......... ....,,,:::;;;==++**xxooOO888%%%%%%%
%%%%%%#####%%88Ooox*++=;;:::,,,..... ....,,,,,,,,,,,,,,,..... ...,,::;==+**xxxxxxxxxx**++==;;:,,. ..,,,,:,,,,,..... ......,,,::::::;;;;===+**xxoOO8888%%%%%88
88888888888OOooxx*++===;;;:::,,,,.... ....,,,,,,,,,,,,:::::::,,,.. ...,,::;;==++************+++==;;::,.. ..,,::::::::,,,,.... ...,,,:::;;;;;;;;;;===+**xooOO88888888888
88888OOOooxx**+++====;;;;;;:::,,,..... ..........,,,,,:::;;;;;;;::,,... ..,,::;;;===++++++++++++++++===;;::,,... ...,,,:::;;;;;::::,,,.... ..,,:::;;;;;;;;;;;===++**xooOO88888888888
88OOOooxx*++==;;;;;;;;;;;;;;:::,,,..... ..........,,,,::;;;======;;;::,,,.... ..,,::;;=============;========;;;:::,,,,..,,,,,:::;;;;;;;;;;;::::,,,... ..,,::;;;;;;;;;;====++**xxoooOOOO88888888
8OOOoxx*+==;::::,,,:::::::::::::,,,..... .........,,,,::;;====+++====;;;;:::,,,,... ...,::;;=========;;;;:::::::::::::::::,,,,:::::;;;;=======;;;;;;;:::,,,.. ..,,::;;;;;;======+++***xxxooooOOOOO88888
OOOox**+=;::,,,...,,,,,:::::::::,,,,,... ......,,,::;;====++++++++++=====;;:::,,.......,,,::;;========;;;:::,,,,,,,,,,,,,,,,,,:::;;;===++++++======;;;;;;:::,,.. ..,,:::;;;;;====+++****xxxxxxooooOOOO888
Ooox*+==;:,,,.........,,,,,,,,,,,,,,,,.. ....,,:::;;;=====++++++*******+++==;;::,,,,,:::;;;=========;;:::,,,....... .....,,::;==++*******+++======;;;;;::,,,.. ...,,,,:::;;===+++******xxxxxxxooooOOOOO
xx**+==;::,,...............,,,,,,,,,,.. ..,,:::;;;=======+++****xxxxxxx**++===;;;;;;;====++++====;;:::,,.... ..,:;;=+***xxxx****+++=====;;;;::,,,.. .....,,,::;;==++*************xxxxoooooo
*++==;;::,,,......... ........,,,,,,... ..,:::;;;========+++**xxxooooooxxx****++++++++*++++++==;;;:::,,... .,:;==+**xxxxxxx***++++===;;;:::,,,..... ...,,::;;==+++*************xxxxxxx*
==;;;:::,,,,,,...... ........... .,,::;;;========+++***xxoooooooooooooooooooooxxx**+++==;;:::,,... ..,:;=++**xxxxxx****+++===;;:::,,,,.......,,...... ..,,::;;===+++++++++++********+++
::::,,,,,,,,,,,,,..... ......... .,,::;;;=======+++***xxxooooOOOOOOO888888888OOOoxx*++=;;:::,,... .,::;==++***********++===;;::,,,,,,,,,,,:::,,,,,... ...,,:::;;;======+++++++++++===;; ............ ..,::;=++*xoOO8%%########%%%%%%%##@@@@@@@@@@##%8OOoxx*++==;;;:::,,,..... ...,,::;;;===;;;:::,,... ..,,::::::::,,,............,,......
...,,,,,,,,........ ..,,::;;=++*xoOO88%%%%%%%%8888888%%###@@@@@@@@##%%8OOoox**++==;::,,,..... ..,,::;;;;;;;;;::::,,,.... ..,,:::::::,,,,..................
..,,,,::,,,,,,,..... ...,,,:::;;;==+**xooOO888888888OOOOO888%%%##########%%%888OOoxx*++=;;:,,..... .,,::;;;;;;;;;::::,,,,,,..... ..,,,,::,,,,,,,..............
..,,,:::::::::,,,,... ..,,:::;;;;;====+++**xxooOOOOOOOOOOOOOOOOO8888%%%%%%%%%%%%88888OOoox*+==;::,,.... ..,::;;;;;;;;::::,,,,,,,,,,.... ....,,,,,,,,,,,,,,,,.......
...,,,:::::::::::,,,.. ..,::;;===++++++++****xxxxoooooooooooooooOOOOOOOOOOOOOOOOO8888888OOoox**+=;;::,,.... ..,::;;;;;;::::,,,,,,,,,,,,,,....... .....................,,,,,,....
..,,,,,::::::::::,,,.. ..,::;==++*****xxxxxxxxxxxxxxxx******xxxxoooooOOoooooooooooooOOOOOOOOoox**+==;;::,,... .,:::;;;::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............,,,,,... ..
,,,,,,:::::::::::,,.. ..,:;;=++**xxxoooooooooooxxx****+++++***xxxxooooooxxxx****xxxxxoooooooxxx**++==;;::,,.. ..,,,::::,,,,,,,,,,,,,,,,,,,,,:::::;;;;;;;;::,,,................... .....,,
,,,,,:::::::::::,,,.. ..,,:;;=++**xxooOOOOOOOOOOooxx**+++===+++***xxxxxxxx****+++++******xxx******+++===;;::,. .......,,,,,,,,,,,,,,,,,,:::;;;==++++++==;;::,,................. ..,,,,,,,,,
::::::::::::::,,,,.... ....,,,::;;=++**xxooOO8888888OOoox**++=======+++*********+++++++++++++++++++++++++++====;::,. .......,,,,,,,,,,:::;==++***xxx**++=;;::,,,........... ..,,:::;;;;::
;;;;;;::::::,,,,.........,,,::;;;==+++**xxooOO8888888OOoox**++========+++++++++++=============;;;;;;;;;========;;:,.. ......,,,,,,,::;;=++*xxxooooxxx*++==;;::,,,,..... ..,::;;;====;;
====;;;;:::,,,........,,,::;;====++++***xxooOO888888OOooxx*+++===========================;;;;:::::::::::;;;;;;;::,,. .....,,,,:::;==+**xoooOOOOoooxx**++==;;:::,,.. .,,:;;========
+++===;;::,,,........,,::;===++++******xxxoooOOOOOOoooxx***+++++=======;;;;;;;;;;;;;;;;;;;;:::,,,,,,,,,,,:::::,,,. ....,,::;;=++*xxooOOOOOOOOooooxx***+==;;:,,.. .,,:;;;===++++
++++===;::,,.......,,::;==++*****xxxxxxxxooooooooxxxx****++++++++====;;;;:::::::::;;;;;;::::,,,...........,..... ..,,:;;=+**xxooOOOOOOOOOOOOOOoooxx*+==;:,,.. ..,::;;;==++++
++++===;::,,,....,,::;;=++***xxxxxoooooooooxxxx****++++++++++++++===;;;::::,,,,:::::::::::,,,.......... ..,:;;=+*xxoooOOOOOOOOOO888888OOOoxx*+=;::,... ...,,::;;===++
======;;::,,,,,,,::;;==++**xxoooooOOOOOoooxxx**++====;=======++====;;;:::,,,,,,,,,,,,,,,,,,....... ..,:;=+*xxoooOOOOOOOOOO888888888OOoox*+==;::,... ...,,,::;;===
;;;;;;:::::,:::::;;==++**xxoooOOOOOOOOOOooxx*++=;;;::::;;;;======;;;:::,,,,,,,,,,,,,,.............. .,:;=+**xooooOOOOOOOOO8888%%%%%88OOoox**+==;::,,. ...,,,::;;;
:::::,,,,::::;;;==++***xxxoooOO88888888OOox*++=;;:::,,::::::;;;;;:::::,,,,,,.......... ....... .,:;=+*xxoooooOOOOOOOO88888888888OOOooxx**+==;::,. ....,,,,,
.......,,,::;;==++**xxxxoooOOO888%%%888Ooox*+=;;::,,,,,,,,,,,,,,,,,,,,,,,,,...... .... .,::;=+**xxooooooOOOOOO8888888888OOOOOoooxx**+=;::,. ....
..,::;=++**xxxoooOOOO888%%%%%88OOox**+=;;:::,,,,,,..................... .,,:;==+***xxxooooOOOOO88888OOOOOOOOOOOoooooxx*+=;:,,.
.,,:;=+**xxoooOOO8888%%%%%%88OOoox*++==;;:::,,,.... ...... ..... ..,,::;;==++***xxxoooOOOOO8OOOOOOooooooooooooooxx*++=;:,,..
.,:;=+**xooOOO8888%%%%%%888OOoxx**++===;;;::,,... ......... ....,,:::;;====++++***xxxooOOOOOOOOOooooxxxxxoooooooxxx*++=;;::,,,.........
.,:;=+*xxoOO888%%%%%%%88OOooxx***++++===;;::,,. ..,,,,,,... ...,,,::;;===+++++++++++***xxoooOOOOOOooooxxxxxxxxxxxxxx***+++==;;;;:::::,,,,.....
.,,:;=+*xooO888%%%%%88OOooxx****+++++++==;;::,.. ..,,,,,,,.... ..,,::;==++********++++++***xxxooooooooooxxxxxx*********++++===========;;;;:::,,,....
.,,:;=+*xooO888%8888OOoxx****++++++++++==;;:,,.. ...,,,,,,,,,...... ..,,:;==+**xxxxxxxxx*********xxxxxoooxxxxxxxxx******++++====;;;;=====++++===;;;::,,....
..,:;=+*xxoOOOOOOOoooxx***++++++++++++==;;::,,... ....,,,,,,,,,,,,,........ ...,::;=+**xoooooooooxxxxxxxxxxxxxxxxxxxx***********+++==;;;;:::;;;===++++++++==;;::,,,...
..,:;=++*xxoooooxxx***+++++++++++++++===;;:::,,,.. ...,,,,,,,,,,,,,,,,,,,,,,,..........,,:;;=+**xooOOOOOOOoooooooxxxxxxx*****************++==;;:::::::::;;===+++++++===;;:::,,..
.,,:;;=+++*******+++++++++++++++++=====;;;;;:::,,. ..,:::;;;;:::::,,,,,,,,,,,,,,,,,,,,,,,,::;==+**xxooOOOOOOOOOOOOOooooxxx***+++++++******+++==;;::,,,,,,:::;;===++++++====;;::,,..
..,,::;;;;============+++++++++===========;;;;::,,. .,,:;;======;;;:::::::::::::::::,,,:::::;;==++**xxxoooooOOOOOOOOOOOOooxxx**+++++++++++++++==;;:::,,,,,,,,:::;;;;==========;;;:,,.
....,,,,,,,,::::::;;;====++++=================;;;:,,. .,:;;=+++++++===;;;::::::::::::::::;;;;==++***xxxxxxxxoooooOOOO888OOOooxx**+++++====+======;;;:::,,,,,,,,,::::::;;;;;;;;;;;;;::,..
...................,,,::;;==========;;;;;=========;;::,,.. .,:;=++*****++++====;;;;;;;;;;;;;;;==++**xxxxoooxxxxxxxxxoooOOOOOOOOoooxx**++++========;;;::::,,,,,,,,,,::::::::::::::::::::::,..
....,,,,.... ..,,::;;;;;;;;;;;;;;;========;;;;::,,,... .,:;;=++********+++++=====;;;;;;===++*xxoooOOOOOoooxxxxxxxxxooooooooooxxx***++++====;;;;:::,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,..
...,,,,,,,... ...,,::::;;;;;;;;;;=======;;;;;::::::,,,,.. .,::;==+++***********++++=======++**xooOO888888OOOooxxxxxxxxxxxxxxxxx******+++++===;;:::,,,.....,,,,::::::::,,,,,............
..,,,,::,,,... ...,,,:::::;;;;;=====;;;;;;::::::::::::,,.. .,,::;;==+++****xxxxx****+++++***xxoOO88%%%%%%%88OOoooxxxxx*******++++++++++++===;;::,,,.........,,,::::::::,,,,......
..,,,,:::,,,.. ...,,,:::;;;;===;;;;;::::::::;;;;;;:::,. ..,,,:::;;===++**xxxxxxxxx***xxxooOO88%%#######%%888OOoooxx***+++===============;;;::,,.. ...,,,,:::::::,,,,....
...,,,,,,,,,,... ...,,:::;;;;;;;;;:::::::::;;;;;;;;::,,. .....,,,,::;;==++***xxxxxxxooooOO88%%###@@@@@@####%%888OOoox**++==;;;::::;;;;;;;;::,,,.. ....,,,,,,,,,,,,,,...
...,,,,,,,,,.... ...,,::;;;;;;;;::::::::::;;;;;;;:::,,. ..........,,,::;;==+++**xxxoooOO8%%##@@@@@@@@@@@@@####%%88OOoxx*+=;;:::,,,,,,,:,,,,,... ......,,,,,,,,,,,.. .
,,,,,,,,..... ..,,,::::;;::::::::::::;;;;;;::::,,... ..............,,,:::;;==++*xxoOO8%##@@@@@@@@@@@@@@@@@@####%%8Ooxx*+=;;::,,,,........ .......,,,,,... ....
,,,,,,.... ....... ...,,,,::::::::::::::;;;;;;::::,,,.... ...................,,,::;;==+*xoO8%#@@@@@@@@@@@@@@@@@@@@@@##%%8Ooox*+=;;:,,,.... ......... ...,,,
::,,,... ............. .......,,,,,,,,,::::::;;;;;;;;:::,,,.... ........................,,::;==+xoO8%#@@@@@@@@@@@@@@@@@@@@@@##%%8Ooox*+==;::,,.. ..,,,::
::,,,.. .....,,,,.......,,,,,,,,,,,,,,,,::::;;;;;;;;::,,,... ....,,,,,,....................,,:;=+*xO8%#@@@@@@@@@@@@@@@@@@@@@##%%8OOoxx*++=;;::,.. ..,,::::
::,,.. .....,,,,,,,,,:::::,,,,,,,.,,,,,:::;;;;;;;;:::,,.. ....,,,,,,,,,,,,,,.............. ...,:;=+*xo8%#@@@@@@@@@@@@@@@@@@@@##%%8OOooxx**++=;;:,.. ..,,:::::
:,,,.. .....,,,,::::;;;:::::,,,,,,,,,,:::;;;;;;;:::,,.. ....,,:::;;;;;;::::,,,,,............. ...,,:;=+*xoO8%##@@@@@@@@@@@@@@@@@##%%8OOooxxx**++==;:,.. ..,,,::::::
,,,.... ....,,,::;;;;;;;;;:::,,,,,,,,:::;;;;;;;:::,,... ..,,::;;===+====;;:::,,,,,,................,,::;=+**xoOO8%%##@@@@@@@@@@@@@##%88Ooooxxx***++==;:,.. .....,,,:::::::::
,,,........... ...,,,::;;;====;;;;:::::::::::;;;;;;::::,,,.... .,,:;;=++****+++==;;::,,,,,,.............,,::;;==+**xxooOOO88%%##@@@@@@@##%%8OOooxxx****+++=;;:,. ...,,,,:::::;;;;;;:::,
,,,................ ....,,:::;;;;==;;;;;;;;;;;;;;;;;;;::::,,,,,...... ..,:;==++******+++==;;:::,,,,...........,,::;;==+++****xxxxooOO88%%%###%%%88OOooxxxx***+++==;;:,,. .,,,::;;;=======;;;:::,
,,,,,,,,,,,,,,,,.........,,,::::;;;;;;;;;;;;;;;;;;;;;;;:::,,,,,......... ..,::;=++*******+++==;;;:::,,,.........,,::;;==+++**********xxxooOOOO8888OOOoooxxxx***+++==;;::,,.. ..,:;;==+++***+++==;;::,
:::::::::::::::,,,,,,,,,,,,,:::::::::;;;;;=========;;;::,,,,............. ..,,::;==+++*****++++===;;;::,,.........,,::;==++********+++++****xxxxxoooxxxxxxx*****+++==;;::,,... .,::;=+**xxxxx**++==;;::
;;:;;;;;;;;;;;::::::::::::::::,,,,,::::;;;=========;;;::,,........................,,::;;====++++++++++====;;;::,,........,,:;;=++**********++++++++++++++++++++++++++++++==;;::,,.. .,:;=+**xoooooxx**+==;;;
============;;;;;;;;;;;;;;::::,,,,,,,,::;;;========;;::,,,...................,,,:::;;;===================;;;:::,,......,,,:;;==+***********+++++++======;;;;;;;==========;;::,,.. .,:;=+*xxooooooxx**++===
++++++++++======++++++===;;;::,,,,,,,,,::;;;;===;;;:::,,,...... ....,,::;;;===++++====;;;;;;;;;;;;;::::,,,,...,,,::;;==++************+++++==;;;:::::::::::;;;;;;;;::,,.. .,:;=+**xxooooxxxx******
xxxx******+++**********++==;;::,,,,,,,,,::::::::::::,,,,..... ...,,:;;==+++**++++==;;;;:::::::::::,,,,,,,,,,,::;;;==++++++**********+++==;;::,,,,...,,,,,:::::,,,... ..,:;==+***xxxxxxxxxxxxxx
ooooooxxxxxxxxxxxxxxxxx**+==;;::,,,,,,,,,,,,,,,,,,,......... ..,,:;==+********++==;;;::::,,,,,,,,....,,,,:::;;;====++++++++++++**++++==;;::,,.................. .,,:;;==++++****xxxoooooo
88OOOOOooooooooOOOOoooxx**++==;;::::,,,,,,...... ..,:;;=+**xxxxx**+++==;;:::,,,...........,,::;;;===============++++++++==;;::,,.... ..,,:::;;;;====++**xxooOOO8
888888888888888888OOOooxx**+++===;;;::,,... ..,::;=++**xxxxx***++==;;::,,,... ...,::;;====++===================;;;::,,,.... ..,,::::::::;;;;==+**xooOO88
8%%%%%%%%%%%%%%%%888OOooxxx****++==;;::,.. .,,:;;=++**********+++==;;::,... ..,,:;;===+++=====;;;;;;;;;;;;;;::::,,,,...... ..,,:::::::::::::;;==+*xxoOO88
8%%%###@@@@@@@###%%88OOooooxxxx**++=;;:,. ..,::;;==++++++++++++++==;;::,,.. ..,,::;;==========;;;;;;;:::::::,,,,,,......... ..,,::::::::,,,,,:::;;=++*xxoOO8
88%##@@@@@@@@@@@##%888OOOooooooxx**+=;:,.. .,,::;;;;=========+++====;;::,,.... ....,,::;;;=========;;;;;;::::,,,................. .,,::::::::::,,,,,:::;;==++*xxooO
O8%%#@@@@@@@@@@@##%%888OOOOOOoooxx*+=;:,.. .,,:::::;;;;;;;;;;=====;;;:::,,,,...,,,,:::;;;;========;;;;;;:::,,... ..... ..,,:::::;::::::::::::::;;===++**xoo
OO8%#@@@@@@@@@@@###%%888888OOOoox**+=;::,. ..,,,,,:,,,:::::::::;;;:::::::,,,,:::::;;;;;;;;;;;;;;;;;;;;;:::,,.. ...,,,::::;;;;;:::::::::::;;;;;====++**xo
oO8%%#@@@@@@@@@@###%%%%%888OOOoxx*++=;::,.. .............,,,,,,,,,,,,,,:::::;;;===========;;;;;;;;;;;;:::,,.. ..,,,:::;;;;;;;;;;;::::::::;;;;;========+++*xx
oOO88%###############%%%%88OOoxx*++=;;::,,. ...........,,,::;;==+++***++++====;;;;;;;;;:::,,.. ..,,::;;====+++====;;;:::::;;;;;=========++++**xx
ooOO8888%%%%%%%%#####%%%88OOoxx*++=;;::,,,.. .,,:;;=+***xxxx***+++=====;;;;;::,,,.. ..,::;==++******++==;;;;::;;;;====+++++++++++***xx
ooooOOOOOOOO888%%%%%%%%88OOox**+==;;::,,,.. .,:;=++*xxooooxxx***+++===;;;::,,,.. ..,:;==+**xxxxxx**++==;;;;;;;;===+++++++******xxxxo
oooooooxoooooOOO88888888Ooox*++==;:::,,,.. .,:;=+**xxoooooooxxx***++==;;::,,... ..,:;==+*xxooooxxx*+++===;;;=====+++++*****xxxxooooo
oooxxxx***xxxoooOOOOOOOoox**+==;;::,,,.. .,:;==+*xxooooooooooxxx**+==;::,,... ...,::;=++*xxxooooxx***+++=========++++++***xxxoooOOOOo
ooxxx********xxxxxooxxxx**++==;;::,,.. .,,:;=++**xxoooOOOOOooxx*++=;::,,....... ... .....,,,:::;==++**xxxxxxxxx***+++++++++++++++++***xxoooOOOOOOO
ooxx****++++********++++===;;;::,,... ..,::;==++*xxoooOOOOOooxx*+==;::,,,,...... .... ..,,,::::;;===++***xxxxxxx*************+++++++++++***xxooOOOOOOOO
ooxx****++++++++=====;;;;::::,,,... .. ..,,::;;==+**xxooOOOOooxx*++==;;:::,,,,,... ..,,::;;===++***xxxxxxxxx*****++++**********+++++++***xxoooOOOOOOOo
xxxx*****++++===;;::::,,,,,,,.... .... ..,,,::;;==++*xxxoooooxxx**++===;;;;:::,,.. ..,,::;==++*xxoooOOOOoooxx***++++++++***********++++****xxooooooooooo
xxx*******++==;;::,,...... ...,,,,::;;;=+++***xxxxx******++++===;;::,,.. ..,,:;;=+**xoOO888%888OOoox**++++++++++*****************xxxxxxoxxxxxxx
*********++==;::,,.. ...,,,,:::;;;===+++++++***********+++==;::,,.. ..,,:;;=+*xoOO8%%####%%88Ooxx**++++++++++++***********xxxxxxxxx********
++++***+++==;::,.. ...,,,,,::::;;;;;;;======+++****xx***++=;;::,,......... ..,,:;;=+*xoO8%%#@@@@@#%%8OOoxx***++++++++++++++*****xxxxxxx****++++++++
====+++===;;::,.. ....,,,:::::::::::::::;;;;==++**xxxx***++=;;:::,,,,,,,,...... ..,,:;;=+*xoO8%%#@@@@@@##%%8OOooxx****+++++++++++****xxxxxx***+++===;;;==
;;;;;;;;;:::,,.. ...,,,:::::::::::::,,,:::;;==++********++===;;;:::::::,,,,,...... .,,::;=+*xoOO8%###@@@@###%%888OOoooxx***+++++++++****xxxxx***++==;;;:::;;
::::::,,,,.... ....,,,:::;;;;::::,,,,,,,,::;;==+++*****++++======;;;;;:::::,,,,,,,,,... .,,:;=+*xxoO88%%#######%%%%%8888OOOooxx***++++++*****xx****++==;;::::::::
,...... .....,,,::::;;;;;::::,,,,,,,,:::;;====++++++++++++++++====;;;:::::::::::,,,.. .,:;=++*xoOO8888%%%%88888%%%%%%%888OOooxx****************++==;;;:::,,,,,,
. ........,,,,,,,::::;;;;;::::::,,,,,:::::;;;;;;;======+++++***++++===;;;;;;;;;;;:::,,. .,:;=+*xxoOOOOOOOOOOOOOO8888%%%%%%888OOoooxxxxxxxx****+++==;;;::::,,,,...
..,,,,,::::::::::::;;;;;;::::::::::::::::::::::::;;;;===+++*******+++========;;;;;::,,. .,:;=+*xxoooooooooooooooOOO888%%%%88888OOOOoooooxxx**++==;;;::::,,,,...
.,,,::::;;;;;;;;;;;;;;;;::::::::::;;;;;;;;;;:::::::::;;===++********+++++++=====;;;::,.. .,:;=+**xxxxxxxx*****xxxoooOOO888888888888888OOOoox**+==;;:::::,,,,...
.,,:::;;;;=========;;;;;::::::::;;;;======;;;::::::::::;;==++++***********+++++==;;::,.. .,,:;==++******+++++++***xxxoooOOO8888%%%%%%%%%8OOox**+==;;:::,,,,,...
..,,::;;====++++++====;;;:::::::;;;=========;;;:::::::::;;;===+++++***********++==;::,.. ..,::;;===============++++****xxxooOO88%%######%%8Ooxx*+==;;:::,,,,..
..,,,::;;;==++++**++++==;;;::::::;;;===++++====;;;;::::::;;;;;=====++++*********++=;::,.. ..,,,::::;;;;;;;;;;;;;;======++++**xxooO88%%#####%%8OOox*++=;;;::,,,..
...,,,,:::;;;==+++*****+++==;;;;::;;;;;====+++======;;;;;;;;;;;;;;;;;;===+++*******++=;::,.. ......,,,,::::::::,,,,,,,:::::;;;;;;;====++**xooO88%%###%%%8OOox**++==;;::,..
..,,,:::::::;;;;;==+++*****++++===;;;;;;;;=========================;;;;;;;;;===+++****++==;::,.. ....,,,:::::;;;::::,,,........,,,:::::::;;;;;==++*xxoOO88888888OOooxx**++==;::,..
.,,::;;=============+++++++++++++============================+++++++====;;;;;;;;===+++++===;;:,,.. ...,,::;;;=====;;;::,,... ....,,,,,:::::;;;==++*xxoooOOOOOOOooooxxx**++=;;:,.
.,::;==++*********++++++++++++++===================;;;;;;;;===++++++++++====;;;;;========;;;::,,... ...,,::;===++++==;;:,,.. .....,,,,:::;;===++***xxxxxxxxxxxxxxxxx**+==;:,.
.,,:;=+**xxxoooooooxxxxxx***++++==========++++++====;;;;;;;;;===++++++++++++==========;;;;:::,,.... ..,,::;==++++++==;;:,,.. ...,,,::;;;===++++++++++++*****xxx**++=;;:,.
..,:;=+**xooOOO8888888OOOooxx**++==========+++++++===;;;:::::;;;====+++++++++++++++====;;;::,,... ...,,:;;==++++++==;::,,.. ..,,::;;;=========;;;====++++****++==;::,..
.,::;=+*xxoOO88%%%#####%%88Ooox**++========+++++++===;;;:::::::;;;;======+++++++++++++==;;:,,.. ...,,::;;========;;:::,,... ..,,::;;;;==;;;;;:::::;;;;=========;;::,,..
..,:;=++*xooO88%%##@@@@@@@@#%88Oox**+++=====++++++====;;;;::::::::::;;;;;;;===++++++++++=;;:,,. ....,,,::;;;;;=;;;;;:::,,,,..... ..,,:::;;;;;;:::::,,,::::::;;;;;;;::::,,,...
..,:;=+**xooO88%##@@@@@@@@@@@#%%8Ooxx***+++++++++====;;;;;::::::::::::::::::;;;==+++++++=;;:,,. ....,,::::;;;;;;::::,,,,,,,,,..... ..,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,.....
.,:;=+*xxooO88%%#@@@@@@@@@@@@@##%8OOooxxx****+++===;;;;;:::::::::::,,,,,,,,,::;;;=======;;:,,. ...,,:::;;;;;;:::,,,................ ...,,,,:::::::,,,,,,,,,,,,,,.................
.,:;=+*xxooO88%%#@@@@@@@@@@@@@@@##%%888OOooxx**++==;;;;:::::::::::,,,,......,,,::::;;;;:::,,.. ..,,::;;;;;;;;::,,... ...... .....,,,,,,,,,,,,,,,,,,,,,,,....
.,;==+*xooO88%%##@@@@@@@@@@@@@@@@@####%%88OOox**+==;;;;::::::::::,,,...........,,,,,,,,.... .,,::;;====;;;:,,.. ......,,,,,,,,,,,,,..,,,,,,,,,,,,...
.,:;=+**xoOO8%%##@@@@@@@@@@@@@@@@@@@@@@@##%88Oox*++==;;;;:::::::,,,,.... .,,::;;=====;;::,.. ...,,,,:::,,,,,.........,,,,,,,,...
.,:;=++*xoOO8%%###@@@@@@#######@@@@@@@@@@@#%88Oox**+===;;;:::::,,,..... ..,,::;;=====;;::,,.. ...,,:::::::,,,..........,,,,,,,.... Build, run, and governyour AI workforce.
One intelligent platform. Your agents. Your models. Your cloud.
How it works
Every project startsfurther ahead.
Work becomes memory. Memory becomes opportunity. Opportunity becomes an agent. Every agent is controlled. And the next project begins where the last one finished.
01
Work
MyNovie
An AI coworker for everything you do at work.
How it works
Every project startsfurther ahead.
Work becomes memory. Memory surfaces opportunity. Opportunity becomes an agent. Every agent is governed. And the next project begins where the last one finished.
The flywheelCompoundingenterprise knowledge
It compounds. Every loop.
The compounding flywheel: Work, Capture, Discover, Build, Control — five layers running as one continuous loop.
Neutral by design
Your agents. Your models.Your cloud.
No model of our own to sell you, and no single vendor to commit to.
- Codex
- Local models
- Codex
- Local models
@@@@@@@@@@@%#8ox*+++==;;:,. ,:;=*xxooooxx***xxooOO8888888####%%%%%%@@@@ @@@@@@@@@@@@%8Oox***++=;:,. ,:;=+*xxxx***+***xxooOOOOOOOO8888###%%%%@@ @@@@@@@@@@@@@#8Ooxxx**++=;,. .,:;=+++++++++++**xxooooooxxxxxooOO8##%%@ @@@@@@@@@@@@@%#8OOoooxx*+=;,. .,::;;========++*******+++===++*xoO8#%% %%%@@@@@@@@@@@%%#888OOox*+=;,. .,,::;;;;;;;;=======;;::,,,::;=*xoO88 OOO8#%@@@@@@@@@@%%%###8Oox+=:, ..,,:::::::::::::::,.. .,:;=+*xo xxxoO8#%%@@@@@@@@@@@@%#8Oox+;:. ...,,,,,.......... .:;==+ ***xxoO8#%@@@@@@@@@@@@@%#Oo*=;, ..,,,,.. .,:: *****xoO8#%@@@@@@@@@@@@@%8Ox+=:. .,,,,.. . +++**xxoO#%@@@@@@@@@@@@@@#Oo*=;,. .,,,.. ++***xoO8#@@@@@@@@@@@@@@@%8Ox+=:,. .... ***xxoO8#@@@@@@@@@@@@@@@@%#Oo*+;:,. ooooO8#%@@@@@@@@@@@@@@@@@@#8ox*+;;:,.. 888#%%@@@@@@@@@@@@@@@@@@@@#8Ox*+==;:,,,........ @@@@@@@@@@@@@@@@@@@@@@@@@%#8ox**+==;::,,,,,,.... @@@@@@@@@@@@@@@@@@@@@@@@@%#Ooxx*+==;;::,,,,..... @@@@@@@@@@@@@@@@@@@@@@@@%#8Ooxx*+==;;::,,,..... ... @@@@@@@@@@@@@@@@@@@@@@@@%#8Ooox*++=;;:::,,... ..,,... @@@@@@@@@@@@@@@@@@@@@@@@%#8OOox**+==;;::,,,... .,,,,,,.. @@@@@@@@@@@@@@@@@@@@@@@@%#8OOoxx**++==;;;::,,,,... .,,::::,,... .. @@@@@@@@@@@@@@@@@@@@@@@@%#88Oooxx***+++===;;;;:::::,,,,,,,,:::;;;;::,,,...,,,... @@@@@@@@@@@@@@@@@@@@@@@@%#88OOoooxxx****+++++++=========;;;;=======;;::::::;;;;::,,. @@@@@@@@@@@@@@@@@@@@@@@@%%#8OOOoooooxxxxx*****************++++*****++=====+++++++==;;:,,.. @@@@@@@@@@@@@@@@@@@@@@@@@%##8OOOOooooxxxxxxxxxxxxooooooooxxxxxxooooxxxxxxxxooooooxx**++==;;::,,,,... %%@@@@@@@@@@@@@@@@@@@@@@@@@%#88OOoooxxxx*****xxxooOOOOOOOoooooooOOOOOOOOO888#####88OOOooxxx*++==;;::,,... OOO88##%%@@@@@@@@@@@@@@@@@@@%#8OOoxx****++++***xxoO888#88OOooooOO88###%%%%@@@@@@@@@%%%%###88Ooox*+=;;::,,. ***xxooO88#%%@@@@@@@@@@@@@@@@%#8Oox**+++++++++**xoO8##%##8OOOoOO8##%@@@@@@@@@@@@@@@@@@@@@@@@%#8Oox*+==;::,. ===++**xoOO8%@@@@@@@@@@@@@@@@%#8ox**++++====++*xoO8#%%@%%#88OO88#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%8Oox*+=;;:,. ;;;==+**xoO8#%@@@@@@@@@@@@@@@%#Oox*+++=====+++*xoO8#%%@@%%#####%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#8Oox*+=;:,. .. ;===+++*xxoO8#%@@@@@@@@@@@@@%#8Oo*++=======++**xoO8##%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#Oox*+=:,. .,, +++++***xxoO8##%@@@@@@@@@@@@%#8Oox*++++++++***xooO8##%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%8Oo*+=:,. ..,:; *xx*****xxooO8##%%@@@@@@@@@@%#8Ooxx*******xxxooOO88##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%8Oo*+;:, .,,:;=
Where work happens
Connecting to yourexisting platforms.
No migration and no new system of record. Novamind connects into the places your business already works.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#Ox+=;:,,,.,,,:;=+*xoO8#####88Oox+==;:,,. .,:;=+++++++===== @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#8o*+=;:::,,:::;=+*xoO8######8Oox*+=;::,.. .,:;=======;;;;; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%8Ox*+==;;;::;;==+*xoO888##88OOox*+==;::,.. .,::;;;;;;;::::: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%8Ooox*++===;;;==+*xxoOOOOOOOOoox**+=;;::,,.... ..,:::::::,,,,,, @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#8OOoox**+======++**xxxxxxxxxxx**+++==;;::::::::,,. ..,,::::,,,.... @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##8OOoox**+=======+++++++++++++++++++===========;;:,. ..,,,,,,,,,,,,, @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#8OOoxxx*+++=========;;;;;;;;;;===+++++*******++=;:, ....,,,,,,:::; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#8Ooxxx****+++==;;;:::,,,,,,,,::;==++*xxxoooxx**+=:,. ...,::;;== @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#8ooxx*******++==;::,,... ..,::;=+*xxoOOOOOox*+=;:, .,:;==+* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#8ooxxxxxxxx**++=;::,... .,::;+*xooO88888Oox*+=:,. .,:;=+** @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#8Ooxxxxxxxxx*++==;::,,... ...,:;=+*xoO88###88Oox+=;:,. .,:;=++ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%8Oooooooxxxx**++==;;::,,,..,,::;=+*xoO888##88Oox*+=:,. .,:;== @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#8OOooooooxx***++===;;;::,,,:::;=+*xooOO888OOoox*+=;:,. ..,:;; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#88OOOOOOooxxx****+++===;;::::;;==+*xxoooooooxx*++=;:,. .,,, @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##8888888OOoooxxxx***++===;;;;;==+++********+++==;;::,,.. .. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%###88OOOooxxx**+++=============;;;;;;;::::::::::::,,,,.... @@@@@@@@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##88Ooooxxx**++===;;;:::,,,,,..,,,,,::;;======;;;:::,,.. @@@@@%%###8888888888##%@@@@@@@@@@@@@@@@@@@@@@@@@@%##8OOOoooxx*++==;::,,.. .,:;=++******+==;;;::,,.. %%%%%##88OOOOoooooOOO8#%%@@@@@@@@@@@@@@@@@@@@@@@@@%##88OOOooxx*++=;::,. .,:;=*xxooooxx*++==;;:,,.. %%%%##88OOoooxxxxxoooO88#%@@@@@@@@@@@@@@@@@@@@@@@@@%###888OOoxx*++=;::,.. .,:;=+*xooOOooxx*++==;;:,,.. %%%##88Oooxxx******xxxoOO88##%@@@@@@@@@@@@@@@@@@@@@@@%%%###8OOox**+==;::,,.....,,::;=+*xxoooooox**++==;;:,,.. %%%##8Ooox***++++++++***xxooO8#%@@@@@@@@@@@@@@@@@@@@@@@@@@%##8Ooox*++==;:::,,:::;;==++**xxoooxx**++==;;::,,.. %%%%#8Oox**++==========+++**xo8#@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#8Ooox**+==;;;::;;;===++++***xx***++==;;;::,,,.... @@%%#8Oox*+==;;;:::;;;;;==++*xO#%@@@@@@@@@@@@@@@@@@@@@@@@@@@%#8OOox**+==;;:::;;;;====++++++++++==;;;::::,,,,....... @@@%#8Oox*+=;::,,,,,,::;;==+*xO8#@@@@@@@@@@@@@@@@@@@@@@@@@@%%#8Ooox*+==;::,,:::;;;;;;=========;;;:::::::,,,,,,,,,... @@@@%8Oox+=;::,.. ...,:;=++*xoO8#%@@@@@@@@@@@@@@@@@@%%%%%%%#88Oox*+=;:,,...,,,:::::::::;;;;::::::::::::::::::::,,.. @@@@%#Oox+=;:,. .,:;=+*xoO88#%%@@@@@@@@@@@@@%%########88Oox*+=;:,.. ..,,,,,,,,,,,,,,,,,,,,,,:::::::;;;;::,,.. @@@@%#Oo*+=:,. .:;=+**xoO88##%%%@@@@@@@@@%%#88888###88Oox*+=;:,. ..,,,,,,,,,,,,,,,,.,,,,,::::;;;;=;;;::,. @@@@%8Oo*+;:, .,;;=+*xoO88###%%@@@@@@@@%##88888###88Oox*+=;,.. ..,,,,,,,,...........,,,:::;;;======;;::,.... @@@%#8Ox*+;:. .,:;=+*xoO88#####%%%%%%%###########88Oox*+=;,.. ..,,,,,,,............,,,:::;;===++++++==;;:,,.. ##88Oox*+=:, .,:;+*xoO888888888#########%%%%%##8OOo*+=;:,. ..,,,:,,,,,,,,,,,,,,,,:::;;===+++***xxx**+=;:,.. ooxxx*+=;:, .:;+*xoOOOOOOOOOO88###%%%@@@@@%%#8Oox*+;:,.. ..,,:::;;;;;::;;;;;;;;;;====+++++***xxoooox*+=;:,.
One intelligent platform
Individually powerful.Together transformational.
Teams get a co-worker. Builders get a build tool. Leaders get control. The business keeps what it learns.
- Lead QualifierError
- Contract AnalyzerError
- Support TriageDegraded
14 agents · 2 need attention
$0.00
Jun 17Today
12.0% vs yesterday
$58.00 · 22 tasks today
$0.00
Jun 17Today
9.5% vs yesterday
$46.20 · 22 tasks today
$0.00
Jun 17Today
4.2% vs yesterday
$0.00Total spend today
- Spec / PRD drafting$52.0035%
- Roadmap updates$33.2022%
- Stakeholder updates$24.0016%
- Standup digests$18.0012%
- Competitive briefs$13.006%
- Backlog grooming$13.006%
$149.20 · 8 tasks today
Weekly usage · by agent
Mar 17Apr 21May 26Jun 30
Working with Novamind
Built alongside your teams,run by them from day one.
We begin with how your teams already work, and a Novamind engineer sits with the team doing the job from the first week. We build on what you already run, and finish with your people running it themselves. What ships is something your organisation uses from the first day and improves from there.
01
Map the work
We sit with the teams who do the job, so what gets built fits the way they actually operate.
02
Build on what you run
Your models, your clouds, your data boundaries. Everything you already run stays exactly where it is.
03
Hand over the controls
Governance and cost visibility from the first agent, and a team ready to build the next one.