Make Shipping Software Painless

Make Shipping Software Painless

Indent gives you a team of purpose-built AI agents that review code, fix errors, query data, and respond to incidents, so you can stay focused on building as fast as you can.

.

. . .. .. .....

. ...

......-...............-..-----------------------+-+-+-+++++

. . ..............................-.-.---------+-+---++++++^~

.------+--+--+++++++++++++++++++++++^+^+^+^^^^^^^^^^^*****;;;n

.----+------++--+++--++--+--++++++++++++++++++^^^^^^^^^^****~n

.----aauzzzvvvzvvvvvvvvvvvvvvvvvvzvvvvvzvnvvvvvvvvvvzaav^***~n

.+---vu188%633633333333333!6!33333!633!63663366666868$o;^***~n

.--+-oz88663!!!!iiiiiiiiiiiiiii!i!!!!!!33!!333336666%88^+**;;o

.++-+n~6uaaaazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzaaaaua6$++***~o

-++++on3aavvvvazvvvvvvvvvvvvvvnvvvvvvvvvvvvvvvvvvvvaa6$++***;o

.++++ov3aavvzzazvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvza6%++**;~o

-++++oa3zznvvvavvvvvvvvvnvvvvvvvvvvvvvvnvvvvvvvvvvvza68++***;o

.-++++ou3a1v!vvavvvvvvvniuinvvvvvvi!1vni!nvvvvvvvvvvza68^+*;*~o

.-++++o16aavvvvavvvvvvvni!vnvvvvvzunininzuvvvvvvvvvvaa66^+**;~o

.-++++oi8aavvvvavvvvvvv!1znvvnzvvinuav!n!nnnavvvvvvvaa66++*;;~o

.-++++o!6aavvnvavvvnaininvinnin!niu1vn!3nnivvv3nvvvvaa86^+;;;~o

.-^^++o!6uavvvvavvvnvvuavnioo!!nvi!un!iia!3uo!nnnvvvua33^^;;;~o

.-^^^+n!6uavvvvuvvvvvvvvvvvvvvnvvnnnvnvvvvvvvvvvvvvvua88^+;;;~o

--^^^+ni8uuzzzzavvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvua88^^;;~~o

--^^^^o18uavvvvavvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvua6$^^;;~~o

--^^^^na8uavzvvaazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzaaaaaa8%^^;;;~o

--*^^^nz8uuv3!iao33naaaazzzzaauzvvvzvavzvvzvvvzavzazva6%^^;~~~o

--*^*^vv86!ii111uuuuuu111111iiiiiii!!!!!i!!!!!!333366688^^;~~~o

--***^n;868663333!36!!363!636!3866666666668688868386686.^*~~~~o

--*****+--...--....... .--+++++----.. .....--++++++++-+^~~~oo

--**********^^*^*^^^^**^^^^^*^^******************;**;;;;~;~~~oo

-+;***********^^**^^*******************************;;;;;~~~~~oo

++;;;;*;;*****************************************;;;;;;~~~~~oo

++;;;;;***;*************************************;;;;;;~~;~~~ono ------..

++;;;;;*;****************************;********;*;*;;;;;~~~~o~oo .

++;;;;;;**********************nonooooooo~~o~o~n~z1auuaao;;~~ooo ... . . ... ....

+^;~~;;;*;*;*;*;;*********;**;~^^++-------------^..-+**n;;~~ooo ..... . .. . .

+^;;~;;;;;;;*;;*****;*;***;*;;;;;*;;;;*;*;**;;;*+++++++^*;~~ooo .-.. . .

+^;;;o*on;;*****;;**;*;*;;;*;;;;;;;;;;;;;*;;;;;;;;;;;;;~~~~~ooo -. ... . .. .

+^;;;on1u;;;**;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;~;~~~~~~~~oozzzzzzaaaazzzvo*.-*. .

+^;;;;;*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;~~~~~ooo ....---.. .+-...... ..........

+^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;~~~~~~~~~onnv+ ... .+^*;;;;;;;;*;;;;;**

+;ooononnnnnnnnnnnvnnnnvnnvvvvvvvnnvnvnnvnnnnoonnnnonnonoonnnno z~ -+nvvvvvnnnnnnooonn

^~nnvnnvvvvvvvvvvvvvvvvvzzzzzzzzzzzvzzzzzzzvznnnnnnnnnnnonnnnnn z* . ^+ovvnnvnnnnonnonno

+-- ^+- +-- ^-- ^-- *-- ^-+;v~~*au~;^i3;;^68;~+6$*;+%%;;+%$~ovn~88636!!!i!i1uuaaaazzzzvn* *n. ++ovvnnoooooooooooo

.......-11iz*u1uz*auav*aaav;zazn~zaavozaunouuunnauunnauunvaa1nvuu1ov111^nu11iuv++++++^*ii111u336avvvvv; ~- .+^onvvnnnonnnoooooo

....... +.--..1!---ui---a1+--a1^+-uu^+-z1**^z1;;*ai***z!***u!;**a6*;*z6**;z6;~;o+++++++*!3!!1u3!3zvvvvn* .; ..+^onnnnnonooooooooo

......o-^*+^-+au+-+zu++-za++-na++-oa+*-;u+~^;u+;^;1^;^*i^^^*1^^^^!*;^^i;~~;***v;++++++*36!!3iii1izvvvn* *-.-^onvnnnnoonnoooooo

.......i.+*~ono;^vu.+-^u.+^-z***-a~^*.zno;-uaon^uuoo^u1~o;11on;1i~o;11;oovnvno;vn++++++*3666!11naaaazzn+ .-.-*oznznnnnnononnono

....... ;1u1uu1u1uu%uuua6aaaa3aaua3zaaa!vauu!vuu1!v1uu!z1i1!v1uu3au11!u1iiiu1uuuuu++++++^zi18auia6686iz*. ...+ovvnvvnnnnnnnnnnn

.-.--..*333!!nooo!~oo~~~a6~~oo~~o~~~;~~~~~~~~~~~~~~~~~~;~~~~~~o8~~~~~ov%~~~o633ii!++++++^o8663!!zo~;**^+. -++-. n..-*a1366%6668668%66

........-----auuua%uauuaaauaazaaauaaauaaaaauaaaauuuuuuuu1uuaaauu8auu1uuu6uuuu!+++++++++++^^n~;*^^+++++++-.--.-~zz;^+-!-**^^...+^^^^^^^^^^^^^^^^

-+------------------+---------------------------------+------+-++++++++++++++++++++++++++^^o~*^^+++++--+-+----------.~~~ooo..--+++^^+^++^^++^^^

++++++++++++++++++++------------+----++-------+-+++--+-++++++++++++++++++++++++++^^^^^^^^*^~;*^++++--^^^+++--------~~~vnnnn...--+++++++++++++++

.~vvnnnnnooooonooo~~~~~~~~~~~~;~;;;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~oo~oooooooonnnnnnnzv~;*+++++^^^^^^^^^^^^^;~~~nnnvvnn ..--+++++++++++++++

-;nvzvvvnvnnnnoooo~o~~~~~~~~~o~~~~oo~~o~~ooo~o~~o~o~~~o~~o~~o~o~o~oo~ooonoonnvvvvzzzzzzuaazn~;^++++*~~o~oo~*^^***;onnvvvz1v--------+++++++++++++

*vvvzvnnnoooo~~o~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~;~~~o~oo~;~~~o~ooo~ooooooooooonnnnnnnnvnvvn~*^++++;~ooooooonnonz1vvvz3a$in;...---++++-+++++++++

.....----+--------------------------++--++++-+++++-+-+++++++++++++++++++++++++++++++++++++++-++++++nnvnnz1annvva1v3a#ivo;^+. ..------+++----++-

.......--.-.--.--.....--.--...-...-.-------------.----------------------------------+---------+++++++++-;i$@@8zva@1zo;^+++-......--------------

.... .....................-.....-.......-.--..-----------------------------------------------+-++++++++++++++++++++++++---..... ....-.---------

.

. . .. .. .....

. ...

......-...............-..-----------------------+-+-+-+++++

. . ..............................-.-.---------+-+---++++++^~

.------+--+--+++++++++++++++++++++++^+^+^+^^^^^^^^^^^*****;;;n

.----+------++--+++--++--+--++++++++++++++++++^^^^^^^^^^****~n

.----aauzzzvvvzvvvvvvvvvvvvvvvvvvzvvvvvzvnvvvvvvvvvvzaav^***~n

.+---vu188%633633333333333!6!33333!633!63663366666868$o;^***~n

.--+-oz88663!!!!iiiiiiiiiiiiiii!i!!!!!!33!!333336666%88^+**;;o

.++-+n~6uaaaazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzaaaaua6$++***~o

-++++on3aavvvvazvvvvvvvvvvvvvvnvvvvvvvvvvvvvvvvvvvvaa6$++***;o

.++++ov3aavvzzazvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvza6%++**;~o

-++++oa3zznvvvavvvvvvvvvnvvvvvvvvvvvvvvnvvvvvvvvvvvza68++***;o

.-++++ou3a1v!vvavvvvvvvniuinvvvvvvi!1vni!nvvvvvvvvvvza68^+*;*~o

.-++++o16aavvvvavvvvvvvni!vnvvvvvzunininzuvvvvvvvvvvaa66^+**;~o

.-++++oi8aavvvvavvvvvvv!1znvvnzvvinuav!n!nnnavvvvvvvaa66++*;;~o

.-++++o!6aavvnvavvvnaininvinnin!niu1vn!3nnivvv3nvvvvaa86^+;;;~o

.-^^++o!6uavvvvavvvnvvuavnioo!!nvi!un!iia!3uo!nnnvvvua33^^;;;~o

.-^^^+n!6uavvvvuvvvvvvvvvvvvvvnvvnnnvnvvvvvvvvvvvvvvua88^+;;;~o

--^^^+ni8uuzzzzavvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvua88^^;;~~o

--^^^^o18uavvvvavvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvua6$^^;;~~o

--^^^^na8uavzvvaazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzaaaaaa8%^^;;;~o

--*^^^nz8uuv3!iao33naaaazzzzaauzvvvzvavzvvzvvvzavzazva6%^^;~~~o

--*^*^vv86!ii111uuuuuu111111iiiiiii!!!!!i!!!!!!333366688^^;~~~o

--***^n;868663333!36!!363!636!3866666666668688868386686.^*~~~~o

--*****+--...--....... .--+++++----.. .....--++++++++-+^~~~oo

--**********^^*^*^^^^**^^^^^*^^******************;**;;;;~;~~~oo

-+;***********^^**^^*******************************;;;;;~~~~~oo

++;;;;*;;*****************************************;;;;;;~~~~~oo

++;;;;;***;*************************************;;;;;;~~;~~~ono ------..

++;;;;;*;****************************;********;*;*;;;;;~~~~o~oo .

++;;;;;;**********************nonooooooo~~o~o~n~z1auuaao;;~~ooo ... . . ... ....

+^;~~;;;*;*;*;*;;*********;**;~^^++-------------^..-+**n;;~~ooo ..... . .. . .

+^;;~;;;;;;;*;;*****;*;***;*;;;;;*;;;;*;*;**;;;*+++++++^*;~~ooo .-.. . .

+^;;;o*on;;*****;;**;*;*;;;*;;;;;;;;;;;;;*;;;;;;;;;;;;;~~~~~ooo -. ... . .. .

+^;;;on1u;;;**;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;~;~~~~~~~~oozzzzzzaaaazzzvo*.-*. .

+^;;;;;*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;~~~~~ooo ....---.. .+-...... ..........

+^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;~~~~~~~~~onnv+ ... .+^*;;;;;;;;*;;;;;**

+;ooononnnnnnnnnnnvnnnnvnnvvvvvvvnnvnvnnvnnnnoonnnnonnonoonnnno z~ -+nvvvvvnnnnnnooonn

^~nnvnnvvvvvvvvvvvvvvvvvzzzzzzzzzzzvzzzzzzzvznnnnnnnnnnnonnnnnn z* . ^+ovvnnvnnnnonnonno

+-- ^+- +-- ^-- ^-- *-- ^-+;v~~*au~;^i3;;^68;~+6$*;+%%;;+%$~ovn~88636!!!i!i1uuaaaazzzzvn* *n. ++ovvnnoooooooooooo

.......-11iz*u1uz*auav*aaav;zazn~zaavozaunouuunnauunnauunvaa1nvuu1ov111^nu11iuv++++++^*ii111u336avvvvv; ~- .+^onvvnnnonnnoooooo

....... +.--..1!---ui---a1+--a1^+-uu^+-z1**^z1;;*ai***z!***u!;**a6*;*z6**;z6;~;o+++++++*!3!!1u3!3zvvvvn* .; ..+^onnnnnonooooooooo

......o-^*+^-+au+-+zu++-za++-na++-oa+*-;u+~^;u+;^;1^;^*i^^^*1^^^^!*;^^i;~~;***v;++++++*36!!3iii1izvvvn* *-.-^onvnnnnoonnoooooo

.......i.+*~ono;^vu.+-^u.+^-z***-a~^*.zno;-uaon^uuoo^u1~o;11on;1i~o;11;oovnvno;vn++++++*3666!11naaaazzn+ .-.-*oznznnnnnononnono

....... ;1u1uu1u1uu%uuua6aaaa3aaua3zaaa!vauu!vuu1!v1uu!z1i1!v1uu3au11!u1iiiu1uuuuu++++++^zi18auia6686iz*. ...+ovvnvvnnnnnnnnnnn

.-.--..*333!!nooo!~oo~~~a6~~oo~~o~~~;~~~~~~~~~~~~~~~~~~;~~~~~~o8~~~~~ov%~~~o633ii!++++++^o8663!!zo~;**^+. -++-. n..-*a1366%6668668%66

........-----auuua%uauuaaauaazaaauaaauaaaaauaaaauuuuuuuu1uuaaauu8auu1uuu6uuuu!+++++++++++^^n~;*^^+++++++-.--.-~zz;^+-!-**^^...+^^^^^^^^^^^^^^^^

-+------------------+---------------------------------+------+-++++++++++++++++++++++++++^^o~*^^+++++--+-+----------.~~~ooo..--+++^^+^++^^++^^^

++++++++++++++++++++------------+----++-------+-+++--+-++++++++++++++++++++++++++^^^^^^^^*^~;*^++++--^^^+++--------~~~vnnnn...--+++++++++++++++

.~vvnnnnnooooonooo~~~~~~~~~~~~;~;;;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~oo~oooooooonnnnnnnzv~;*+++++^^^^^^^^^^^^^;~~~nnnvvnn ..--+++++++++++++++

-;nvzvvvnvnnnnoooo~o~~~~~~~~~o~~~~oo~~o~~ooo~o~~o~o~~~o~~o~~o~o~o~oo~ooonoonnvvvvzzzzzzuaazn~;^++++*~~o~oo~*^^***;onnvvvz1v--------+++++++++++++

*vvvzvnnnoooo~~o~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~;~~~o~oo~;~~~o~ooo~ooooooooooonnnnnnnnvnvvn~*^++++;~ooooooonnonz1vvvz3a$in;...---++++-+++++++++

.....----+--------------------------++--++++-+++++-+-+++++++++++++++++++++++++++++++++++++++-++++++nnvnnz1annvva1v3a#ivo;^+. ..------+++----++-

.......--.-.--.--.....--.--...-...-.-------------.----------------------------------+---------+++++++++-;i$@@8zva@1zo;^+++-......--------------

.... .....................-.....-.......-.--..-----------------------------------------------+-++++++++++++++++++++++++---..... ....-.---------

Indent is building a suite of AI tools designed to genuinely help developers get things done, faster, with less friction, and more clarity. The mission is pretty simple: reduce the mental overhead that comes with modern software development. That means helping with everything from writing and reviewing code, to understanding data, to managing infrastructure and responding to incidents.

Instead of chasing one-off tools, Indent is building a unified, context-aware system that feels like an extra teammate, one that understands how your stack works, how your team works, and how to actually be helpful. It’s not about replacing devs, it’s about freeing them up to focus on what matters.

Agents for the entire dev lifecycle

Agents for the entire dev lifecycle

From code reviews to incident response, our AI agents handle the workflow so you can focus on what you do best: building.

From code reviews to incident response, our AI agents handle the workflow so you can focus on what you do best: building.

Local Agent

Runs directly on your machine, giving you a simple UI on top of the CLI. It makes everyday tasks feel lighter and more intuitive.

Local Agent

Runs directly on your machine, giving you a simple UI on top of the CLI. It makes everyday tasks feel lighter and more intuitive.

Cloud agent

Delivers the same experience as Local Agent, but powered by the cloud. No setup on your system, just open and get to work.

Cloud agent

Delivers the same experience as Local Agent, but powered by the cloud. No setup on your system, just open and get to work.

Database Agent

Lets you query your data in plain language and see results in seconds. No code, no friction, just answers.

Database Agent

Lets you query your data in plain language and see results in seconds. No code, no friction, just answers.

PR Review Agent

Reviews your pull requests with context that matters. It catches bugs, surfaces insights, and helps your team move faster.

PR Review Agent

Reviews your pull requests with context that matters. It catches bugs, surfaces insights, and helps your team move faster.

Incident Response Agent

Connects with tools like Sentry and Datadog to spot problems early. It guides you through fixes so downtime stays low.

Incident Response Agent

Connects with tools like Sentry and Datadog to spot problems early. It guides you through fixes so downtime stays low.

Code Explorer Agent

Opens up your codebase in a way that feels natural. You can find what you need, understand it quickly, and keep moving.

Code Explorer Agent

Opens up your codebase in a way that feels natural. You can find what you need, understand it quickly, and keep moving.

“Indent has automated and assisted tens of thousands of tasks for our team and that number is only going up. We feel like we are in good hands, for now and the future”

“Indent has automated and assisted tens of thousands of tasks for our team and that number is only going up. We feel like we are in good hands, for now and the future”

Kevin Chu

Business unit lead / ViewSonic


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





********** *********** *********** *****
****** ** ***** **** **** *****
****** *** *** **** ** *** *****
****** *** ****** ***** ******* ******************** * ****** ****** ***** ****** ****** *****
****** ** ***** **** *** ***** ***** *** ********** **** ***** ************* ***** **** *******
****** ** ***** **** **** ***** ***** ** ************ ***** ***** ****** ***** ***** **** ****
********* ***** ************ ***** ****** ** ********** **** ***** ***** ***** ***** *****
******* ***** ***** ******* ****** * ************ ***** ***** ***** ***** *****
***** ***** ***** * ****** ***** *** **** ****# ***** ***** ***** ***** ******
***** ***** ******* *** **** **** ***** **** ***** **** ***** ***** ***** ******* **
*** ******* ********* ** ** ************* ********* *************** ******* *********


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





********** *********** *********** *****
****** ** ***** **** **** *****
****** *** *** **** ** *** *****
****** *** ****** ***** ******* ******************** * ****** ****** ***** ****** ****** *****
****** ** ***** **** *** ***** ***** *** ********** **** ***** ************* ***** **** *******
****** ** ***** **** **** ***** ***** ** ************ ***** ***** ****** ***** ***** **** ****
********* ***** ************ ***** ****** ** ********** **** ***** ***** ***** ***** *****
******* ***** ***** ******* ****** * ************ ***** ***** ***** ***** *****
***** ***** ***** * ****** ***** *** **** ****# ***** ***** ***** ***** ******
***** ***** ******* *** **** **** ***** **** ***** **** ***** ***** ***** ******* **
*** ******* ********* ** ** ************* ********* *************** ******* *********