- Country: Ecuador - Location: Loja, Loja - Status: Active - Formed in: 2002 - Genre: Black Metal - Lyrical themes: Satanism, Blasphemy - Record label: N/A - Years active: 2002-present # Discography Type Year 1
Promo ’07
Demo
2007
Show album
2
Ancient Serpent / Satanis Maleficarum
Split
2010
Show album
3
Tenabrarum Serpentium Rituale in Nostri Temple
Full-length
2015
Show album
4
Tenebraus Ritual Times Et Non Potest Maleficarum
EP
2019
Show album
5
Cánticos Lúgubres De Dos Espíritus Condenados - Honorem animarum penantes -
Split
2020
Show album
Close
Type:
Demo
Release date:
2007
Catalog ID:
N/A
Version desc.:
CD-R
Label:
Independent
Format:
CD
Tracks
1.
Bajo el culto maldito, consagro mi sangre a Lucifer
06:49
(loading lyrics...)
2.
Perversidad, pecado y lujuria: la malignidad eterna
06:28
(loading lyrics...)
13:17
Close
Type:
Split
Release date:
February 26th, 2010
Catalog ID:
N/A
Version desc.:
Digipak, Limited edition
Label:
Independent
Format:
CD
Limitation:
333 copies
Members
Ancient Serpent
Satanic Warlord
Drums, Vocals, Lyrics
Infernal Warlord
Guitars, Bass, Vocals, Lyrics tracks 3 & 5
Satanis Maleficarum
Lord Necare
Bass
Lord Maleficarum
Guitars, Lyrics
Obumbrata
Vocals
Carmanto
Drums
Tracks
1.
Ancient Serpent -
Prologue
01:44
(loading lyrics...)
2.
Ancient Serpent -
Black Metal Weapon
03:32
(loading lyrics...)
3.
Ancient Serpent -
Rites to the Black Master
04:09
(loading lyrics...)
4.
Ancient Serpent -
Profound Scars of Time
08:05
(loading lyrics...)
5.
Ancient Serpent -
Infernal Vengeance
03:53
(loading lyrics...)
6.
Ancient Serpent -
Epilogue
01:46
(loading lyrics...)
7.
Satanis Maleficarum -
Infernum Ritus Maleficarum (Intro)
02:40
(loading lyrics...)
8.
Satanis Maleficarum -
Execración y Glorificación. Aeternus Fortia Satanas
06:54
(loading lyrics...)
9.
Satanis Maleficarum -
Tras el Umbral del Ritual Astral. Gloria a mis Energias Ocultistas!!!
06:28
(loading lyrics...)
10.
Satanis Maleficarum -
Pasajes Oscuros de las Antiguas Evocaciones en Conjuración con Lucifer
07:19
(loading lyrics...)
11.
Satanis Maleficarum -
Under the Shades of the Bleak Woods I Praise My Power
11:07
(loading lyrics...)
12.
Satanis Maleficarum -
In Crepusculum Cultus Funebris (Outro)
03:10
(loading lyrics...)
01:00:47
Close
Type:
Full-length
Release date:
September 4th, 2015
Catalog ID:
I.A.I. CD 002
Version desc.:
Limited edition CD-r
Label:
Insane Asylum Ind.
Format:
CD
Limitation:
133 copies
Members
Lord Necare
Bass
Lord Maleficarum
Guitars
Tracks
1.
Initiation to Satanis’s Ritual (Intro)
03:38
instrumental
(loading lyrics...)
2.
Sacrifice Claim Under the Mantle of the Black Moon (In the Name Satan)
09:52
(loading lyrics...)
3.
Malevolent Lord Lugalmeslam Son of the Black Moon Authority
08:38
(loading lyrics...)
4.
Lires of the Cruelty, Behind the Shadows of the Hidden Veil of Lucifer
06:46
(loading lyrics...)
5.
The Funeral Cult to the Twilight of the Moon in Consecration of My Power
13:19
(loading lyrics...)
6.
Consecration (Outro)
03:55
(loading lyrics...)
46:08
Close
Type:
EP
Release date:
June 20th, 2019
Catalog ID:
N/A
Version desc.:
Digipak, Limited edition
Label:
Fortia Australis Ex Infernum
Format:
CD
Limitation:
166 copies
Album versions
Release date
Label
Catalog ID
Format
Description
June 20th, 2019
Fortia Australis Ex Infernum
CD
Digipak, Limited edition
June 20th, 2019
Fortia Australis Ex Infernum
Cassette
Limited edition
Members
Lord Maleficarum
Guitars, Vocals
Tracks
1.
Blessed be the Kingdom of Night (Sacrum Abyssus)
05:36
(loading lyrics...)
2.
Worship to Depths of Infernal Transmogrification
06:20
(loading lyrics...)
3.
Et Evocati Hail et Force Imperator
05:04
(loading lyrics...)
4.
Journey by the Ancient Dark Forests
04:28
(loading lyrics...)
5.
Crux Simplex ad Infixionem (Dead and Impaled)
06:50
(loading lyrics...)
28:18
Close
Type:
Split
Release date:
June 22nd, 2020
Catalog ID:
4PLP 024
Version desc.:
Limited edition
Label:
4pl Prod.
Format:
Cassette
Limitation:
66 copies
Album versions
Release date
Label
Catalog ID
Format
Description
June 22nd, 2020
4pl Prod.
4PLP 024
Cassette
Limited edition
June 22nd, 2020
(titled "Cánticos lúgubres de dos espíritus condenados") (as the band "Satanis Maleficarum")
Independent
Digital
Bandcamp
Members
Lamento Funebre
Ati
All instruments, Vocals
Tracks
Side A
1.
Satanis Maleficarum -
Rituale sacrum (Intro)
03:12
instrumental
(loading lyrics...)
2.
Satanis Maleficarum -
Lóbregos mantras desoladores de la muerte
07:36
(loading lyrics...)
3.
Satanis Maleficarum -
¡¡¡Culto al bosque… Sombrío reino infinito!!!
05:07
(loading lyrics...)
4.
Satanis Maleficarum -
Evocación a la inmortalidad de mi oscuro funeral
09:01
(loading lyrics...)
5.
Satanis Maleficarum -
Mortiferum nostri (Outro)
05:38
instrumental
(loading lyrics...)
Side B
6.
Lamento Funebre -
Tormento (Intro)
03:56
instrumental
(loading lyrics...)
7.
Lamento Funebre -
El condenado
04:39
(loading lyrics...)
8.
Lamento Funebre -
Remembranza
05:00
(loading lyrics...)
9.
Lamento Funebre -
El espectador
05:40
(loading lyrics...)
10.
Lamento Funebre -
Sombras
06:24
(loading lyrics...)
56:13
Close
Type:
Full-length
Release date:
September 4th, 2015
Catalog ID:
I.A.I. CD 002
Version desc.:
Limited edition CD-r
Label:
Insane Asylum Ind.
Format:
CD
Limitation:
133 copies
Members
Lord Necare
Bass
Lord Maleficarum
Guitars
Tracks
1.
Initiation to Satanis’s Ritual (Intro)
03:38
instrumental
(loading lyrics...)
2.
Sacrifice Claim Under the Mantle of the Black Moon (In the Name Satan)
09:52
(loading lyrics...)
3.
Malevolent Lord Lugalmeslam Son of the Black Moon Authority
08:38
(loading lyrics...)
4.
Lires of the Cruelty, Behind the Shadows of the Hidden Veil of Lucifer
06:46
(loading lyrics...)
5.
The Funeral Cult to the Twilight of the Moon in Consecration of My Power
13:19
(loading lyrics...)
6.
Consecration (Outro)
03:55
(loading lyrics...)
46:08
Close
Type:
Full-length
Release date:
September 4th, 2015
Catalog ID:
I.A.I CD 002
Version desc.:
Digipak
Label:
Insane Asylum Ind.
Format:
CD
Limitation:
66 copies
Members
Lord Necare
Bass
Lord Maleficarum
Guitars
Tracks
1.
Initiation to Satanis’s Ritual (Intro)
03:38
instrumental
(loading lyrics...)
2.
Sacrifice Claim Under the Mantle of the Black Moon (In the Name Satan)
09:52
(loading lyrics...)
3.
Malevolent Lord Lugalmeslam Son of the Black Moon Authority
08:38
(loading lyrics...)
4.
Lires of the Cruelty, Behind the Shadows of the Hidden Veil of Lucifer
06:46
(loading lyrics...)
5.
The Funeral Cult to the Twilight of the Moon in Consecration of My Power
13:19
(loading lyrics...)
6.
Consecration (Outro)
03:55
(loading lyrics...)
46:08
Close
Type:
Full-length
Release date:
September 4th, 2015
Catalog ID:
mc 008
Version desc.:
Boxed set, Limited edition
Label:
Insane Asylum Ind.
Format:
Cassette
Limitation:
33 copies
Members
Lord Necare
Bass
Lord Maleficarum
Guitars
Tracks
1.
Initiation to Satanis’s Ritual (Intro)
03:38
instrumental
(loading lyrics...)
2.
Sacrifice Claim Under the Mantle of the Black Moon (In the Name Satan)
09:52
(loading lyrics...)
3.
Malevolent Lord Lugalmeslam Son of the Black Moon Authority
08:38
(loading lyrics...)
4.
Lires of the Cruelty, Behind the Shadows of the Hidden Veil of Lucifer
06:46
(loading lyrics...)
5.
The Funeral Cult to the Twilight of the Moon in Consecration of My Power
13:19
(loading lyrics...)
6.
Consecration (Outro)
03:55
(loading lyrics...)
46:08
Close
Type:
EP
Release date:
June 20th, 2019
Catalog ID:
N/A
Version desc.:
Digipak, Limited edition
Label:
Fortia Australis Ex Infernum
Format:
CD
Limitation:
166 copies
Members
Lord Maleficarum
Guitars, Vocals
Tracks
1.
Blessed be the Kingdom of Night (Sacrum Abyssus)
05:36
(loading lyrics...)
2.
Worship to Depths of Infernal Transmogrification
06:20
(loading lyrics...)
3.
Et Evocati Hail et Force Imperator
05:04
(loading lyrics...)
4.
Journey by the Ancient Dark Forests
04:28
(loading lyrics...)
5.
Crux Simplex ad Infixionem (Dead and Impaled)
06:50
(loading lyrics...)
28:18
Close
Type:
EP
Release date:
June 20th, 2019
Catalog ID:
N/A
Version desc.:
Limited edition
Label:
Fortia Australis Ex Infernum
Format:
Cassette
Limitation:
39 copies
Members
Lord Maleficarum
Guitars, Vocals
Tracks
Side A
1.
Blessed be the Kingdom of Night (Sacrum Abyssus)
05:36
(loading lyrics...)
2.
Worship to Depths of Infernal Transmogrification
06:20
(loading lyrics...)
3.
Et Evocati Hail et Force Imperator
05:04
(loading lyrics...)
4.
Journey by the Ancient Dark Forests
04:28
(loading lyrics...)
5.
Crux Simplex ad Infixionem (Dead and Impaled)
06:50
(loading lyrics...)
Side B
1.
Blessed be the Kingdom of Night (Sacrum Abyssus)
05:36
(loading lyrics...)
2.
Worship to Depths of Infernal Transmogrification
06:20
(loading lyrics...)
3.
Et Evocati Hail et Force Imperator
05:04
(loading lyrics...)
4.
Journey by the Ancient Dark Forests
04:28
(loading lyrics...)
5.
Crux Simplex ad Infixionem (Dead and Impaled)
06:50
(loading lyrics...)
28:18
Close
Type:
Split
Release date:
June 22nd, 2020
Catalog ID:
4PLP 024
Version desc.:
Limited edition
Label:
4pl Prod.
Format:
Cassette
Limitation:
66 copies
Members
Lamento Funebre
Ati
All instruments, Vocals
Tracks
Side A
1.
Satanis Maleficarum -
Rituale sacrum (Intro)
03:12
instrumental
(loading lyrics...)
2.
Satanis Maleficarum -
Lóbregos mantras desoladores de la muerte
07:36
(loading lyrics...)
3.
Satanis Maleficarum -
¡¡¡Culto al bosque… Sombrío reino infinito!!!
05:07
(loading lyrics...)
4.
Satanis Maleficarum -
Evocación a la inmortalidad de mi oscuro funeral
09:01
(loading lyrics...)
5.
Satanis Maleficarum -
Mortiferum nostri (Outro)
05:38
instrumental
(loading lyrics...)
Side B
6.
Lamento Funebre -
Tormento (Intro)
03:56
instrumental
(loading lyrics...)
7.
Lamento Funebre -
El condenado
04:39
(loading lyrics...)
8.
Lamento Funebre -
Remembranza
05:00
(loading lyrics...)
9.
Lamento Funebre -
El espectador
05:40
(loading lyrics...)
10.
Lamento Funebre -
Sombras
06:24
(loading lyrics...)
56:13
Close
Type:
EP
Release date:
June 22nd, 2020
Catalog ID:
N/A
Version desc.:
Bandcamp
Label:
Independent
Format:
Digital
Members
Ati
All instruments, Vocals
Tracks
1.
Rituale sacrum (Intro)
03:12
instrumental
(loading lyrics...)
2.
Lóbregos mantras desoladores de la muerte.
07:36
(loading lyrics...)
3.
¡Culto al bosque... sombrío reino Infinito!!!
05:07
(loading lyrics...)
4.
Evocación a la inmortalidad de mi oscuro funeral
09:01
(loading lyrics...)
5.
Mortiferum nostri (Outro)
05:38
instrumental
(loading lyrics...)
30:34
Band ascii art
........................................................................................................................
........................................................................................................................
....................................................,............:......................................................
...................................................+,..........,.,*.....................................................
..................................................;S.,,........:,.#+....................................................
.................................................;#*.;..........+.+#;...................................................
.....................................:..........+#?.,*..........?,.*@*..........,.......................................
...........................:.........;........:S@@%,*?..........%?.*@@#:........,,......................................
..........................;,.........+........?@*%@S@?..........%@%#%:@*........:,........,,............................
.........................:;..........*.......,#?.*%,*S..........#*,;?.+S........::.........;............................
.........................?,..........+.......?#,.??..+:........;*..*%..S+.......;:.........:+...........................
........................*%...........?......;@+..;S,..,........:..,#+..;#,......;:..........%,..........................
.......................,#*.......,*%*#;:,:++##..;,*S*:.:,........+#*....#%...,?*%+..........*?..........................
.......................+@;.....%#S+,%@*...*@@#?%SSS@#?*;*S*:.,.::*@,,,:.%@?*%S+:@S,.........;#,.........................
.......................?@;....,#SS..*%:.:SSS@S#%.+@#,;;;*?%#++%S#?#+*SS?S@@@@+.,%*..........:@+.........................
.......................%@+.....;.*?,.,...*#:##@;:#@#%;;@+.;#,;@#::S%;,S*S@#?*S:.,...........+@?.........................
.......................S@S...;....?#?%S:,%@?S@#+?%SS**+##*%#*.*#S:%?..S+S@;..,%%S%,....,,...S@?.........................
......................+@@@+..?:...;*..:%%*#*?@%???%%;;+?#*%#%.:@??@%.;@;S#:...+*.:**,..+:..;@@#:........................
.....................+@@@@#:.*S......:?%S+#,%@*??S%%+.++S,S??*SS.*@#.:@S#S+:.....,?%,..%,.,S@@@S,.......................
....................*@@@@@@#:,@?...,*#?.?%;;@@*+:@S;%,*S;,##*?S::%S#*;@?S#+S,..,+#?...%?.:S@@@@@#;......................
..................+S#*:+#@@@@*S@#S#@@@#SSS+?@#*:+S@+;?+*,+@@S.;:S;S%;S@*#@S##%S#@@#S%S@+;#@@@%;;?#*,....................
...............:*S@#:...?@#S?*+;;+++*%%++S@@#*+;.,**;**::;?+*?**;;+?%?#?%@@@%;;??*+++++*?S#@@:...:@#*:..................
.............?#@@@@#,..,?+,..........:+?#@@#;:+;;;**;,.,;*:::;;..:+***%+;*@@@#?;,..........:+;...:#@@@#%+...............
.............,%@@@@%,.......,...:?%SSS%?+*SS:,.,:,,,;;;,.,;:..:;++,,,,:.,,#S++%##S%*+,;,.........:#@@@@%,...............
...............?@@@*......*#+,%%#@SS*,....,+,....+;:+%*,......,*?:,++....;+.....:+%#@##,,?;.,.....S@@@?.................
................+#@#:..,:?@@##@@@%,,S#?;..?..:S?+*:%S?S#;,+;.*;%*?S;..+S*,...*,.*;.;#@@##@SS*....+@@#+..................
.................:S@#;.;#@S#@@+;@S+S%:S#;%#:;#%;;S@#*;?###**SS*#S%*#%S@?*%%*S@*:@#%#@@S%@@S##:..+@@%,...................
...................*##+,%@%+?S.%??.S%,#S.*@+,#;:;%##,,,,?#?@S,.;@?;@%+?#,:?@%@;.#*+#@@::#;###+,*@#+.....................
....................+@@#%@?.?#,*SS?S@#@#*,#,.#%?.,;@S%S:#S:#%..*##%@S*.#?SS?,@;.#;.;@@**#,+SS@#@#:......................
..................:??;+##@?.,#+,S@#*S:*S??#.+#,*..:@;:+:%#.*@:.?S*,S?*:@S@%.,@+.#+..#@?,#*,#@@S+*%+,....................
................:*+:.;,,@@;..?..;@S+*.*%?*%.?#,,,.:#.:..%%.+#,.*%:;#%,?%.*S.:@+.@*..##,.?,.S@S.:..;*;,..................
..............,;:...+@#+S@#+.:..%%#S..??%:*:#@%.,**@*,.?@+.%S.:#%,?#++@*..*+?@?+@%.;@;.,;.?#@?*@%...,;;,................
............,:,....:@@?+%@%*?,.;?,S*..%#%:S%@@#S%*S@@S;*@%+@@S#@++##+*@%..+*?SS#S?.%;..,??+S#??#@*....,;;,..............
...........,.......*@+...+S.:*+*,,,+,,+;*+#%;+:#%:*@@S?*?;;*%**?%SS;+%#?..?.,+,,;:;:...;*,.%,..,##.......,:.............
...................?#.....+;..++,...,,....+,..+@%.,#@,.:%?:;??,.;@?.:##,..:..........,:,..+,....?#..........,...........
...................;#......,....:,............S%..%+@*..+@@@@;..?S+*.:@;............,....::.....??......................
....................S+........................?,.*#.S@*+?S@@%*+*@+:@,.%;........................S:......................
..................:;S#,.......................:,.?@*S%,...S*...,%%%@:.;,.......................*#::,....................
..................:#@*;..........................+S#@?,...:....:?@#S,.........................;+%@%.....................
...................,S*.,..........................,S@+%S;....?%*+@?..........................,:.S%......................
....................,*,............................,%+.+*...:%,.?*.............................+*.......................
......................,..............................+;.:...+,.;:.............................::........................
.......................................................,.,..............................................................
........................................................................................................................
........................................................................................................................ +S##############S???%%%;*%##S%%#S%?%%:;S####+*+:::?+*#####SSS#SSS#S#%S#%;?##S######SS#S+?%%??%?SS?%?*?++*?*::;++:....,::
+%################S%??*;%S%%*?%%SS###S?;+%##?*+::,??*##S%%%?SSS###S#SSS?++##S######SSS%**%%#%?S#S%*?+:*****+;,:::,...,,:
?################SSSSS++??*;::::::*?#?+:,+#SS++::,+*+%??%SSS##SSS##S?*S#+;##S##S###S%%%?*SS#S%SSSS*%*;:;+;++;:;,::.,...,
###SS##########SS###S%+?*;;,,,,,,,,,;+;,;:+*+;;:,,,;;+?S%###SSSSS%%S%?S#*:%SS#SS#S%?*%S%+SSSSS#S%%?+;+;;::;;:;+;+,.....,
####S###############%*?+:::,,,,,,....:*;;+;;+;;:,,+*:*S%?%SS###%?%S%?*%S?:+%SSSS%*?S%%%%;?S%%%??*;+*%?+++;,,,:+**;,,...,
S#%S#SS#############%+;::::,.,,,,,....+%*+?+;+:,,,%*:%S%?%SS#S?%%%%%?+?%*:;SSS%??%%SSSSS?+?%%%*?%**+%%*;+*+;,,:;+;;,,,..
##%%%SS############%:,,,:,,,.,,,,,....+SS%%?+:::,:*;;%S?%%S%?*?%%%SS%++%?::*?*?%S%S#SS%%?;?SS%S?*??***;;:*?+;,,,,;+;,,,.
S?%SSS######SSSSSS?:,,,,,,,..,,,...,..:?%S%%?:,,,,,;+SSSSS??%S%??%%%**;*?:,+%%%?%%SSSS???;;?%%%%??*+*+*+;+::;;;::::+:,..
S*S##S####%?**++*??+:,,,,,,...,,,,.,..*%?SS??:,,,,:++#SS??S#SSSSS%%%%*;*%+:;%?%%%%%%S%%%?+:%%%?*??+*++?+;+;++;:;:,.,:,..
%S#SS###S*+;;;;;;+**?*:,.,.,....,,...,%???S??;;:,,;;;%*??%SSSSS%S%???*;*S?::%S%**????*%*?*:?S%**+*;+++*+;;;+++:::;;,;:.,
%S#####S+;;;::::::::+??:.............,?SS**%?;::,,*+:*%SS%SS%S%%?%%??*;+??;:*%S??%%?%????*;;*?****++;*++;+*;;;;:+;+,,:,,
S######*:::::,,,,,,,:+*:..............:?SS?;+::,,,,:;%%??%??%%?????%??+;*?;,+??%*?????*???+:*?*?%??++*;+*;;:;++;;;;;,,,,
######S+;::::::::,,,,,,...............:?%%%?;::,,,,;;%%%%%?%???%???%??+:+?+::*?**?*?*?***?*;;%????%?+*++??;+:++;:;;;::;.
######?;;;;;::::,,....................+?*?%%?;:,,,:+:?%%%%??????*?????*;;**;,+**+****???****;***????+*****++++*+::;::,;,
###S##;:::::::,,,....................:??+*?%*::,,,:+:*%?*?????*?******?*;***:+**+**?**?%?***;*%**?**+**++??+*+;+;:++:,:;
S##S#S:,:,,,,,,,.....................,??*???*::,..;*:+***??%%??*********;+*+::+++++**??**?+++;?****+;+*;++%*++*+;:;+;,,:
S#%?S%:::;;:,,,,......................+%*?%**;,,,.:;,;???%?%%?*********+;;*+;:+*+;++***+**+*+:;****++;+;;;;+;;**+::+:;::
#S????,,:;;;:,,.......................:??%??+,,,,,++,+???*++******???***+;++;:;++;+;*+***++*+::****?*+++:;;+;;++*+:::;:,
%%%%S+,,::;;:.........................,:+?%?:.....+*:*?+,,:,,*********??+:+++::++;;+*****;++++,++*+**++;::;;;;;**;::::;,
##S#S:,,,,:;;,........................:*++**:.....+*:??..;+,.+*******+::,,;;++:+*;,++;***+;+*+:;**+++;:;:,,;;:;*?*;::::,
;++++,,,,,.,,,.......................,:%%?**;,,...**:;::,;;,.,+**++*+,.....;++:;*+:;*;+++*+;+*;,*++++;::;:::;;:;++;,,:;:
+?*+?;..............................,::????*:,....;;,::,;;,....:++;+:.......;+:;++;;++;++++;;+;:+**++++;;;:::+::::::,,;:
?*S##+.............................,:;::+?%*,,...,**.;::+,.......;++:.......,:,,+*;::+;+*++;:++;:?+*+*%+;;;,,::,,,;+:,,:
**SS%*.............................,;;;???%%+;;;:;,......,........:+;........,;,;?*::+++S?*;:+*;,+;++++;:;;:,,::,;*+;:.,
*++*??:...................................,,.............,......,..:+,........:::?%;+*S+#S%+:;+;::;;+;+;:,:;:,::,:;+;::;
**;+?S%:.................................,,....................,+,.,;,:........,,;%;**S*??+;::;;;,,;++++::;;:,,::;++++++
++?****?:.......................,++*?*?***?+,,....:,::,........,:,,;+,*,......:,,:?;+***:+;;:,:;+,,;;+;+;:;;::,;++++++++
+*S%??+%*.......................;*??????**?*,,....;:,,,,::,,+;,.,**?;,?;......::::::;;:+:++;;,:;;:,;;*+*+*****+++++++++;
*++*??%*,.......................:???%%?*+*?+,.....;:,,,.,,,.,,..,?**+*%+........,:,,:;;;;:++;:;**:.+??********+;;;;;;+;;
?**+**?:........................:++?%#SS?*?;......;:,,...........,:++*+,..........,,;?*++;+***+++;,,+****+**+;;;;;;+++;;
;?S%%*,............,:::,........**+*%#SS*+*:......::,,.............,:;;,....,;;,...,+++*****+;;++;::;;;+;;;;;::;;;;;;;;;
:*??%+............,::;+;:,.....:?+;+S#S%?+*:......,:,,......,:,.....,:*;...+?*?*:...:***?**+++++:;;;;::;;;:;;;;+;;;;;;;;
*%?;;,.............,,:;;:,,....**+;*S#%??+?:......,:,,,....,;;:,......,:..:??*****,..;*+++++++++;;;:;::::;:;;;++;:::;;;;
+??;;,,..............,,,,,.....+*+++?%%??+*:.......,,,;....:*:,:;;;,......:?******+..,;;;+++;+;+++;;;:;:;:::;;;;;;;;;;;;
;:*?:....................,.....:???%%%?%%%%:.......,,.:,...;?**?????,.....:??**+;;+:..,;;;;;;;;;;;;::;;+:;;:::::;;;;;;;;
;;;*,..........................;*?%%%%%%%%?:.......,..::...;+???????*.....:***++;;;;:..:;;;;;;:::;::;;:+;::::;::::::::::
,,,............................+**?%%%%%%??:.......,:::,...*++????***:....:++;;;;;;;;:::;;:::::;:,:;::::*::::;;;;;:,,,,,
..,...........................,*%%%????????:.....,,,:,:,...*;;*+*+;;+;....,:;;;;;;;:;;::::::::,::;;;;;;;+*::;;;;:;:,::::
..............................:*???**?*****:,::::;;;;;:,...;;:;++++;++,...,+;;;;;;;;;:::::::;:::;;:;;;;;;*;::;::::::::::
..............................+***??***?**+;;;++;+++++:....+;;+;;++++;:...,+;;;;:;;;;;::;;;++;;;;;::::::;:+;;;::::::::::
..............................................................................................................................................................,.....................
.......................................,,...........................................................................................................................................
.......................................................................................,,.,............................,;::,,,,,....................................................
....................................................,:..........................,*+::;.+?+%:...........................:,,::,,::.,..................................................
..............................................,,::;;;:,,,,,,,,,.................:+*+*:;*+*%*........................,..,,,;;:,,.,:,.,.......:,......................................
...........................................,:;::,,:::,,,.,,,,................,:;*S;?:,?*++?*,,,...........................,,,,,,,,,,;:,,,..,+,......................................
.....................................:+:,:,:;;;;;;:,..,;+;;,.................;%*%?+;.,;*;;;+*++,............................,:;;:::,:;;:;,:::,::,...,;:.............................
.....................................,,::::;::;;:,....,:;::,................:;?%?+*....,+,.+?%#;............................:;;:::.,::::;;+;,.,,.,:;;,..............................
.......................................,,;:;+:::::,.,,,,...................;?*++;*;.....,,.,;?S%:...........................:;+::,::,..,;;;;,..,*+:,................................
..................................,:+,,;,,;++:,,,,,,;++;;,.................+?+?:,,,.....,+:,.;%%+.........................,.:++;;;;;;,:+;;:::;*++:..................................
.................................,,:*;;+;+;,::;:::::;:;;+:;,...............+%*;.:+:,.....,:+::*S?.........................,:;+;:,,:+;;;::,.,::?+....................................
............................:*,..,,:+:*+;,,;;;+;..,:;:..,,,,...............,?S;.;+;,.......:,;+??,........................;+;:,.,..:;:;::,,+;;;::,..................................
.............................:;,,,...:+;:++;:+;+*::,.:::,...................+%*..*,..........;;?*............................,;;;,.,,,:,,::;,.,,,;..................................
................................:;:...,..:+;+;;+*;:,,+;*:...................;#?,,,...,*?,....,?*+........................,;::,,::....,,:;;,,:;;;,,..................................
.................................:;::.::.;:,,:;:,....,,,,,..................,+S++,..,*S@%...,*?+;.....................,:::;:;::........,...,;;:,..,:?;..............................
...................................:+,+,.::,.,.,....,,,,,.,,.,,:............;%?%?;..+*?@@?..+*S%;....................,::;:,..,::;;;+++;;;;::::;+?S##*...............................
..........................,,.........,;,,;.....,,...::,:,:;:,:;:.............+##S?+:?+S@#@;?S@%,.......................,:;+??%%??%%SS##@#@@@@@@@S?;,................................
..........................:%?+::,,,,:;+*%S%%SSSS%%*+;;::;:.,,.................:S@S#S*?S#@#S@@*.....................:;+%*;+%@SSSSS@@@#@@@###%%*;,.............,......................
...........................:?#@@@@@@@@@@@@@@@@@@@@%%???????+;;:,,..............,%#@@#S#@@@@@*..................,;+?+;*@*S%@#S%%*;;+:::;:,,..........................................
.............................,:+??**+*#S??%%?S##@@#@@##??*?*?%%*;,..............,#S#@@#@@@@S................,;+S%**?+#@@#%*,.........,,,,,,,,.......................................
........................,,,,...................,,+??S#@@@?*?:++?S?;,.............:#%#@@@@@@+..............:+*???#?%@#@S;,:,.,..,:::,.:;+++:;:,......................................
...........,.......;*;:::;+**++;,.::::;::;::::;;:::..,*?%@%S??:,;*#S+,............*@@#@@@@@,............,*?:?;?*###?+:.,:;;:,,,,,:,.,:;;;;..........................................
...........:;++:,,.,+???*?????**+;?%%%*?%??*****;+;;+,...;?%@@S%*,**?S+,..........,#@@@@@@S...........,;?++?*%#@@#+..,,,,,,::::,,,,.:;::::,.........................................
............,;?%??*+;;*??S%%%%?**??*?*;;;;;:;+*??*+;+;:,,,..+#@##S#%?%SS:..........*@@@@@@%..........,*+.;S@@@@?;,.::::..,,:,;?*???*;;+;,...........................................
.......,.......:?SS#%??%?%%??%%**;:,...,:;+++???*?*+;++;;*;,.,;#@@#S?*?S#*,........:@@@@@@?.........+??%?%@@@@?.....,,::,,,:.;+????%**+++;:,........................................
......,??+;:,....,;?%??%%%???*;,....:*%%%%%??????**+++*++;;*+:.:?#@#S##S%S%,.......,@@@@@@?........+#++#@@@@%;..,,.::,,..........,;**??%%%*++:......................................
.......:?%%%*?*;:,.:***%%%??;.....:%###SSS%%*?%?*++*****+;++*+*:.:@@@@@#?*SS:......,@@@@@@?......,?%S###@@@#:...:*::,:,............,+%???S#%*+::....................................
........:*???%SS%?%??*?S@#*,....,?S#S###S%%???S?*+:::,::;;;;++*::,;S@@#%?%?%%;.....,@@@@@@%.....,%S*?%@@@@%:....,,,....,,,,.........,:*??*?%%?%*+,..................................
.........,+?%##S#@#S%???S%,....:SSSS??%%%?**+;**?*?*;:,......::,,..,S@@@@@@SS%;....:@@@@@@#,....*S*?S#@@@%......,....:++;*++;:.........,+*****???*+:................................
..........,+?SS%S#S%S%?%S,....,S@SSS????%????+:,:;;;+*++;:,.........,?@@@@@##S?;...;@@@@@@@+...;%%?%@@@@%:..........,+;;;+?%%?+,.........:+***++++++*;,.............................
............:???%SS%%%?S?.....%#S@@@%*;+;:;++++,...;%@S?**+*,.........*@@@##S#%%;::%@@@S?@@@+:+??S#@@@@?...........,***;;;+%*%S%;..........:*?**++:,,::,............................
.............,++*?%S%%*S*....;@S?SS%S?+,.......,..+@@@#%*;;%?,.........+#@@@######@@@@@*:?@@@@###@@@@@@:...,:,,....;*+S;;?S@S?###+,,,,......,;**+;++,...............................
..............,:+**???*S*....*#SSS???*%?*:,......+@@@@#+,::?#;........,:+@@@@#@@@@###SS;?+?%**S@@@@@@@%;:::::,,,...*+;;;?##?%?S?#?+:;::::,:,,.,+***+;:,.............................
................,+?*?**??,...?%?%%???%????*;....?@@@@@%:;;:?#+......,:++?#@@@@#S@#S?;++*SS++*#@@@@@@@@?*;,.........:*;;:+S#+%*?%%SS%:,:;;+*?**+;+;;;++::,...........................
.................,:**;*?%+...*%??%%?????%???*;.+@@@@@@@?;;;*%*.....,;+?%S@@@##???S##@#;+*+*;S@@@@@@@@@@#%?+;:,,.....+++:;S??%??%%%%@S:..,:;+?????**;::,::...........................
...................,;;+?%%;..+??%%*;;+*?????**;#@@@@@@@S;+;;?*;++*?SSS%%%%S@SS**;+?*S%:*S#%?;S@@@@@@@@@@@@@@@@#SS%*;+*;;+%*%%S%?%S###%:....,:+*****?*+:,............................
...........:::.......,:+??%*,,?S??*+;:,,;++**+S@@@@@@@#@%*+:?S%#@@@@@#%%S#@@#%???***SSS@@@@@@@#SSS#@#@@@@#@@@@@S?+,.+;:;+%?S%%?%??%%%S?:.....,:++++**?*+;::,........................
...........,;+++::,...,:;*?%*:;%??*::;::,..,,;#@@@@#@@@@#++*%S,,,+???%S@@@@@@###SS*+?S@SS#@#%??SS#@@#S**?+,:;:,.....*;*+?S%SS%+??S%?SS#?,.......,:;+;+******;:,.....................
..............,+?**+::,..:**??*%%**+,..,,....?@@@@##S@@@#?+**%?......:%#@@@@@@@?#@##S?%####*%SS@%%@@#%**:*.........,S%%%S%#@#??S%@S*%SS@?,........,:++++++*?+**,,...................
................;+*+:;*+;::;***???*+:.,.....;@@@@@###@@@@#%*+%%+,,..,+?%@@@@@@#S##?#@@S##@@@@#%?S@@@S#S%;*:,.......*?*+S%S#@#S%#%?S#%SS?#?..........,++;;;:;+****;:.................
..................,;;+??*??*******?*+:*+:...S@@@@@@@@@@@@@#%;**%+*;,.:;*S?S@@@#S??S@#@SS*?S#@@@@@@@@#?#S;:........;+;;+SS#S?##S#%S?#@S#%?%*,....:.....;;:+,.,,:;;+*+;,..............
....................,;??*?%????*?****++*+;.;@@@@@@@@@@@####?%;?%?+***;;,;+S%@@@#?SS##@#+:;;###@@@@@@@?*#.........:*,?*?@##S?#@@@#@@%%@%%S%S+......,;;,::;;,,.....,,:+;..............
......................:+*?%?%%%??**+*;++;+,%@@@@@@@@@##S%##?*;+?S;;;+?*;.*;;?@@@@@@@@#?,,;;%#@@@@@#%S::+........,?:;+?###%%?S@@@@#@@S%SS?SS?,.....::::::;;;:,,......................
........................,;+?%%???***+;?:*,?@@@@@@@@@@SS#S@@#S%+*%?.,:;*+;*,.;S@@@@@@S**+,,;SS@@@@#?:;.:.........+*+;+%@@#%?%@@@@@@S#@SS%S##%*.......:,..,:;+;:,.....................
...........................:*?%??**?*+%:#,*@@@@@@@@@@@@@@SS##S?*%S:...,++;,:::?%@@##?*+%+,?#*#@@@;.............++:+:%@@@#%S@@@@@@@@@@SSS%S@##:.............:;;:,....................
.............................,;*+**+*;*,*+;@@@@@@@@@@#@@@#SSS##*?#%,.....,..,,.*##@##%?*+:*SS#@@S+;,..........;?**?S@@#@@@#@@@@@@@##@@SSS%%SS?.......,;,.....,:;;:,.................
.................................,,;%++,:*;@@@@@@@@@@@@@@@S%S@@S*%S%:........,+?*?#@?+SS:,+#S#@@?+%??+;,....,+%??%@@@@@@@@@@@@@@@@@@###@%%S#%#;.......:;........,;+;,...............
...................................+%;,..:+@@@@@#@@@@@@@@@SS#@S%??%%S+...,;+*??+;?S@@S?+;+%S@@@S+,:;++?**+:+%%SSS#@#@@@@@@@@@@@@@@@@@@@@#S%@@#S,........,;:........,:,..............
...................................**;....;@@@@@@@@@@@@@@@@#@@@#S#??SS*:+**;+,.,.+%*@S****?%S@@+:....,::+;+*%S#@@@@@@@@@@@@@@@@@@@@@@@@@#@#SS##*.........,:,........................
...................................;S:....?@@@@@@@@@@@@@@@@@@@@@@##%S?+;::....,..+??##?*++?S@@%?:....,,....,,;*%%@@@@@@@@@@@@@@@@@@@@@@@@SS#SS@#:...........,,,,....................
....................................*;....*@@@@@@@@@@@@@#@@@@@@@@@?;:......,,..:,;*%S@@@#%@@@@??,..............:?##@@@@@@@@@@@#@@@@@@@@@@@##@#S#%.............::,,..................
....................................,*.....*@@@@@@@@@@@@@@@@@@@@#+:..............:%?%##SSS####%*,...............;S#@@@@@@@@@@@@@@@@@@@@@@@@@#S#@@*..............,:,,................
.....................................+:.....+@@@@@@@@@@@@#@@@@@S:+,...........,...*%?SSS%S#%SS%;.,:,....,......:+?@@@@@@@@@@@@@@@@@@@@@@@@@##S@@#@+...............,,................
.....................................*%,.,;+.;#@@@@@@@@@@S@@@@S:,+.......,:;:,,...,*?%S%S##S%%*,.,,,....:;;,.,,*??%%S@@@@@@#@@@@@@@@@#@@#@@S##S##S?.................................
....................................:@@*.,::,,,?@@@@@@@@@@@@#*:,.,.....,;;,,.......,*%?%%%##%*;...........:??%+%S%%*+S@@@@@@@@@@@@@@@@@@S%%##@SS@SS,................................
....................................;@@#;,.::;..;S@@@@@@@@S+,........,;?,...........+**+%%+*?*:..........,+*@*+*?%%?;;?#@@@@@@@@@@@@@@@@#SS%@####@@?................................
....................................%@@@#:..,;:.:+?#@@@#?:.........,:+%?...:*;......++?++*??;+,......,*%,:*+@:,,:;+?*:;?@@@@@@@@@@@@@@@@@@S%####@##S,...............................
...................................;@##@@#,.,:,;:,;*%#*,.......,,,;**##:,..;?;.......*;+++:%,+.......,+*+?**@#+;;+;*+;;,;#@@@@@@@@@@@@@@@@#?%SS###@#*...............................
...................................%@@@@@@S,..,+:,:;+:::......:+;+*S@@S+;;,.,,,,.:;:;*:+;+++::..,..,+?++??%@#@@*,;:;;:::,:S@@@@@@@@#@@#@@@@#%#S#@#@S?,..............................
..................................;@@@@@@@@S,...,+*:.,:.....:+++*%@@@@@?*+*;;;;,:+?%*;;*:;*:::.:?*;:;*+*%?S#S@@@%:,;:;;:+:;S@@@@@@@@@@@@@@@#S@#@###@?;..............................
..................................S@@@@@@@@@#+...:.......,:;++?S@@@@@@@@#;+++*??S#*?++++*;?+*+**+?#@S####SSSS@@@@#*:.,,;;;::%@@@@@@@@@@@@@@@S?S@@@##?*..............................
.................................+@@@@@@@@@@@@S+,......,:;*??SS@@@@@@@@@#*+:+;;;**;++?+;+??*?%*+*S#S####@#%S@@@@@@@S+..:;:,,,:?#@@@@@@@@@@@@@#%#@@@#S?:.............................
................................,#@@@@@@@@@@@@@@#?+,,,+?%##S%S%@##@@@@@@@%*:**:+*+*?;?*+;?*+***??S?%SS#@#%?S@@@@@@@@@S:...:;::.,?@@@@@@@@@@@#@@S#@@@@S*,............................
................................+@@@@@@@@@@@@@#@#S%%%%#@@@S%%###S@@@@@@@@?%?*?**?*++*+*%+:?%;++???SS###@S%S%#@@@@@@@@@S:..;,.:,..:#@@@#@@@@@@@#S#@@@@S*;............................
...............................,#@@@@@@@@@@@@@#@#SSS%S@@@S@SSSS%S@@@@@@@@%%?+?%#S#%S#%S?:,?%S**?;.+@@@@@@#%#SS@#@@@@@@@S::..:;;...,?@@#S#@@@@@#S%@@@@@?+,...........................
...............................+@@@@@@@@@@@@@@#@S#S%S@@@S%%#@#SS#@@@@@@@@#?S%?%%#S??*++?S%?*++++?+.#@@@@@#S@#%?%%S##@@@@%;..,,:+:,..*@@#?S@#@@#S#?#@@S#++...........................
..............................,S@@@@@@@#@@@#S#%SSSS%S@#SS%??%%###@@@@@#@@@##S?%%#:,,;;:;@##,....+?;++%#@@#%@@#%S@S%S##@@@S*:,..:++;,.+@@#?#@S#@##@%#@@@??,..........................
..............................+@@@@@@@@#@@@S%S#%%%#SS#S%*?;;SS##@#@@@@@@@@@?*;+?S+:*%%S##+###%?*++?...,+S@S#@@@S#S#@@@S####S*;;,,:,;,.+@@#S@@%S#S##?#@##**..........................
.............................,#@@@@@@@@@@@S%S%%##S@##@@*?+:.:*#@@#@@@@@@@%+;++;%SS##@@@@#:#@@@#*+#S*:.,,,;SS##@SS?%S#S%?%?SS::+**;,:,:,;S@S%#S%?#%SS##SSS%,.........................
.............................*@@@@@@@@@@@SSS@#S@#SS?#%??;,...:#S@*#@@@@#;:+:;?#@@@#SS%S@#:#@%+;?##@@#%;::.:?SS@@#S%S##%%%;;?;..,;*%+::.:;?####@#S#%S##SSS*+.........................
............................,@@@@@@@@@@#%?##S###SS+%**?:......;*+,#@%*%,,+:;%SSS#@@###@@%;+::?#@@@@@@##?:..,;#S@@%####%S%;.,,.....:%%+,+:.,,::;*?#@#@SS#S*%,........................
............................%@@@@@@@@#@%%#@@#@@#%*?+??,...........;+:?,.:,+S@#%SS####%%??%?SS?%#@@@#@###S+..,+S##+*?#%:,,...........**:,....,,,:;;++?#S#S%%+........................
...........................;@@@@@@@@@@S?#@#@##%+?***+,.......,:::::;?+,,.;S######SSS+*S##@S@@@S;S##S@@#@@@+;;:::::+;;:;;++;:.........+;...,:;;:*@S#S%S@%#SS?,.......................
..........................,#@@@@@@@@@#SSS@@#?%??*+,........,;+;,;::::::::*SSS@@##S#;;#@@S;;@@#@;+###@@#S*:,.,,...,%@##%%?*???*:......,;+,.,:++;.*@@@##@S%##S*.......................
..........................?@@@@@@@@@#?*S@@%*%??*:.........,?+++;;;++;;,..,.,:?##@?S.S@@@%.,#@@@*:@#@S?:..,;+%+...,;?%##@@#S%%SS?:......:*:,++:+;:%##@@S@S@@S?;......................
.........................+@@@@@@@@@#?S%S#S%?*++,..........+?***+;+*S%?+;,*%+..,;%SS;*@@@?..?@@%:?@?+++,;*%##?,:,...,;+?%S#@@@#SS%+......,;:;+:*:;,+###SS%#@#**......................
........................:@@@@@@@@@S%%S;###%*,...........,+??;,.......:;*;,?#%:...:+***?S;..*S*+*?::+?S###S*;:;*;.....,;+*?S#@@@##?;.......,:::;;;;:*%#@S#%@#%%;.....................
........................%@@@@@@@@%*%@;*##%;,..........,;*+,.....,;+*+;,...,:*S?,.,.,;*+++;:++;;++?S#S%+:,..,::,,.......,+**%@@@@@??,...........,:;+;*@##@#S@#%*,....................
.......................+@@@@@@@#S+%#%++*:,..........:+;:...........,;?S?;,...:?%+*%*:::,,,,:;*S@@@S+,,;;;,.....,........,;+*?#@@@%%;.............,:+@@S#S#S#S??;....................
......................:@@@@@@@@@*%@#?:............,;;,................,*#S+,...:?%?%SS??+*?%#@@#%*:,;;;:..,,;+;:.,;:......,;**S@@@%+...............,+S######@#?%,...................
.....................,%@@@@@@@#?S@*+;..........,.,+:....................:?S%+,...,*%%SS#S%S%@@?;?%,,...:+;::;:...,:,.......:+**S@@@;.................,*%##@@@##?+...................
.....................*@@@@@@@@SS@;...............*;..........,,,..,,,....,;?SS*,....:;++**?%@*,?S*,.,:;;,..,,:+?%S%S*;......,;*?S@#,...................,*@@#@@@%%,..................
....................:@@@@@@@@@#?:...............,%....,;:,...,:::,,;:,,....,;?S#?;:?*+**?%#@S*,;*::.,,,,;?%%?***?S#@@#,.......:*?#@:.....................*@##@@#?*..................
....................%@@@@@@@S;:.................;S,..:,,+;,......,.:,;:......:+?SS?%%#@##@#%?S:.,,:;*?%%?+:,,?S%*::::,,........;*%@*......................+#@%@@SS:.................
...................:@@@@%S%?,...................,#%;:;+;,,,::,,......,.....,,:,++*%#SS?S@@@???%+*##S?;:,,..,,+;::;;;;;,........,*%##,......................;S**@@#?.................
...................%@@@*,+;,.....................?@#%?*++;:,,,,,...........,;+*,;****?*?%#S?*+S@#?:..:;;**;**??%*++............,?%%S;............,,...........,?@@#;................
..................,@@S*..........................,?@@SS?*+:::,,:,,...,..,....,;:.+;:,.,*?S??*%S+,.:;;+??%SS@@###%?+:,,.........,%%%S+............:*?+:..........+@##,...............
..................;#?;............................,?@###%%*;;:,:::,..,::;,,....,::,.,+*%S??+?+,:;+?%?%@@@@##@#SSSSS*;,..,;:;++*%###S,..............;SS?;,........;#@?...............
..................,,................................+@@@#@#S%*;;;;:,,..........,:::.,%SS?++%*:;;;**?%#@@@@@##%%%%?*????++;??S#@#@@S:................,?S%S+,.......:?S,..............
.....................................................;#@@@##@#SS?*+++;::,.,?**+**??**?S?*%@@S%??++++++++*?%%SSS%%%%??%?%#S###@#S#%:..................,??S@S:........,...............
......................,,,,,,,,,:::::::,,::::::,.......:%@@@#S#@@@@S%%??**+:+;+++*****%S##@@%;::;*?*?*+;::,.,,,,,:;;;;;+**%SSS#S%*,....................:%?@@#:.......................
...................,+;;;;;;;;:::;:::+++;+;;:;::.........;#@@@@#####@@@@@##S%%%%%%SS##@@@#%+:;+S@#SS##???*???*:,;??%***???%SS#%*:.......................?%S##%,......................
....................,::;;;;;;::::;++**++**++;;::,:,......,?@@@@@@@##@@@@@@@@@@@@@@@@@@#?++*?%S#@@@#%***??**+*%S#@@@@@@@@@SS#;..........................+%%S##;......................
..................,:::;::;;;;::::::,;;;;;+;;;:,,,,,........;S@@@@@@@@@@#@@@@@@@@@@@@#%+;;*%@@@#%?*+++++++++*?%%%%*%?SSS%?S*,...........................*%%#@@?......................
...................,:+:*+:;;*;;;:;;;;;+;+++++;:,............:S######@@@@@@@@@@@@@@#?*:+%#@@#%?+:;;++;;;;+;++*;;;+*++?++%#S,...........................,SS#@@@%......................
.....................,:;++;*?+;;+*+++;****++*++**+:::,,,,,,.:??%#@@#@@@@@@@@@@@@#SS?SS@@@@#SS%?%%%?**+;+*****???%?%S#SSSSS,...........................*S%%###*......................
.........................,.**+?%S@SS##@##@#####%?*+;;;++++;,,%???%S##@@@@@@@@@#S%%#@@@@@@@###@@@@@@@@@@@@@@@##S%S%S#S%%*+?,.........................,*%%%S##S,......................
..........................;*S#@#SS#@@@@@##@@##@S*+;::;:;;;;;,*????***?SS#@#SS#S#S@#@@@@SS?%S%*?SSS##@@@#S#@@@@@@#S???*+++?,........................:?%%%S##S:.......................
......................:;++*+%S##SS#######@#@@S%*+;;:::;:;;:;:;:++*?**?SSSSS?????SSS##%%%?%S%?*%%S%%%%S#SS%SS#S#@@S#+;++++*:.....................,;?%%S#@##S:........................
....................,,,:+%#S%?*#@@@SSSSS####@#SS%+;;::;;;,..,*;::::;+##%%%?**S??%%?%%%?????*+**?%??%%%%%SSSS%?%SS%*;+++++*:......,:,.......,,:;+?%SS###S%+,.........................
....................+*+*S@@@##S#@@@@@@@####%%%S@#S*;;;;;;,,.,+;;+;+*%%S?**???S%%%?*+***???*++**??**++***??%%%%*?%SS?*;;;+*:......,;?%%%??????%%%?SSS#%*;,...........................
.....................,+?SS@@#@@@@@##@@@@#@##S%#@@#%%;;+;,;;:,++???%%??%%??%%%?%SSSS#%%%%%?%##@####SSS???***?S%+***%S@?;++*;.........:+?%SS#####?????+,.....:;:,::::.................
.................,..:,::..;+*@@@@@@@###@#@####@#S#S%++?+:+*;.+SS%?*?**????%%#S%%S#S#SS%%%?%S@@@@@@@@@@@#S%?*%%;*?*S@#S?+++:.............,,:::::,,.......,:,,::,:,...................
.................+:,*,:++....:?#@@@@@@###@#S##@@SS?%%*++;;::+?@S??*%%?%???S%#%?????%??%S%?%%S##@@@@@@@@@@##S%?***%S%%?%S**:................:;;::,,,,,,:;:,,,:::;,...................
.................,;;;+..;;;*;*%###@@@@#####SS##@SS?*::,,:;+**?#?**+%%%%%?**++;++;;++***??%%?%??%#@@@@@@@@@@@@%%?*#%+???##S?+:,.......,::;+?%%*++;:::;;;;:,,,::::,...................
.....................:;,;+:S@@@@#S#@#@@##SSS%#%**+;:.,;**?????S++*%???+;++;:,::;:;;;++**???%%**?%#@@@@@@@@@@@@#?%%*+*??S@@@#%?+:.,:;;++;;;?%%?*??***?:;++:,,;;;:,.,,................
......................,::;+%*;%??SSSS#@#SSS*%S;,..,;**?%%S%??*%*+S%*%:,,,,,,;;;+;;;;;++**???%??????%#@@@@@@@@@@@%%?*;;;%@@@@@S%%**+;+*??**+%S%%%%%*?*++??*+::::;;::,................
........................,,:;**%%S####S#@#%?%%?+,,;**??%%%?*+;::+;;?%:.........,::;::;++;+**??**??%%?%#@@@@@@@@@@S??S?+*@@@@@@S%%?%S#@@#S%SSS@#SSS%%#%????*:::::,..,,................
......................,,,+*+**%%?SS%%#S##%?%*++;***?%%??**;;::::,.,:.....,......,:;:;;;+;;+****????S%?SS@@@@@@@@@@%S@%@@@@@@@@#SS%??S@@@@@@@@@@@@@@@#%%+:.,,,,,,:::,................
......................::::;*%S?%%S##%%%%##S%??**%SSS????*+;:?+;,:+:.:+.,*++.+,.::.,;;:+*+;:;***?????S%%SS#S@@@@@@@@@@@@@@@@@@@@@@@%?*?S@@@@@@@@@@@##***+**%;;+::,...................
......................,:;;;+#S#%S?#@######S?*???SSS%??**+;;,*+;.+*:,*,.+*:,:?::?,,;**:+**;;;***???%%S#SS##@@@#@@@@@@@@@@@@@@@@@@@@#S%%??#@@@@@@@@@@%?**?*++;,:.:;+;:,...............
...................,,,::;;;;;??+%S#@@@@@#SS+;+%%?%%?*++?++;;::,,:::,,,,:,..::..:,,:,;;+**;;+****??%%%%SS##@SSS#@@@@@@@@@@@@@@@@@@@@@@##%*%@@@@@@@@%;;*+*:::,.,+:+;:,................
...................,;:,,,,+??%SS#@@@@#@@##?**?S#S%?+++?;+;*?+:,?,++.++....;+++++;::+:;++;;;;+**??%%#S%%S@@@@@S#S#@@@@@@@@@@@@@@@@@@@@@@#S%SS####@#?%?%?*+:::::;+,...................
.....................,::++%#@@@@@@@@@@@@@@######%**+;??*?;**+;:*::.,?:,,,:*;+:?+;,%;+;+++++**??%%###SSSSS##@@@#@#%%S%%SSSS##@@@@@@@@@@@@@@@S???*???%???*++;;+,,,,,..................
....................,:;;;;;;++*%SS%###@@#####S%?**+**;;*****+*+++*++;;++++;++;;:,.,,,,:;;;;;++;+**+*++*++*???????????*????%S%?%?%S##S@@@%*%%#S%%?*+;;:;+++;+*??++;..................
...................................,,,::,,.........,,,,,,,,,,,,,,,,,,...................,,,,,:;;:;;;;;;::++;:::,,,.........,.,::+*?**?%?:.,,++*+++++++;;....,,,,,,..................
...................................................,.......,..............,,...................................................,....................................................