Plans for teams that
ship with agents.
Per seat, priced by the lane. Every seat ships with concurrency lanes plus background lanes for batch work — and the enterprise admin to govern who gets what. Add lanes à la carte as you grow; over your allowance you're never blocked, just gracefully degraded.
;;!;;!!!!!!!!!!!;!!;;;;;
!!!!!!!!!!~~~~~~!~~!!~!!~!~!!!!!!!!!!;;;
!!!!~~~~~~~~~~~~==~~=~=~~~~~~~~~~~~~~~~!!!!!!!;!;;
!!!!~~~~~~~==~=======================~==~~~~~~~~~~!!!!!!;;;;
;!!!~~~~~~==============+=++=+==+====+=============~~~~~~~~~!!!!;;;;
!!~!~~~~==========++==++++++++++++++++++++++++==+++=======~~~~~~~~!!!!!;;;
!!!!~~~=~====+=+++++++++++++***+++++***++++++++++++++=====+======~~~~~~~!!!!!;;;
;!!~~~~======+===+++++++***+++**++********++***+++**++*+++++++=+=========~~~~~!!!!;;;;
!!!~~~~=====+++++++*+*+**++**************************++*++***++++++++==+=====~~~~~~!!!!;;;
!~!~~=====++++++++*****************xx*******xx**xx**************++*+++++++======~=~~~~~!!!!;;;
!!!!~=~====+++++++++**********xx*xxxxxx****xxxxxxxxxx****xx*********++++*++++++++=====~=~~~~!!!!!;;;
;!!~~~====+++++++**********xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxx*******++++++++++======~=~~~!!!!!!;;:
!!~~~=====+++++++******xxx*xxxxxxxxxxxxxxxxxxxxx%%%%xx%xxxxxxxxxxxxx**********++*++++++=======~~~!!!!!!;;;
!!~~~~====++++++*******xx***xxxxx%%xx%%xxxxxx%%%%%%%xx%%%%xxxxxxxxxxxxx******x*******++++++=+====~~~~~~!!;!;;;
!!~~~=====+++++**+****xxxxxxxxxxxxxxxx%%%%%%%%%%%%%%%%%%%%%%%%%%%xxxxxxxxxxxxxxx*********+++++=+======~~~~!~!;;;;:
!~~~~====++++++******xx*xxxxx%x%%%%%%%%x%%%%%%%%%%%%%%%%%%%%%%%%%%xxxx%%xxxxxxxxxxxxxx****+*++++++=======~~~~!!!;;;:
!!~~~===+++++++******xxxxxxx%%%%%%%%%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%xxxxxxxxxxxxxxx******+++++=======~~~~~!!;;;;:
!!~~=~====++*++*****xxxxxxxx%%%%%%%%%%%%%%%%%###%%#######%%%####%%%%%%%%%%xxxx***xx****************++++++====~~~~!~!!!;;;:
!!~~~~==+==+*+********xxxxxxx%%%%%%%%%%%############%%%%%##%%%####%%%%%%%%xxxxxxx********************+++++++====~==~~~~!!;;;::
!!~~~~==+=++*+****xxxxxxxxxxx%%%%%%%%%%%%############%############%%%%xx%%xxx***xx********************++++++++====~==~~~~!!;;;::
!!~~~====++++*****xxxxxx%%%%%%%%%%%%%%%########################%%%%%%xxxxxxx**********++*******+++****+*****++++======~~~~~!!!;;;:
!!!~~=====++++*******xxxxx%%%%%%%%%%%##%#########################%%%%%xxxxx*******++++++++++++++++++++++++++**++++====~=~~~~!!!!;;;:
!!!~~=====++++*******xxxxx%%%%%%#%%%%%#################@@@@@#####%%%%%%xxxx*********+++++++===+++++++++++++++**+++++======~~~~!!!!;;;:
!!~~~~=+=++*****x**xxxxxxx%%%%%%%%%################@@#########%%%%%%%xxx**********++++++==++===+++++======++++++*++++======~~~~!!!!;;;;:
!!~~=====+++**+**xxxxxxxxxx%%%%%%%#########@#######@@@@@@@@@#####%%xxxxxxxx****+++++++++++++++++==========++==++++++++++++===~~~~~!!!;;;;:
!!~~~====+++**+**xxxxxx%xxx%%%%#%%%#######@@#@@#@@##@@@@@@@@#####%%%xxxxxxxx***++++++++++====+=+=============+==++++++++++++===~~~~~!!!;;;::
!!~~~~~=~==++++****xxxxx%%xx%%%%%%%##############@@@@@@@@@@#####%%%%x%%xx********+++++++=============================+++++++=====~~~~!!!!;;:::
;!!!~~~~=====+++**xxxxx%xxx%%%%%%%%%#####@@###@@@@@@@@@@@@@@@####%%%xx%xx***x****++++++++++============~~============+++++++=++====~~~~~!!!;;:::
!!!!~~~~~====+++***xxx%%xx%%%%%%%%%#####@@@#@@@@@@@@@@@@@@@@#####%%xxx%xx*********++++++++=============~~~~~===~~======++++++=++====~~~!~!!;;;::
;!!!!!!~~~~~===+++***xxxxx%%%%%##########@@@#####@@@@@@@@@@@@@@#%%#%%%%xx******+**++++==================~~~~~~~~==========++++++++=~~~~~~!!!!;;;::
;;;!!!!!~!~~~=~=+++***xxxx%%%%%%##########@@#####@@@@@@@@@@@@@@@%%%#%%%%xx******+**+++==========~~====~=~~~~~~~~~~==========+++++++==~~~~~~!!!!;;::,
;;;;;;;!!!!!~~====+**xxx%%%%%%%%%%#####@@@##@@@@@@@@@@@@@@@@@####%#%%%%%xxxxx*****++++++++++===~~~~~~~~===~~~~~===~~=========+++++++==~=~~~~!;;!;::,
;;;;;;;;!!!!!~~~===+***xxx%%%%%%%%%#####@@###@@@@@@@@@@@@@@@@@####%#%%%%%xxxxx*****++++++++++===~~~~~~~~===~~~~~===~~=========+++++++=====~~~!!;;;:::,
;;;;;;;;;;!!!~~~~==++***xx%%%%##%#########@@@@@##@@@@@@@@@@@@@@######%%xxxxx****+++++++++++++======~~~==~~~~~~===~~============++++++===~~~~!!!!!;;;:,
;;;:::;;;;;!!!~~~~=+++****x%%%%#########@@@@@@@@@@@@@@@@@@@@@@@#####%%%%xxxxx******+++++++++===========~~~~~~==~~~============++=+++++===~=~~~~!!!;;;:,.
;::::::;;;;!!!~~~~==++*+*xx%%##########@@@@@@@@@@@@@@@@@@@@@@@@@####%%%%xxxxx******+++++++++===+========~~~~~==~~~============++=++++++====~~~~!!!;;;::.
;::::::;;;;!!!!!~~====++***xx%%##########@@@@@@@@@@@@@@@@@@@@@@@@######%%%%xxx***xx*+++**+++++========~~===~~~===~~==============++++++====~=~~~!!!;;;::,.
::::::::;;;!!!!!~~====++***xx%%##########@@@@@@@@@@@@@@@@@@@@@@@@#######%%%xxxx**xx*+++***+++++++================~~==============++++++=+==~=~~~~!!;;;;,,.
:::::::::;;;;!!!~~===+++**xxxx%%%#######@@@@@@@@@@@@@@@@@@@@@@@@@@######%%%xxxxxx*****+*+++++++++++==============~~~==========++++++++++===~=~~!!!!!!;::,.
:::::::::;;;;;!!!~~===+++**xxxx%%%#######@@@@@@@@@@@@@@@@@@@@@@@@@@#######%%%xx%xx********+++++++++++++========================++++++++++=====~~~!!!!!;;:,.
::::::::::;;;;!!!~~=~==++***xx%%%%#######@@@##@@@@@@@@@@@@@@@@@@@@@@@@###%%%%%%%%xxx*xx****+++++++==++++===================+===++++++++++=====~~!!!!!;;;:,.
::::::::::;;;;!!!~~=~==++***xx%%%%#######@@@##@@@@@@@@@@@@@@@@@@@@@@@@@###%%%%%%%%xxxxxx***+++++++++++++++======++========+++==++++*+++++=====~~!!!!!;;;:,.
:::::::::;;;;;!!!~~~===++***xx%%%%%%########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####%%%%%%xxxxxxxx***+++*****++++++++++==+++===+++++++++***++++++=====~!~!!!;;;:,.
::::::::::;;;!!!~~~==++++***x%%#####%####@@@#@@#@@@@@@@@@@@@@@@@@@@@@@@@#####%%#%%%%%xxxxx**********++++++++++++==+++=+++++++++****+++++=====~~~~!!!!!;;:,.
:::::::::::;;!!!!~~~===+++***x%%#####%####@@@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@#########%%%xxxxxxx********+++******++++++++++++++++++****+++++=====~~~~!!!!!;;:,..
:::::::;;;;;;;!!~~~~===++**xxxx%%############@@######@@@@@@@@@@@@@@@@@@@@@@@#########%%%%xxxxxx********************+++++++++++*****+++++++====~~~~~!!;!;;:,.
::::::;;;;;;;;!!~~~~===++**xxxx%%%###########@@######@@@@@@@@@@@@@@@@@@@@@@@@#########%%%xxx%%xx**xx****xxx**************++*******++++++++====~~!~!!!;;;;:,..
;:::::::;;;!!!!!~~~====++***x%%%%%###%%######@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######%%%%%%%%xxxxxxx**************xxx**xxx******+++++===~==~~!!!;;;;::,.
;:::::;:;;;!!!!!~~===++++***x%%%%%%##%%######@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######%%%%%%%%xxx%xxxxxxxxxxx*****xxx**xxx****+*++++====~=~~~!!!;;;;::,.
;;;;;;;:;;;!!!!!~=~==++++**x%x%%%%%%###%%#######@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########%%%%%%x%%%xxxxxxxxxxxxxxxxx**********++++======~~~~~!!!!;;;:,.
;;;;;;;;!;!!!!!~=~=++++**xx%x%%%%%%%##%%%######@@###@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######%%%%%%%xxx%%%xxxxx%%%xx***********++++======~~~~!!!!!;;;:,.
;;;;;;;;!;;!!~~~==++++***xx%x%%%%%%%###########@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@######%%%%%%#%%%%%%xx%%%%%***xxx**+++++++++====~~~~!!~!!;;;;::,.
;;;;;;!!!;!!~~~~==+++**xxxx%%x%%%%%#%##%#######@@@##@@@@@@@@@######@@@@@@@@@@@@######@@@###@@@###%%%%%%###%%%%%%xxxxxxxxx*x****+++++++====~~~~!!!;;;;;;::,..
;;;;;;!!!!!~~~~~==++***xxxx%%xx%%%%%%%#%%#######@@##@@@@@@##@######@@@@@@@@@@@@######@@@###@#####%%%%%%##%%%%%%xxxxxxxxxx******+++++++====~~~!;;;;;;:;:::,..
:;;!;;!!!~~~~~====++******xxxxxxxx%%%%%%%###########@@@######@@@@@@###@@@###@@@###@@@@@@@########%%%###%%%%%%xxxxxxxxx*x********++=++==~~~~!;;;;;::::::::,..
;;!!!!!!!~~~====+++******xxxxxxxx%%%%%%%%############@######@@@@@@###@@@###@@@###@@@@@@#########%%%###%%%%%xxxxxxxx*x*********++==+==~~~~!;;;:::::::::::,.
:;!!!!!!~~~=====++++******xx%%%xx%%%%%%%#%%##########################@@@@@@###@@@#################%#%%%%%%x%%%xxx**xx******++++++++==~!!;;;;;:::,:,,,,::,.
:;!!!!!~~~=====+++++******xxx%%xxx%%%%%%%%%%%########################@@@@@@#####################%%%%%%%%%xx%%xxxx**x*******+++++++==~~!!;;::::,,,,,,,,::,,
;!!!!~~~=====++++++********xxxx%xxx%%%%%%%#%%%##%%%##################################%###%%%%%%%%x%%%%x%%xxxxxxx*********+++++===~~~!;;;;:,,:,,,,,,,,,,,
;;!!!~~~======+++++**********xxx%xx%%%%%%%%%%%%%%%%#######################%%%##%##%%%%#%%%%%%%%xxx%%%xx%xxxxxx***********+++++=~~~~!;;;;::,,,,.,,,,.,,,,
;;!!!!~~~====+++++*******xxxxxxxxxxxx%%x%%%%%%#%%%%%%######%%%#######################%%%%%%%%%%%%%%xxxxxxxxxx*x****++++++++====~!!!;;;::,,,..,....,,,,
::;!!!~~~~====++++++++*******xxxx%%xx%%%%%xx%%%%##%%%###%%%######%%#####%###%%%%%%%%%%%%%%%%%%%%%%%xxxxxxxxx******+*++++=====~~!!;;;:::,,,,.......,,,,
::!!!~~~~~====++++++++*******xxxxxxxx%%%%%xx%%%%##%%###%%%%%%###%%###%%%###%%%%%%%%%%%%%x%%%%%%%xxxxxxxxxx*****+++++++=====~~~!;;;:::,,,.........,,,
,,:!!!!!~~~======+++***+++++++*****xxxx%%%%%%%%%%%%%%%%%%%%%%%%%##############%%%%%%xxx%%xxxxxxxxxxxxxxxx********++++===++==~!;;;::::,,.,.......,,,,
,:;!!!!~~~~~=====++++++==++=++++++**xxx%%xxx%%x%%%%%%%%%%%%%%%%%%%%%###%%%%%%%%%%%%xx%xxxxxxxxxxxxxxxx******+***+++====+==~!!;;:::,,,.,,.......,,,
,,:!!~!~~~~=====++++=========+++++***xxx%%%%%%%%%%%%%%x%%%%%%%%%%%%%%%%%%%%%%%%xxx%xxxxxxxxxxxx**********+**++++++======~!!!;;;::,,,,.........,,
.,,:!!!!~~~~=====++===~~~~~=====++++**xxxxx%%%x%%%%%%%xxxxxxxxxxxxxx%%%xx%%%%%%xxxxxxxxxx*xxxxx********++***++++=======~~!!!;;;:,,,,.........,,,
.,:;;!!!~~~=========~~~~~~~~~~====+++*xxxxxx%xx%%%xxx%%%%%%%%xxx%%%%%xxx%%%%%%xxxxxxx*xx***xxx**********+++++==+=+==~~~~~!;;;:::,,,.......,,,,
.,:;!!!~!~~~========~~~~~~~~~~~~==+++**xxxxxxxxxxxxx%%%xxx%%xxx%%%xx%%%xxxxxxxxxxxxx*xxx************+++++++===========~!!;;;::,,,,,...,,,,,,
.,:;;!!~!~~~=======~~~~!!!~!!~~~===++****xxxxxxxxxxxxxxxxxxxxxxxxxx%xxxxxxxxxxxxx**xxx***********+++++++++========~=~~!;;;;::,,,,,.,,,,,,,
.,:;;!!!~~~~~====~~~~!!!!!!!!~~~==++**xxx*xxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxx***xx**********++++++++++========~~~~~~~!!;;;:::,,,,,,,,,,,
.,:;!;!!!!~~~===~=~~~~!!!!~~~~~~~+++******xxx**xxx**xxxxxxxxxxxxxxxxxxx**xxx********++*****+++++============~~~~~~~!!!!;;;::,,,,,,,,,,
.,:;!;!!!!~~~~=~==~~~~!!!!~~~~~~+++************xx*****xxxxxxxxxx***xxx**xx********+++++**+++++============~~~~~~~!!!!;;;::::::,:,,,,
.,:;;!!!!!~!~~~~=~~~!!!!~~~~~==+++**************************************++*****++***+++++++========~~~=~~~~~!!!!!!;!!;;::;::,:,,,,
.,:;;;!!!!~~~~~~~~~~~~~~~~~====++*+++++++**++*************************++*****++++++++++==========~=~~~~~~~~!~!!;;!!;;;:;::::,,,,
.,::;;;;!!!~~~~~~~===~~~~====++++++++++++++++****+++*****++++++++++++++***+++++++++++=========~~~~~~~~~~!!!!;;;!;;;;:::::,,,,,
,::;;;;!!!!~~~~~~~==========++++==+++++++**++***+++++++**+++++++++++++++++++++++=+==========~~~~~~~~!!!!;!!!;;;;;:::,,,,,,
,:::;;;;;!!!~~~~~~==~~=======+====++++++++++++++++++++++++++++++++==+++++==++=======~~====~~~~!!~~!!!!;;;;;;;::::::,,,,,
::::;;;;!!!!~~~~~~~~~~~~==========+++++++++++++++++++++++++++++===++++==++=======~~==~~~~~~!!~!!!!;;;;;;;;:::::,,,,,
:::;;;;;;!!!!!!!~~~~~~==~~~~============+++++==++++=====++==++===========~~~~~~~~~~~~~~~~!!!!!!;;;;;;;;;:::,,,,,,,
:::;;;;;!;!!!!~!!!~~~~=~~==~~==~~====================================~~~~~~~~~~~~~~!!!!!!!!!;;;;;;:::::,:,,,,,
:::;;;;;!!!!!!~~!~~~~~~~~=~~===~===~========================~~~~~~~~~~~~~~~~~~~~~!!!!!!!!;;;;:::::::,:,,,,
,:::;;;;;;;;!!!!!!!!!!~~~~~~~~~~~~~~~~~======~~~~=~==~~====~~~~~~~~~!~~!!~~~!!!!!!!;;;;;;;;::::::,:,,,,,
,:::::;;;;;;!!!!!!!!!~~!!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!~~~~!~~!!~~!!!!!!!!!!;;;;;:::::::,:,,,,,,
,::::;:;;;;;!!!!!!!!!!~!!!!~!~~!!!~~~~~~~~~~~~~~~~~!!~!~~!!~~!!!!!!!!;;!!;;;;;;;:;::::,:,,,,,,
,::::::::;;;!;!!!!!!!!!!!~~~~~!!!!!!!~~~!!!!~~~~!!!!!!!!!!!!!!!;;;;;;;;;:::::::::,,,,,,,,,
,,::::::::;;;;;!!;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;!!;!!;;;:;;:;;;:::::,:,,,,,,,
,,,::::::;::;;;;;;;;;;!!;!!;!!;!!!;;;;;!!;;;;;;;;;!;;;;;;;;;::;:;::::,,,,,,,,,,,
,,,:::::::::;;;;;;;;;;;;;;;;;;!!;;;;;;!;;;;;;;;;;;;;;;;::::::::,:,,,,,,,,,
,,,,,,::::::::::;:::;;;;;;;;:;;;;;;:;;;;:::;;:::::::::,::,,,,,,,,,,,
,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,
,,,,,,,,,::::,::::::::::::,,::::::,,:,,,,,,,,,,,,,
,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
Per seat, priced by the lane.
One simple seat price covers the platform and a baseline of compute. Every seat includes 2 concurrent lanes + 2 background lanes per seat — enough for an engineer and an agent working in parallel, with a background pool for batch jobs. Need more? Add lanes à la carte.
A lane is room for one inference request in flight. Concurrent lanes cap interactive parallelism; background lanes are a separate pool for batch and ballast work that can wait. Over your lane-hour allowance you're never blocked — traffic degrades to a lower QoS tier and keeps running.
$ lunaroute-cli teams seats assign \
--user ada@yourco.com \
--lanes 4 --bg-lanes 4 \
--budget 200 # $/month cap
$ lunaroute-cli keys create ci-nightly \
--lanes 2 --bg-lanes 8 \
--budget 80
✓ assigned. concurrency and background
lanes are enforced per user and per key.À la carte — add lanes as you grow.
Start every seat at the baseline and dial up the teams, agents, or keys that need more. No tier lock-in; mix and match across seats and keys.
Enterprise admin, on every seat.
The controls a platform team needs to hand AI to a whole engineering org — included from the first seat, not gated behind a "contact sales" enterprise tier.
+
* · · . * *
. * *
* . . + + *
* + ·
*
.. . + +
. * *
* *
* * . · +
·* . . +
+ +
+ .
· ·. .
* · .
· + .
* * . · ·
* + + *
· +
+ · .
+
· . *
· * * . +
* + . +
* +
+ .
. * . * +
. * + *
+ *
* . * Bring your team aboard.
$39/seat/mo, 2 + 2 lanes to start, and the admin to govern it. Add lanes as you grow; over-allowance never blocks.
;;!;!!!;!!!!!!!;!;!;;;;;
;!!!!!!!!~!!~!!!~~~!!~!!~!~!~~!!!!!!!;;;;;
;!!!!!!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!!!!!!!!;;;;
!;!!~!!~~~~~~~~~~~~~=~~~=====~===~=~~=~~~~~~~~~~~~~~~!!!!!!!!;;;
;!!!~~~~~~~===~=~====================================~~~~~~~~~~!!!!!!;;;
!!!!~~~~~~~~=~============+++==+++=+++++======++=========~==~~=~~~~!~~!!!;!!;;
!!!!~~~~~~~~========+++++++++++++++++++++++++++++++++===++++======~=~~~~~~~~!!!!!!;;
!!!~~~~~=========++=+++++++++++++++**+++++++++**+++++++++++++++++++=======~~~~~~!!!!!!!;;;
!!!!~~~~======++===++++++**++*++**++*****************+++++++**+++++++====+====~=~~=~~~~~!!!!!;;;
!!!~~~~~=========++++++++***************************************++++++++++++=========~~~~~~~!!!!;;;;;:
!!!~~~~=====+==+++++++++**************xx******xxxx****xx*****************++++++++++++=====~=~~~~~~!!!!!;;;
!!!~~~======++=+++++++***********xx****xxxx**xxxxxxx**xxxx*****************++**++++++++++=+=====~~~~~~!!!!!;;:
!!~~~~=~===++++++++++***************xxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxx*****************++++++=====~=~~~~~~~!!!!;;;:
!!~~~~~=====+++++*++*******xx***x**xxxxxxxxxxxxxxxxxxxxx%%xxxxxxxxxx**xx**xx************++++++++++======~~~~!!!!!;!;;;
!!!~~~~===+=+++++**+*********x****xxxxxxxxxx%%xxxxxxxxx%%%xx%%xxxxxxxxxxxxxxxxx**xxx**********+++++++++======~~~!!!!!!;;;:
!!!~~~~~==+++++++************xxx*xxxxxx%xxxxx%%%%%xxxxx%%%%%%%%%xxxxx%%%xxxxxxxxx***xxxx*********+++++++++=======~~!!!!!!!;;;:
!!~~~=====++++++++**********xxxxxxxxx%%xxxx%%%%%%%%%%%%xxx%%%%%%%%%%%%%%%xxxxxxx%%xxxx***************++++++=++===~~=~~!~~!!;;;;:
!!~~~~~===+=++++++*****x****xxxxxxx%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%xxxxxxxx**xx*********++++++=++====~=~~~~!!!;;;;;:
!!~~~~~=====+++++******xx*xxxxxxxxxx%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%xxxxxxxxxxxxx**********+++++=++======~~~~!!!;:;;::
;!~~~======++++*+******xxxxxxxxxxxxxxxxxxxxx%%%%%%%%%%%##%%####%%###%%%%%%%%%%%%%%%%%%%xxxxxxxxxxxxxxx********++++++=++======~~~!!;;;:::::
!!~~~=====+=+++++*********xx*****xx**xxxxxxx%x%%%#%%%%%###%%%%%###########%%%##%###%%%%%%%%xxxxxxxxxxxxxx*******++++++=+++===~~~~!!;;::::,,,
!~!~~=====+++++++*****************x*****xxxxxxxx%%%%%%%%###%%%#############%%%######%%%%%%%%%%xxxxxxxxxxxxx*******++*++++++++==~~~~!;;::::,,,,
!!!~~=====++++++*************************xxxxxxx%xx%%%%%#%################%%%#####%%%%%%%%%%%%%%%%%%%xxxxxxxx*******+++++++++===~~~!!;;::::,,,,,
!!!!~~=====+++**+**++++++***++++***********xxxxxxxxxx%%%%%%%%#################%#####%%%%%%#%%%%%%%%%%%%%xx%%xxxx*******+++++++++====~~!!;;::,,,,,.,,
!!!~~~====++++**********+++++++++**+++***********xxxxxxxxx%%%%%##@@@##################%%######%%%%%%%%xxxxxxxxxxx**xxx******+++++++===~~!!;;::,,,,..,,
!!!~~~~===++++***+*+++++++++===++++++++++**+++******xxxxxxxx%%%%%##@@##########################%%%%%%%%%%x%xxxxxxx***xxxx*****+++++++===~~!!;;::,,.,..,,
!!!~~====+++++++++++++++==+++++++++++++++***+++*********xxxxxx%%%%%##@############@@@#########%%%##%%%%%%%%%%xx%%%xxxx*********+*++++==+==~!!!;;::,,,,....
!!!!~=====++++*+++++==+++++++=====+++++++++++**+++******xxxxx%xxx%%#####@@@@@###@@@@@@############%%%####%%%%%%%%%%xxxxxxxxx*****++++++==+==~!!;::::,,,....,
;!!~~=====++++*++++++==+++++++=====++=+++++++++*+++******xxxxx%xxx%%%#####@@@@@@#@@@@@@######@@####%%%######%%%%%%%%%xxxxxxxxx*****+++++==++=~~!!;::::,,,....,
!~~~~~===++++++++++=++====================+++++++++********xxxx%%%%%%%#####@@@@@@@@@@@######################%%%%xx%xxxxxxxxx********+++++++===~~!!;;::,,,.....
;!~~~~~===+++++++===+++====================+++++++++********xxxx%%%%%%%%####@@@@@@@@@@@@@@#@#################%%%%%x%xxxxxxxxxx*******+++++++====~~!!;;::,,,,...,
!!!~~~====+++++++====++===================++++++++++++++****x***x%%x%%%%######@@@@@@@@@@@@@#@@@################%%%%%%%%xxxxxxx*xx*******+++++======~!;;:::,,,,.,.,
;!!~~~====+++++++====++=====================++++++++++++++***x***x%%x%%%%######@@@@@@@@@@@@@@@@@@###############%%%%%%%%%xxxxxxx*xx*******+*+++======~!;;::::,,,.,,,
!!!~~~====+++++==++===========================+++++++++++++*****xxxxxxx%%%####@@@@@@@@@@@@####@#####@@@############%%%%%%xxxxxxxxx**x****++++++=====~~~!;;;;::,,,,,,
!!!~~~~===+++++==++======~======~===~~==========++++++++++++*****xxxxxxx%%%####@@@@@@@@@@@@####@@@###@@@#############%%%%%xxxxxxxxx**x*****+++++======~~~!;;;;::,,,,,,
;!!~~~~===++++++==+=++=============================+++++++********xxxxx%%%%%%%##@@@@@@@@@@@@@@@@@@@@@@@@@@####%%%%%###%%%%%xxxxxxxxxx********++++++====~~~~~!;;;:::,,,,,
;!~~~~===+++++++=+=++==============================+++++++********xxxxx%%%%%%%##@@@@@@@@@@@@@@@@@@@@@@@@@@@####%%%%###%%%%%xxxxxxx*****+++++++++++++====~~~~~!!;;::::,,:
;!!~~~~===++++++++++=======~~====================+++++++++******xxxxxxxxx%%%%%###@@@@@@@@@@@@@@@@@@@@@@################%%%#%%xxxxxx*******+++++++++++++===~~~~!!!;;;:::::,
;!!~~~~==+=+++++++++=======~~===================++++++++++******xxxxxxxxx%%%%####@@@@@@@@@@@@@@@@@@@@@@################%%%#%%xxxxx***+*++++++=+=+++++++===~~~~!!!!;;;:;;::
;!!~~~====++++++++============~~==================+++++****+++*xxxxxxxx%%%%%#######@@@@@@@@@@@@@@@@@@@###@@@###@@######%%%%%%%%xx***+++++++++======++========~~!!~!!!;;;:::,
;!!~~~====++++++++========================+=====+++++++***++++*xxxxxxxx%%%%#####@#@@@@@@@@@@@@@@@@@@@@@##@@@###@@#######%%%%%%xxx**++++++=+==================~~!!~!!!!;;:::,
!!~~~=====++++++++++++=====================+++===++++++***+++*xxxxxxxxxx%%%%%#####@@@@@@@@@@@@@@@@@@@@@##@@@###@###%%%##%%%%%xxxx**++++================++====~~~!!!!!!;;::::
;!!~~~=====++++++++++++====++===============+++===++++++***++*xxxxxxxxxx%%%%%%####@@@@@@@@@@@@@@@@@@@@@@##@@@###@###%%%##%%%%xxxx***+++++=====~~~=~~~~========~~~!!!!!!;;:::,,
;!!~~~===+==++++++++++===++===========+++++++++===+++++*+*****xxxxxxxxxx%%%%####@@@@@@@@@@@@@@@@@@@@@@@@@@######@@@#####%%%%%%xx***++++=====~~~~~~~~~~~========~~!!!!!!;;;:::,
!!!~~~===+=+++++++++++===++===========++++++++==++++**********xxxxxxxxx%%%%###@@@@@@@@@@@@@@@@@@@@@@@@@@@@######@@@#####%%%%x%xx***+++=====~~~~~~~~~~~~~~~=====~~!!!!!!!;;:::,
;!!~~~====++++*+++++++++++++==+++===========+++++++++******x*xx*xxxxxx%%%%%%####@@@@@@@@@@@@@@@@@@@@@@@@##############%%###%%xxxx**++++======~~~~~~~~~~~~~~~=====~!!!!!!;;;;:::,
;!!~~~====++++++*+++++++++++==+++========++++++++++++****xxxxxxxxxxxxx%%%%%%####@@@@@@@@@@@@@@@@@@@@@@@@##############%%###%%xxxx**++++=====~~~~~~~~!!~~~~~~~====~~!!!!!;;;;:::,
;!!!~~====++++++****++++++++++++++++++++++++***********xx***xxxxxx%%%#########@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@#######%%%###%%xxx***+++===~=~~~~~~~!!~~!~~~~~~=~~~~~!!!!!!;;;:::,
;!!~~~=====+++++****+++++++++++++++++++++************xxx***xxxxxxx%%#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@#######%%%###%%xxx***+++===~~~~~~~~~!!~~!!~~~~~~~~~~~!!!!!!;;;:::,
;!!~~~~====+++*****++++++*****+++++++++*****+++***xxx**x**xxxx%xx%%%########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########%%##%%%%x**+++++==~~~~~~~~~!!!~~!!!!~~~~~=~~~~~!!!!;;;::,,
;;!!~~~~====+++*******+***********++**************xxxxxxxxxxx%%%%%%########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########%%#%%%%%x**+++++==~~~~~~~!!!!!~~!!!!~~~~~=~~~~~!!!!;;;::,,,
;;!!~~~~==++++++********************************xxxxxxxx%%%%%%%%%%%%%#####@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@#############%xx****++=+===~~~~~~~~~~!!!!!!~~~~~~~~~~!!!!!;;;::::,,
;;!!~~~~===+++++*****************************xxxxxxxxx%%%%%%%%%%%#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@#############%xx****++=+===~~~~~~~~~~!!!!!!~~~~~~~~~~!!!!!;;;:::,,,
;;!!~~~~======+++******xxxxx***xx****xxxxxxxxxxxxxxxx%%%%%%%%%%%##@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################%%%%%xxx***++=====~~~~~~~~~!~~~~~!!~~~~~~~~!!!!!!;;;;::,,
;;!!~~~~======+++******xxxxxxxxxxxxxxxxxxxxxx%%%xxx%%%%%%%%%#%##@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########%##%###%%%%%xxx***++======~~~~~~~~!~~~~~!~~~~~~~~~!!!;;!;;;:::,,
;;;!!~~~~====++++++*****xxxxxxxxxxxxxxxxxxxxx%%%xx%%%%%%%####@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################%%xx***+*++=======~~~~!!!~~~~~~~~~~~~~~~!~!!!!;;;:::,,,
;;!!!~~~====++++++*****xxxxxxxxxx%%%%%%%%%%%%%%%%%%##%%#####@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#################%%xxx****++=======~~~~!!!~~~~~!~~~~~~~~!!!!!!!;;:::,,,
;!!!!~~~=====+++++*****xxxxxx%xxx%%%%%%%%%%%%%%#########@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######@########%%%%#%%%%%%%xxxx*+++====~===~~~~~~~~~~~~~~~==~~~!!!!!;;;;;:::,,
;!!!!~~~======++++******xxxxx%xxx%%%%%%%%%%%#############@@@@@@###@@@@@@@###@@@@@@@@@@@@@@@@@@@################%%%%%%%%%%%%%%%xxx*+++========~~~~~~~~~~~~~~==~~~~!!!!!;;;;;:::,,
;;!!!~~~=======+**********xxxx%%%%%%%%%%%%%%%%%#########@###@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@#######%%%%%%%%%%%%%%%%%%%%%%%%%%xx****++++========~~~~~~~~~~==~~~~~!!!!!;;;;;::,,,
;;;!!~~~=======++**********xxx%%%%%%%%%%%%%%%%%##################@@@@@@@@@@@####@@@@@@@@@@@@@######%%%%%xxxxxxxxxxxxx%%%%%%%%xxx*x**+++++=======~~~~~~~~~~=~~~~~~!!!!;;;;;:::,,,
;;!!!~~~=====+++++**+***x**xxx%%%%%%%%%%%%%######################@@@@###@@@@@@@###@@@@##########%xxxxxxxxxxxxxxxxxxxxx%%%%xxxxxxxx**++========~~~~~~=======~~~~!!!!;;;;:;::::,
;;!!!~~~=~===+++++**+******xxxx%%%%%%%%%%%%%######################@@@###@@@@@@@###@@@@##%##%%%%%xxxxx**xxx**********xxxxx%xxxxxxxxx**++====+======~~======~~~~~!!!!;!;;;;:::,,
:;!!!~~~~======++++******xxxxxxxxx%%%%%%%%%%#########################@@@#######@@@@@#####%%%xxxxxx*xxx*******************xxxxxxxxxx***++++=+=============~~~~~!!!!;;;;;:::::,,
;;!!~~~~==~===+=++*******xxxxxxxxx%%%%%%%%%######%##################@@@#######@@@#####%%%xxxx***********++++***+++*******xxxxxxxxxx**++++++++==========~~~~~!!!!!;;;;;::::,,
:;;!!!!~~=======+++++*+*******xxxxxxxxxxxxx%%%%%%##########################@@@#####%%%%%xx*xxx****+++**+++++++++*****+++****xxxxxx****+++++====+++==~=~~~~~!!!!!;;;;;:;::,,,
;;;!!!!~~~=======+++++++*******xxxxxxxxxxxx%%%%%%%#####%######%%%###############%#%%%%%x***x******++++++++==++++++++*+++++***xxxx*****+*+++++==+++==~~~~~~~!!!!;;;;;;;:::,,,
;;;!!~!~~=~=====++++++*****xxxxxxxxxxxxx%%%%%%%%%%%%###%########%%##############%%%xxxx*******++++++=======+++===+++=++++++**xxx****++++++++++=+===~~~~~~!!!!;;;;;;::::,,,
:;;;!!!!~==~====++++++******x*xxxxxxxxxx%%%%%%%%%%%%%%%%%%######%%%####%%%#####%%%xxxx******++++++=====================+++++*xx****++++++++++=====~~~~~~~~!!!;;;;;;::,:,,,
;;!;!!~~~~~~=====+++++**++*******xxxxxxx%%%%%%%%%%%%%%%%%###%%%###%%%%%%%%%%%%%xxxx*****++++++++======~~~==========+++++++******+**++++==+====~~~~~~~!!!!!!;!;;;:::::,,,
::;!;!~!~~~~======++++**+++*********xxxxxx%%%xxx%%%%%%%%%%##%%%%%%%%%%%%%%%%%%xxxx*****+++++++========~~~~~~========+++++++****+++++++=======~~~~~~~!!!!!!;!!;;;:::,,,,,
:;;;!!!~~~~~====++++++***********xxxxxxxxxxxx%%%%%%%%%%%%%%####%%%%%%%%%####%%xx****++++++=++====~======~~==========+++++++++*++**+++++======~~~~~~~!!!!!!!;;;::::,,,,
:;!!!!!~~~~~====++++++***+********x*xxxxxxxxxxx%%%%%%%%%%%%%%%%%%%%%%%%###%%%%*****+++++==+====~~======~~~==========++++++++++**+++=+======~~~~~~~!!!!!!!;;;;::::,,,
,:;;!!!~~~~~~~=====+++++++*********x***xxxxxxxxxxx%%%xxx%%%xxx%%%%%%%%%%%%%xxx*******+++===========~~~~~~~============+++**+++++++=+======~~~~~~!!!!!;!!;;;:::::,,,,
,:;!!!!~~~~~~~=====++++++***+*********xxxxxxxxxxx%%%xxx%%%xxx%%%%%%%%%%%%xxxx*******+++==========~~~~~~~~===========+++***++++++========~~~~~~!!!!!;!!;;;:::::,,,,
,:;;!!!~~~~~==~===++==+++***************xxxxxxxxx%%%%%xxx%%%xxx%%%%%%xxxxxxxxxx**+*++++====~~~===~~~=============+++****+++==========~~~~~~!!~~!!!!!;;;:::::,,,,
,:;;!!!~!~~~==~===++==+++**+***********xxx*xxxxxxxx%%xxx%%%xxx%%%%%%%xxxxxxxxx****++++=+==~~~===~~~============++++**+++++==========~~~~~!!~~!!!!;;;;;:::,,,,,
.,:;;!!!!!~~~==~=====++=+++******************xxxxxxxxxxxxxxxxxxxxx%%%xxx%%%xx***+*+++++============~~~======++++++++++++++========~~~~~~!!!!!!;;;;;;;;::,,,,,,
.,:;!!!!!!~~~~=~====++===+++*+**++************xxxx**xxxxxxxxxxxxxxxxxxxxxxxx*****++++++==================++++++*++++++++======~~~~~~~~~!!!!!!;;;;;;;::,,,,,,
.,:;;!!!!!~~~~~~=====+==+++++++***+**************xxxxxx**xxxxxxxxxxxxxxxxxxxxx*+++*++===++===========+===++++++++++++=+====~~~=~~~!~~!!!!;;;;;;:::::,,,,,,
.,:;;!!!!!!~~~~~======++=++++++*****++*******************xxxxxxxxxxxxxxxxxx***x**++++++===+====+++===+++++++++++==========~~~~~~~!!!!!!!!!;;;::::::,,,,,
.,:;;!;!!!!~~~~~======++==+++++++**+++*******************xxxxx******xxxxxx***xx***+**++++++++++++==+++++++++++==========~~~~~~~!!!!!!!!!;;:::::::,,,,,
,:;;;;!!!!!~!!~~~~==========+++++++**+++********************************************++++++***+++++*+++++++============~~~~~~!!!!!!!;;;;;;:::::,,,,,,
::;;;!!!!!!!!~~~~~========+++++++++*++*****+++************************************++++++**++++++++++++==========~~~~~~~!~!!!!!!!;;;;;;:::::,,,,,
:::;;;;!!!!!!~~~~~~~~=====+++++==++++++++++++******++***+++***********+++***********++*++++++++++===++==========~~~~~~!!!!!!!!!;;;;;::::,,,,,,
::::;;;!!!!!!~!~~~~~~~=====+=====++++++++++++++***+++**++++++********+++++***+++**++++++==++++++==+==========~~~~~~!!!!!!!!!;;;;;;::,:,,,,,,
,::;;;!;!!!!!!~~~~~~~~==========+++++++++++++++++++++++**+++++++++++***++++++++++++++++++==============~~~~~~~~~~!!!!!!;;;;;;:;::::,::,,,,
:::;;;;!!!!!!!!~~~~~~==~~======++=====++===+++++++++++++++++++++++++++++++++======+++++=======~~~~~~~~~~~~!!!!!!!!!;;;;;;;::::::,,,,,,
,::;;;;;!!!!!!!~~~~~~~~~=====~========++==++++++++++===+++++++++=++++++++++=====+=========~~~~~~~~~~!!~!!!!!!!!!!;;;;;;:::::,:,,,,,,
,::::;;;;;!!!!!!~~~~~~~~~~~=============+=====+++++++++===========+=++++++++====~~~===~~==~~~~~~~!!~~!!!!!;!!!!;;;:;::::::,,,,,,
,:::;;;;;;!!;!!!!~~~~~~~~~~~~~~~~~===========================================~~==~~~~~=~~~~!!!!~~!!!!!!;;;;;;;;:;;::::,,:,,,,,
::::;;;;;;!;!!!!!~~~~!~~~~~~~~~~~=======================================~~~~~~~~~~~~~~~~!!!!~!!!!;!!;;;;;;;::;:::::,,:,,,,
,::::;;;;;;;!!!!!!!~~~!!!~~~~~~~~~~==================~~~~~==~~~~~~~=~~~~~~~~~~~~~~!~~!!!!!!!!;;;;;;;;;:::::::,,,,,,,,,
,:::;;:;;;;;;!!!!!!!!!!!~~~~~~~~~~~~~~~~~======~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!!~~~~!!!!!!!!;;;;;;;;;:::::::,,,:,,,,
,::::::;;;;!;;!!!!!!!!!!!~~!!!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!!~~~!!!!!!!!!!!;;;;;;;;;;;;::::::,,,,,,,,,
,,,::::;;;;;;;;;!!;!!!!!!~!!!!~~~~~~!!~~~~~~~~~~~~!!~~!!!!!!!!!~~!!!!!!!!!!;!!;;;;;;;;;;;::::::::,,,,,,,,,
,,::::::;;;;;;;!;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~~!!!!!!!!!!!!!!!!!!;;;;;!!;;;;;;;:::::::,,,,,,,,,,,
,,,::::::;;;;;;;;;;;;!;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;!!;;;;;;;;;;;:::::::,,,,,,,,,,
,,,:::::::;;::;;;;;;!!!!!!!;!!!!;;!!!!!!!!;;;;;;!!;;;!!!;!!;;;;;;;;;;;;;:::::::::,,,,,,,,,
,,:::::::::;:;;;;;;;;;;;;;;;;;;;;;;;!!!!;;;;;;;;;;;;;;;;;;;::;;;::::::,::,,,,,,,,,,,
,,,:,,:::::::;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;:::::::::,,,:,,,,,,,,,,
,,,,,,,::::::::::::::::::;;:;;;::;;;;;;;::::::::::::::,:::::,,,,,,,,,,,,
,,,,,,,,,,,:,:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,:,,,,:::,::,:,,,:::,,:,,,,,,,:,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,