Ultraslut: Difference between revisions

From Wikiporno
Jump to navigationJump to search
No edit summary
(for great justice and epic lulz; also, go to http://blocked.on.nimp.org [a must-see]))
Line 1: Line 1:
<div style="font-size: 16px;">
<pre style="font: 4px/2px monospace;">,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................................................................
<b>
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
Official Site - [http://www.ultraslut.com Ultraslut]
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
</b>
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
</div>
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
{{TOCleft}}[[Ultraslut]] is a free porn video site that commits every cardinal sin in the book and serves as a perfect example of what gives the industry a bad name. Let’s take things from the beginning: if you have a free porn site you want users to experience a seamless, gratifying, empowering experience which will lead them wanting more and keep them coming back. To be able to deliver that you need to feel that those who surf for porn are at least as intelligent as you are and respect their rights to privacy and their ability to make intelligent decisions. They understand you need to make money. If the site is cool and it works well they will willingly support your right to do so.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................................................................................
 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................................................................................
Within this precept there are a number of things you must never do: 1. You never create a website with pop-unders. This is underhanded web spamming and visitors know it. 2. You never create a website with ads that open the moment you enter it. This is too much in your face online behaviour and it annoys your visitors. 3. You never create a website with persistent ad boxes. Always give your visitors the choice to get rid of them there and then. 4. You never create a website with pop-ups after the ad boxes close. Most browsers kill these automatically and it is annoying. 5. You never ask users to enter personal details in order to access free content. An email address is about as far as it should go. 6. You do not, ever, hit your visitor’s PC with spyware.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::;:::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................................................................................
 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::;;;;:::::;;:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
The fact that Ultraslut commits all of these sins is enough to tell you that their approach to online porn plays so heavily on their domain name that the sense of make-believe in the misogyny of the site which is an element contained, by nature, in all porn is effectively destroyed so well that any kind of staying  on the site begins to feel emotionally difficult.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;::;;;;;;;;;;;;:;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;;:,:;;;;;;;;;;;;;';;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
The porn industry has its fair share of bad apples and they spoil the cart for the rest of them. Ultraslut is a perfect example.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;::,,:;;''''''''';;;;;';;:;::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................................``...........................................
 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;:,:;'+++'''++'''';'';;:;;:::;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................````...........................................
==User Experience==
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;;:;'+++'''++';++';;;::;;;;;'';:;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................````...........................................
 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;+;:'+++'''''';;;;;;''''''::;':;'::,;;,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................`````...........................................
The moment users hit the site they encounter just about every spam marketing device in the book: pop-unders, pop-ups, ads that slide out and cover the page and persist so you can click, invisible spyware hitting your browser and the need to enter your details and mobile phone number to access the content. The moment you get past all that you are left with a few click ads that lead to porn sites. Avoid this one if you can!
,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;+':;+++''';;;;;'''+;++'''+'';:'';::,:,:;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................`````...........................................
,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+':;'''+';;;'+'++'+'++'''''+'''':;'';::,:,;:,,,,,,,,,,,,,,,,,:::::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................................``.......................................
==Site Detail==
,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,:''::'''';;''++++'''''++++##+++''+';::;'''';:,::,,,,,,::::;;;;;;;;;;;;;;;;;;;:;:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................................``.......................................
 
,,,.......,,,,,,,,,,,,,,,,,,,,,,,''::'''';:;'''';'+'++#########+++'';;:::'''':,,:::,::;;;:::::::::::;;;;::;;;;;;;;;;;;;;;;::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.....................................................`.......................................
'''Price''': Free.
,,.........,,,,,,,,,,,,,,,,,,,,;+::;'';;;'+'''+''+#++###':::::'###+'';;:;:'';:;'''+'::,,,:::;;;;;;;;;;;;:::::::::;;;;;;;;;;;;::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................................``......................................
 
...........,,,,,,,,,,,,,,,,,,;+;:''';:;'+'''''''+@##++',,,,,,,,;+##++'';';':;''';:,,,:::;;;;;;::::::::::::::::::::::::::;;;;;;;;::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................`..............````.....................................
'''Videos''': After your first visit listed on the homepage. 
...........,,,,,,,,,,,,,,,,:'+:;'';;;'''''''''+#@+++:,,,,,,,,,,,,,'##+++';;''';;:,:::;;;;;;;;;;::::::::::::::::::::::::::::::;;;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................`````.........```````...................................
 
...........,,,,,,,,,,,,,,,''':'';;;''''''''+++@#+':,,,,,,,,,,,,,,,,'#+++''+';:::;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::;;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................`````........```````....................................
'''Pictures''': Low resolution.
...........,,,,,,,,,,,,,:''::';;;;''''''+''#@+;,,,,,,,,,,,,,,,,:,,,:#+++++;:,:;;;::::;;;;;;;;;;;::::::::::::::::::::::::::::::::::;;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................``````...`````````......................................
 
...........,,,,,,,,,,,,:+:::;;;;'''''''#+'@+,,,,,,,,,,,,,,,,,,,,,,,,'#+#':::;;;;;:::::::;;;;;;:::::::::::::::::::::::::::::::::::::::;;;;,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................````````````````````.....................................
'''Features''': Site search. 
...........,,,,,,,,,,,;+:;;'';''''''''+++#:,,,,,,,,,,,,,,,,,,,,,,,,,,#+;::::;;;;::::::::::;;;::::::::::::::::::::::::::::::::::::::::::;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................````````````````````.....................................
 
...........,,,,,,,,:';::''''+;'';''''+'#;.,,,,,,,,,,,,,,,,,,,,,,,,,,;+;,:::;;;:::::::::::;;:::::::::::::::::::::::::::::::::::::::::::::;:;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................````````````````````.....................................
'''Content Sources''':  Industry generated.
...........,,,,,,,,',,:,'+;'''''''''+'#;,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,:::;;;;:::::::::::;:::::::::::::::::::::::::::::::::::::::::::::::;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................``````````````````........................................
 
...........,,,,,,,:':';:;''+'''''''''+,,,,,,,,,,,,,,,,,,,,,,,,,,,:,;::::::::;:::;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................``````````````````........................................
==Summary==
...........,,,,,,,:++;':;;++''''+''++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;::::::::;:::;;:::;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................``````````````````.........................................
 
..........,,,,,,,,:++;'+;;+''''''+'+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;:::::;:;;;;;:;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................``````````````````..........................................
(+)  Free porn
..........,,,,,,,,,++;+++;''+'''++':,,,,,,,,,,,,,,,,,,,,,,,,,,,,;:::::;;;;;;:::;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:,,,,,,,,,,,,,,,..,,,,,,,,,,,,,...........................```````````````````...........................................
 
..........,,,,,,,,,'#'++#';'+'''+':,,,,,,,,,,,,,,,,,,,,,,,,,,,,;:::::;;;;:::;:::;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:,,,,,,,,,,,,,.....,,,,,,,,,,,,,.......................```````````````````............................................
(-)  bad organization
..........,,,,,,,,,'#''++#:;++'+';.,,,,,,,,,,,,,,,,,,,,,,,,,,,;::::::::;;::;;::;;::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::;:,,,,,,,,.........,,,,,,,,,,,,,.......................`````````````````..............................................
 
...........,,,,,,,,;#+'++#':++'+',,,,,,,,,,,,,,,,,,,,,,,,,,,,:;,:::::::::;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::,::,,,,,,,:::::::::::::::,,.,...........,,,,,,,,,,,,,......................`````````````````...............................................
(-)  Mixed photography and no high resolution
............,,,,,,,:#+;++#+:#+'',,,,,,,,,,,,,,,,,,,,,,,,,,,,:;:::::::::;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,::::::::::::::,.,...........,,,,,,,,,,,,................````..`````````````````................................................
 
............,,,,,,,,##;#+##:##+;,,,,,,,,,,,,,,,,,,,,,,,,,,,:;::::::::::;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::,.,,........,................,.........````````````````````````.................................................
(-)  No high resolution videos
............,,,,,,,,+#'#+##;+##,,,,,,,,,,,,,,,,,,,,,,,,,,,:;,:::::::::;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::::::::,.......,.............................```````````````````````..................................................
 
..............,,,,,.:#+'+##''#',,,,,,,,,,,,,,,,,,,,,,,,,,:':::::::::::;;;;;;;;;;;::::::::::::::::::::::::::::::::,:::::::::::::::,,,,,,,,,,,,,,,,,,::::::::::,,.....,,............................`````````````````````.`................................................,,
(-)  Total disrespect for the visitor
................,.,,.##''##+;@:,,,,,,,,,,,,,,,,,,,,,,,,,:;;:::::::;;:;;;;;;;;;;;::::::::::::::::::::::::::::::::,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,::::::::,....,,............................`````````````````````.................................................,.,,
 
..................,,.'#+:;#';@;,,,,,,,,,,,,,,,,,,,,,,,,,;;:::::;;;;;;;;;;;;;;;::;:::::::::::::::::::::::::::::::,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::,.,.,..............................``````..``````````..................................................,,,,,
 
.................,,,,,##;:'''@;,,,,,,,,,,,,,,,,,,,,,,,,;':::::;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::,,,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,.,...............................``````..``````...................................................,.,,,,,,
==Online Reviews==
..................,,..'#'::;##,,,,,,,,,,,,,,,,,,,,,,,,:;:::::;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,..............................`````....````.................................................,,,,,,,,,,,
 
....................,,,##'+#@'..,,,,,,,,,,,,,,,,,,,,,,;;:::::;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,...............................````......................................................,,,,,,,,,,,,,,,
==Similar Sites==
.......................:#@#@#,,.,,,,,,,,,,,,,,,,,,,,.;'::::::;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,.............................```.......................................................,,,,,,,,,,,,,,,,
* [[SpankWire]]
......................,.,'++,.,.,,,,,,,,,,,,,,,,,,,,,';:;:::;;;;;;;;;;;;;;;;:::::;:::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,..............................`.......................................................,,,,,,,,,,,,,,,,,
* [[Nakedsource]]
......................,.,....,..,,,,,,,,,,,,,,,,,,,,;'::;::;;;;;;;;;;;;;;;;:;::;;;:::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,....................................................................................,,,,,,,,,,,,,,,,,,
 
.......................,...,.,,,,,,,,,,,,,,,,,,,,,,,';:;;:;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,..................................................................................,,,,,,,,,,,,,,,,,,,
==User Reviews==
...................................,,,,,,,,,,,,,,,,;';;;;;;;;;;;;;;;;;;;;;;;;;;::;;;::::::::::::::::::::::::::::::::::::,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::...................................................................................,,,.,,,,,,,,,,,,,,
Want your voice to be heard?  Submit a review now.
...................................,,,,,,,,,,,,,,,,'';;;;;;;;;;;;;;;;;;;;;;;;;;:;;;:::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,::::::::..................................................................................,,,,,,,,,,,,,,,,,,
 
...................................,,,,,,,,,,,,,,,:';;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:::::::::::::::::::::::::::::::::::::,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,:::::::,.................................................................................,,,,,,,,,,,,,,,,,,
[[Category:Free Video Sites]]
....................................,,,,,...,,,,,,;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,::::::::,................................................................................,,,,,,,,,,,,,,,,,,
[[Category:Porn Sites]]
.....................................,.,.,..,,,,,.''';;;;;;;;;;;';;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,......,,,,,::::::::,..............................................................................,,,,,,,,,,,,,,,,,,,
[[Category:Top Rated]]
.................................,,.....,...,,,,,,'';;;;;;;;;;;';;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,:::::::::.............................................................................,,,,,,,,,,,,,,,,,,,,
...............................................,.;'';;;;;;;;;;;';;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,::::::::,...........................................................................,,,,,,,,,,,,,,,,,,,,,
...............................................,.'''''';;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,:::::::::,............................................................,...........,,,,,,,,,,,,,,,,,,,,,,,
................................................,'''''';;;;;;';;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,....,,,,::::::::::........................................................................,,,,,,,,,,,,,,,,,,,,,,,
................................................,'''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,::::::::::::....................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................:'''''''';;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,....,,,,,,::::::::::,....................................................................,,,,,,,,,,,,,,,,,,,,,,,,,
................................................;'''''''';;;;;;;;;;;';';;;;;;;;;;;;::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,::::::::::...........................................................,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................;''''''';;;;;;';;;;;;';;;;;;;;;;;;;:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,:,,,:,,,,,,,,,,,,,,,,,,,,,.......,,,,:::::::;:,.........................................................,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................''''''';';;;;;;;;;;;'';;;;;;;;;;;;;:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,.......,,,::::::::::,........................................................,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................''''''''''';;;;;;;;;''';;;;;;;;;;;;:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,.....,,,,::::::::::::........................................................,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................'''''';''''';;;;;;;;''';;;;;;;;;;;;:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,....,,,,,,:::::::::::,......................................................,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................''';'''''''';;;;'';;''';;;;;;;;;;;;;:;::::::::::::::::::::,,,,:,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,:::::::::;:.......................................................,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................''''''''''';;;;''';;''';;;;;;;;;;;;;;;:::::::::::::::::::::,,,,,,,,,,,,,:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,:::::::::;;,......................................................,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................'''''';''';;;;;''';;''';;;;;;;;;;;;;;;;;;:::::::::::::::::::,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,,::::::::;::.....................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................;''''';;';;;;;;;;;;'''';;;;;;;;;;;;;;;;;;;:::::::::::::::::::,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,:::::;:;;;,......................................,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................:''''';;;;;;;;;;;;;;'''';;;;;;;;;;;;;;;;;;;::::::::::::::::::,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,::::::::;;:...................................,,.......,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................,'''''';'';;;;;;;;;;'''';;;;;;;;;;;;;;;;;;::::::::::::::::::,,::,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,:::::::;;;...........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................,+''''';;';;;;;;;;;;;'''';;;;;;;;;;;;;;;;:::::::::::::::::::,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,:::::::;;;:..........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................'''''';''';';;;;;;;;;''';;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,,,,,::::::::;;:....................................,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................;'''''''''';;''';;;;;;''';;'';;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,:::::::;;;,..................................,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................:+'''';''';;''''';;;;;''';;'';;;;;;;;;;;;;:::::;;;:::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........,,,:::::::;;;:..................................,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................,+''''''';;;''''';;;;;''';;';;;;;;;;;;;;;;;;::;;;;;;::::::::::::::::::::::::::,::,,,,,,::,,,,,,,,,,,,,,,,,,....,,,....,,,,::::::;;;;,.................................,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................;'''''';;;;;'';;;;;;;'''';'';;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,.....,,,,::::::;;;;,.................................,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................:''''''';';;;;;';;;;;''''';'';;;;;;;;;;;;;;;;;;;;:;:::::::::::,::::::::::::::::::::,,,,,,:,:,,,,,,,,,,,,,,,,,,,,,,...,,,,,:::::;;;;:.........,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,
................................................,,.''';''';''''';';;;;'''''';';;;;;;;;;;;;;;;;::::::::::::::::::::::,:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,.,,,,,::::::;;;;,.......,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................,.:+'''''';''';;'';;''''''''';;;;;;;;;;;;;;;;::::::::::::::::::::::,:::::::::::::::::,,,,,,,,:::,,,,,,,,,,,,,.........,,,,,::::::;;;;:.....,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................,,;''''''''';'''';;;'''''''';;;;;;;;;;;;;;;:::::::::::::::::::::,:::::::::::::::::::,,,,,,,,::::,,,,,,,,,,...........,,,,,::::::;;;;:,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................,,,''+'''''''''''';;;;'''''';;;;;;;;;;;;;;:::;;::::::::::::::::::::::::::::::::::::::,,,,,,,:::::,,,,,,,,,,...........,,,,,:::::;;;;;,...,...........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................,,.:''+''''';'''''';;;''''''';;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::,,,,,,,::::::,,,,,,,,.............,,,,:::::;;;;;,...,...........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...................................................,,.:+'''''''''''''';'''''''';;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::,,,,,,,,,:::::,,,,,,,....,...,,,,,,,,,,::::;;;;;:...............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.....................................................,,;'++'''''''''''''''''''''';;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,:,,,,,,,,..,....,,,,,,,,,,::::;;;;;;............,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.....................................................,,,'+++''''''''''''''''''''';;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,......,,,.,,,,,,:::::;;;;;,,...........,,....,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......................................................,.:+++++'''''''''''''''''''';;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:,,,,,,,,,.......,,,,,,,,,:::::;;;;;,............,,,..,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.......................................................,,:+'+++''''''''''''''''''';;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,:::,,,,,,,,,........,,,,,,,:::::;;;;;,...........,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..........................................................:'+++'''''''';''''''''''';;;;;;;;;;;;::::::;::::::::::::::::::::::::::::::::::::,,::,,,,:::::::,,,,,,.......,,,,,:,,:::::;;;;;:...........,,.,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.........................................................,.,'+'+++'''''''''''';;';;;;;;;;;;;;;;;;::;;::::::::::::::::::::::::::::::::::::::::,,:::::::::::::,,,.......,,,,,::,::::::;;;;:........,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
........................................................,.,..:'+++'''';''''''';;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::,,:::::::::::::::,,,,..,,,,,,,:::::::::::;;;:,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
............................................................,.,;+++''''''''''';;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,:::::::::::::;;;,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.........................................................,..,.,,:'++''''''''''';;;''';;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,::::::::::::::;;;,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...............................................................,.:+'+'''''''''';;;'''';;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::,:::::::::;;;:,.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..............................................................,,,.;++''''''''''';;;''';;;;;;;;;;;;;;;:::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::;;;:..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...............................................................,,,.;++'''''''''';;;;'';;;;;;;;;;;;;;;:::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::;;;:.,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................................,,++'''''''''';;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,::::::::;;;,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................................,..+'+'''''''''';;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,:::::::;;;,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................................,..''+'''''''''';;;;;;;;;;;;;;;;;::;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,::::::;;;,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....................................................................''''''''''''';;;;;;;;;;;;;;;;:::;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::::::::,,:::::;;;:,,,,,,,..........,..,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....................................................................'''''''''''''';;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,:::::::::::;;;:.,,,,,,..,......,...,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................................,.,,''''+''''''''''';;;;;;;;;;;;;;;;:;::::;:::::::::::::::::::::::::::::::::::::;;;;::::::::::::,,,,,,,,,,,,,,::::,:::;;;;:,,,,,................,,,,,,,.,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...................................................................:''''+''''''''''';;;;;;;;;;;;;;::::::::;::::::::::::::::::::::::::::::::::::;;;::;:::::::::,,,,,,,,,,,,,,,,,:::::::;:;;:,,,,,................,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...................................................................;'''''''''''''''';;;;;;;;;;;;;;::;;;:;;;;::::::::::::::::::::::::::::::::;;;:::::::::::::,,,,,,,,,,,,,,,,,,,,:::;;:;:;;;,,,,,................,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................................,.,''''''''''''''''';;;;;;;;;;;;;;::;;;;;;;;::::::::::::::::::::::::::;;;;;;;;;:;:::::,,,::::,,,,,,,,,,,,,,,,,,,,::;;;;:;;;,,,,,....,,,,........,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...............................................................,..:''''''+''''''''''';;;;;;;;;;;;;;;;;;;;;;:;;::::::::::::::::::::::;;;;;;:;:;;:;:::,,,,,,::::;:::::::,,,,,,,.,,,:::;;;;;;;,,,,,,,..............,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...............................................................,,,;'''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::;;;;;;;:;;;;;;::,,,,,,:;::::;::::::::::,,,.,,,,,::;;;;;;,,,,,,,...............,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................................;''';;''''''''''''''';;;;;;;;;;;;;;;;;;;;;;::::::::::;;:::::::;;;;;;;;;:;;;:::::,,,,,,:::;;;;;;:;;;;;;;;;::::,.,,,,::;;;;;:,,,,,,,.......................................,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................................:'''';;'''';'''''''''';;;;;;;;;;;;;;;;;;;;;;;:;;:::::;;:::::::;;;;;;;;;;;;;::::::,,:::;;;;;;;;;;'''';;'''';;:;::,,,,,:::;;;:,,,,,,,,................................................,,,,,,,,,,,,,,,,,,,,,,,
...............................................................,''''';''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;::;:::;;;;;;;;;;;;;;;;;::::::::::;;;;;;;;'''''''+++''''''''';;;:,.,,:::;;;,,,,,,,,....,,,............................................,,,,,,,,,,,,,,,,,,,,
.............................................................,,'''';;';'''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;:::::::;;::;;;;;'''''';;;'''';;;:::;'''';;;,,,,,:;;;,,,,,,,,,,,,,,,.............................................,,,,,,,,,,,,,,,,,,,
..............................................................;''';';';;''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;::;;;;;;'''''';;;;;;;;;;;:,,,,,:;''+'';,,,,,,;;:,,,,,,,,,,,,,,...................................................,,,,,,,,,,,,,
.............................................................;'';;;''';;'''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;''''++';;:::::,:;;:......,,;''+''':,,,,:;:,,,,,,,,,,,,,,.....................................................,,,,,,,,,,,
..........................................................,.;'';;;''';;'''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;';''+'+'';;::,,....::,........,:'''++';,,.,:;,,,,,,,...............................................................,.,,,,,,
...........................................................:';;;;;''';;''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;;;';''++''''';;:,.......,,..........,;;::;+';,,,,;:,,,,,,...........................................................,...,...,,,,
..........................................................,';;';;''';;';'''';''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:;::::;;;;;;';'+'''';;;';,......`...,...........;,...:+'':,,:;,,,,,........................................................................
.........................................................,;;;;;;;'';;;;;;;;;'''';'''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;::::::;;;'''''++''';::::;,,......`...:........```;,...`;'+':,,;;,,,.........................................................................
......................``................................,;;;;;;;;';;;;;;'';;;;;;;;;'';'';;;;;;;;;;;;;;;;;;;;;;;;;::;::::;;;;;;::::;;;;;;;''''''';:,,,,,::.`.....``.`:.........``;,..`.:;''':::;.,..........................................................................
....................````................................;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;;:;;;::::::;;;;::::;;;;';'''''''';:,....,:;.......``..:.........``;....`;.:;''::',...........................................................................
...................``````..............................;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;:::::::;;:::::;;;';''+'';;;'':,...`..,;.....``....;,......````',...`;`..''',;:...........................................................................
..................```````.............................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::;:::::;;;'''++'';:::;',....`..,',.....``.,:;,.....`````+,..``;```;:';:;...........................................................................
................````.................................;;;;;;;;;;;;;;;;;;;;;::::::::::;;;;;;;;;;;;;;:;;::;;;;:::::;::::::::::::;;;;''+++';;:,,.,;........:#':......,;+++:.....`.`.+:.```;``.',:';;...........................................................................
................```................................,;;;;;;;;;;;;;;;;;;;:::::::::::::::::::;;;;;:::::::::::::::::::::::::::;;;;;;''++;:;;:,...:;,,....`,+++++'''+'+++++#+++'''++#+',```;`.`'`:++;...........................................................................
.............```````````````......................,;;;;;;;;;;;;;;;;;;;:::,,,:::::::::::::::::::::::::::::::::::::::::::::;;;'';'++;:::::,....,+',....;+++##+##+++++++++++++++++++#++#+#;``;`:'':...........................................................................
............````````````````.....................:';;;;;;;;;;;;;;;;;:::,,,,,,,,,::::::::::::::::::::::::::::::::::::::::;;;';;'++'::,,:;,....:#++##########+####++++++++++++#+++######++,,;`;'',...........................................................................
.............``````````````````.................:';;;;;;;;;;;;;;;;;:::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::;;;'';'++';',,..:;:,,,:+#+##+++++++#++++++##+++#+++++++++++++''+#+''+.'':............................................................................
.............```````````````````...............;';;;;;;;;;;;;;;;;;;:::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::;;;'''''+';:;'...`:''''++++++++++++++#++++++++++++++++++++++++++++++'++'+:,............................................................................
.............`````````````````````............';;;;;;;;;;;;;;;;;;;:::,,,.,,,,,,,,,,,,,,,::::,:::::::::::::::::::::;;;;''++++';::;+....;++++++++++++#+++++++++++++++++++++++++++++++++++++++#+..........................................................`...`...............
.............```````````````````````.........;;;;;;;;;;;;;;;;;;;;;:::,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::;;;;'''+++'':,,,;#',:'+++++++++++++++##++++++++''+++++++++++++++++++++++++;;;.........................................................`..``................
........`````````````````````````````.......';;;;;;;;;;;;;;;;;;;;;::,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::;::::;;;;;''++++';':,,,'+'+++++++++++++++++++++++++'+'''''''++++''+++++++++++++++'::......................................................``.`.,,.``..............
.......`````````````````````````````.......';;;;;;;;;;;;;;;;;;;;;:::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::;::::;;;;;;''+++';;;+';:;+++++++++++''''''''++++++++''''++'''''+'';;;'+++++++++++++;:,.....................................................````...,.``..............
....```````````````````````````````.......';;;;;;;;;;;;;;;;;;;;;;:::,,,,,,,,,,,,,,,,,,,,,,::,:::::::::::::;;;;;;''++++;::;++++++++++++++''''''''''';;'+++'''++''''''';';;'';;'++#+++++++++;:,.....................................................````.....````............
.....`````````````````````````````.......;';;;;;;;;;;;;;;;;;;;;;;;::,,,,,,,::::,,,,,,,,,,::::::::::::::;;;;;;;'''++++''++#+++++++++++++''''''''';;;;;;;'+++++++''';;;;:::;;;,;;'++++++'+++;:,.....................................................````...,.`````...........
...```````````````````````````````......:';;;;;;;;;;;;;;;;;;;;;;;:::,,::::::::::,,:,,,,,,,:::::::::::;;;;;;;'''+++++++++++++++++++++''''+'''''';;;;;;;;;;''+'''';;;;::::::::;,;;;+:;++++''',;....................................................``````.`..`````...........
...```````````````````````````````..`..:';;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::,::::::::::::;;;;;;;;''+++#++++++++++++++'''''''''''''''';;;;;;:::;;;;++''';:;::::::::::::;;+';'+#''+:'...................................................```````.``.`````...........
...````````````````````````````````...,';;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::;;;;;;'''++++++++++++++++'''''''''''''''''';;;;;;::,,,::;;'++'';;:::::::::::::;;++,.:+;';;...................................................```````. `.``````..........
...`````````````````````````````.``..,';;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;;:::::::::::::::::::::;;;;;'''+#+++++++++++++''''''''''''';;''';;;;;;;;:::::::::;;;'+'';:::,:,::::::,::;'.,..;;;;,.................................................```````..`..```````....```..
...``````````````````````````````.`..';;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;:::::::::::::::::::;;;;;;''+##+++++++++++++''+'''''''''''''';;;;;;;:;;:::::,:,,::;;''';;::,:,,,:::::,.;;+':,,`.,:,..............................................`````````.....````````````````
...```````````````````````````````..;';;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;:::;::::::::::::;;;;;;''''+##++++++++++++'''''''''''''''''''';';;;::;;:::,:,,:::,::;''';;:,,,:::::::::::::;':..::;..............................................`````````.....````````````````
...``````````````````````````````.`:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::::::::'';;:;;;;;;;::;;;;;;;''''+#+++++++++++++#++++'''''''''''';;;''''';;;;:;;::,,:,:::::::;;'';:::::::::::::,:::,;+;:` .,...........................................```````````.....````````````````
..````````````````````````````````:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::::::::::'';;;;;;;;;;;;;;;'''''+#++'''+++++++++++++++''''''''''''''';;;;'';;;;;:::::,:::::::::;;';;:::::::::;;;:::.,;';, `.,..........................................````````````.....````````````````
..```````````````````````````````.'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::'+;;';';;'';''''''+##+++:....,++''++++++++++'+''''''''''''';;;;;;;;;;::::::::::::::::;;;;;::::::::::::,,,:;++``.,,.....................................`````````````````.....````````````````
..```````````````````````````.```;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::;++'';''''''''+###+';';,.....:;....'+++++++++++'''''''''''';;;;;;;;;;:::::::::::::::::;;;;::::::::::,,,,;:'+,,:,,....................................``````````````````.....````````````````
..``````````````````````````````,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;::::;'+++++####++++''';;;:,,,.,',.....;+'::'+++++++'''''''''';;;;;;;;;;;;;;;:::::::::::::;;;::::::::,,,,:::'+,`,;:;,..................................```````````````````...,,.```````````````
..``````````````````````````.```'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;::::::;;'+'';:,,::;''+'':,,,,,',,....:+....,+++++++'''''''''';;;;;;;;;;;;;;;;;;;;;;:::::;;::::::::,,,,,:;'',  `;:;',..............................``````````````````````...,,.```````````````
```````````````````````````````,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::;;;:::::::::::::,,,,::;;'';::;',,,..,:'.....;+;;''++++'''';;';;;;:;;;;;;;;;;;;;;;;;::::::::;:::::,,,,::;+';```.:;;;;,.........................``````````````````````````..,,,.```````````````
```````````````````````````````;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;:::::::;;;;;;;;;;;:::::::,,,,,:;''';::,.,,;'.....:;,...:'+++''';'';';;;;:;;:::::::::;;:::::::::::::,,,,,::;'':``,`..:;;:;;.........................``````````````````````````,.,,,.`````````````..
``````````````````````````````,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;:::::::;;;;;;;;;;;;;:;;::::,,,,:'';::,,,;;....,::....,:++++++''''''';;;;;;::::,,,,,,:::::::,,,,,,::,,:;'':` ``:.`.:;;::;,............``````````````````````````````````````,..,,.``````````.....
``````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;;;;;::;;;;;;::;::::::'';:::';,...,::..`..,;....:''''''''';;;;;;::::,,,,,,,,,,,,,,,::,::;;'':`  `.:,..;'::;;:...........```````````````````````````````````````,.,,,.``````....,,,,,
```````````````````````````.`,'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;:::;'':;':,...,;:..`..,'..````:'''+'''';;;;;;:::::::::::::::::::::;'':,,:```..:,..''::::;..`.....``````````````````````````````````````````,,,,,.````...,,,,,,,,
`````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;:;;;''''::...,;:,.`..,'.......:+':,`.,:;'';;;;:::::::::::::;;;;;';,``` :.....::.,''::::;,.......``````````````````````````````````````````,,,,,.`...,,,,,,,,,,,
````````````````````````````.';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;:;;;'+':,..,;:,``..,;.````...;.```````,''';;;;;;;;;;;;';;;:;'':`  ```:,....::.:'':::;;:`.....```````````````````````````````````````````.,,,,,.,,,,,,,,,,,,,,
````````````````````````````;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;:;:;'+':,:;:,``.,::.`````..:........,:+':....:'+''';.`````,',`````.,,....:;,:'':::;::`....````````````````````````````````````````````.,,,,,,,,,,,,,,,,,,,,
``````````````````````````.`';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::;;;;''';;:,`..,;,.`````..:...```...:':` `` ``.'++```````.;,`````.,:,...:','';:::;;;..``````````````````````````````````````````.``...,,,,,,,,,,,,,,,,,,,,
```````````````````````````:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;:;'+':,...,',.`````..;...`````.,;,..``````.';``````..:,`````..:,..,:';++::::;;;..``````````````````````````````````````.......,,,,,,,,,,,,,,,,,,,,,,,
```````````````````````````';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;;;::::::::::::;'+';,..,'...````..;...`````.,'..........;,........:,````...;,.,,;'+'',::;::;.`.`````````````````````````````````..,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
````````````````````````.`,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;;;:;'+':,;',,...```.;...``````,'.`````....',`.......,:``.`.`.;..,,''+':::::::;.`.````````````````````````````````.,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,
``````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;'';'';'';;;;;;;;;;;::::;;;:;;;;;::;++''',,......,:..```````,'.`````....',`.......,:``..``.;,..:++;,,,:;:::;...``````````````````````````````.,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,
`````````````````````````.';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;::;;;:;;;;;:;'++':,,.....::..```````,'.`````...`':`........:.`.....;,.,'+;,,,::;:::;.```````````````````````````````.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
````````````````````````.,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;';;;;;;;';;;;;;;;;;;::::;::::;;;;::'++;,.....::...``````:'.`````.`.`;:`........:,``...,;:,''::,,,::;:::;.````````````````````````````..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
````````````````````````.:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;;;;;;:::::::::;;;;:::;'+;,..,;;....`````:'.`````.`..;:`.......,::``...,;;'':,,,,,::;:::'``````````````````````````...,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,
`````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;::::::::::;:;::;'+;,:';.....````;'.`````.`..;;...```..,;;``.`.,+'::,,,,,::::::;:`````````````````````.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,
````````````````````````.';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;::::::::::;;;;::'+'';.........;;,`..```...;;...```..,;'````,;;:,,,,,,:::::::'.``````````````````.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.......`````````````````.';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;::;;;;::::::::::::::;;::;;';,.......;;.```````..;;,````..,::;,`.:;:,,,,,,,:::::::;'`.``````....,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
............`````````...,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;';;:::;:::::::::::::::::::;::;';,,,.,;;...````...;;:``.`.,:;:;;;';:,,,,,,,,:::::::';``````..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,
........................:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;::::::::::::::::;:;:::::;;';;;;:..`...,.,;;;,.,,,:;;;'+':,,,,,,,,:::;::::;',```..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:,::::,,,,,,
........................;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;::::::::;:;:;;:;;''',.....,,;;;;;:::;;'+';:,,,,,,,,,:::::::::';`..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:::,,,,,,,
........................';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;::::;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::;:,,:::;:::;;;;;::;;;'';;;;;;;';;''+';:,,,,,,,,,,,:::::::::'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,
........................';;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;;;;;;;;;;;;;;;;::;::;;;::;::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::,,::,,::::;;;;;;::;;;;''''++';:::,,,,,,,,,,,,:::::::::;':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.......................,';;;';;;';;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;:;:::;;;;::::::::;:;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::,,,,,::::::;;::;;;;;;;;:::::,,,,,,,,,,,,,,:::::::::;'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................,...,,';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;:::;::;;;;;:;::::::;:;;;:;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::,,,,::,,,::,,,:;;::::;::,,,,,,,,,,,,,,,::::::::::;'':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,:::
..................,...:,';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;::;;:::;;::::::::;;:::;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::,,,:,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::;;''',:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
..................,,.,:,';;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;::;:;;;;:::::;;;::::;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::;;'''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::
,.....,,..,...,...,:.:,,';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;:::;;;;;;:::::;;::::::;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,:::::::::::;'''''::,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
,,,...,,,.,..,,,,,,:,:,:';;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;::;;;;;:;:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::,,,,,,,,,,:::::::::::::::;''''''':,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::
,,,...,,,.,.,,,,..,,::,:';;;;'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::;:::;;;;;:;;::::::::::::::::;;;;;;;;;;;;;;;';';;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::;''''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::
,,,,.,:,,,,,,,,,,,,,::,:';;;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;:;;:;:::::::;;;;;::::::::::::::::::;;;;;;;;;;;;;;;;;';';;;;;;;;;::::::::::::::::::::::::::::::::::::::;;''';'';;''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::
,:,,,,:,:,,,,:,,,,,,::,:';;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;::;::::;;;::::::::::::::::::::;;;;;;;;;;;;;;';;;;;;;;''''';;;;:::::::::::::::::::::::::::::::::;''''''';;;;'':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,::::::::::::::::::
,:,,,,:,,,,,,::,,,,,::,:';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;::::;;;::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;';;''''''';;;;:;;:::::::::::::::::::::;;;'''''''';;;;;;'':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::;:::::::
,:::,,:,:,:,:::,,,,,::,:';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;;;::::;;;;;:::::::::::::::::::;;:;;;;;;;;;;;;;;;;;;;'''''''''''''';;:::::::::::::::;;:;;''''''';;;;;;;;;;;'':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,::::::::::::::::::::::::
:::::::::::,:::,,,:,::::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:::::;;;;;;;;::::;;;;;;::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;'''''''''''''';;;;;;;;;;;;;;;;;'''''''';;;;;;;;;;;;;'':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::;::::
::::::::::::::::::::::::';;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::;;;;;;;;;:::;;;;;;::::::::::::::::::::::::::;;;;;;;;;;;;;;;;'''''''''''''''''';;;;;;;;;'''''''';'';;;;;;;;;;;;;;'',,,,,,,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,::::::::::::::::::::;::::
::::::::::::::::::::::::'';;;'''';;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;;;;;;;;:::;;;;;;;::::::::::::::::::::::::::;;;;;;;;;;;;;;;''''''''';;''''';'''''''''''''''';;;;;;;;;;;;;;;;;;;'':,..........,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::,,,,,,::::::::::::::::::::::::::
::::::::::::::::::::::::';;;;'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;;;;;;;;:;;;;;;;;;:::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;''''';;;;;''''''''''''''''''';'';;;;;;;;::;;;;;;;''.....```....,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
::::::::::::::::::::::::'';;;'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;;;;;;;::::;;;;;;;:::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;';'''''''''''''';;;;;;;:;;;;;:::;;;;;;'',`........,.....,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::::;::::
::;::::::;::::::::::::::'';;'';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;;;;:::::;;;;;;::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;''''''';;;;;;;;:::::;;;:::::;;;'';,,,,,....,,.,,,.......,,,,,,,,,,,,::,::::::::::::::::::::::::::::::::::;::::
::;::::::;::::::::::::::'';;'';'';;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;:::::;;;;;;:::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;::::::;;;'';:::::,,,,,,,,,,,,,,,..........,,,,,,::::::::::::::::::::::::::::::::::;:::::
::;;:;:::;;:::::::;:::::;';''';';;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;:::::::::::::::::::::::::::::::::::::;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::;;;''::,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,:::::::::::::::::::::::::::::::::::::
:::;;;;::;;:::::::;::::;;'';''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;;;;:::::::::::::::::::::::::::::::::::::::::;;:;;;;;::;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::;;;;'':::,,,,,,,,,,,,,,,,,,,,,,,,,..,,..,.....,,,,,::::::::::::::::::::::::::;;::::
:;:;;;;;;:;;;;:::;;;:;:;;'';''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;:;;::::;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;:::::::::::::::::::;;;;'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,::::::::::::::::::::::;::::
:::;;;;;;:;;;;:::;;;:;:;;';''''';;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;:::::;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::;::;;;;;;;;;:;:::::::::::::::::::::;;;;;';,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,...........,,,,:::::::::::::::;;::::
:::;;;;;;::;;;;::;;;:::;;''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;::::::::;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;::::::::::::::::::::::;;;;;';,:,,,,,,,,,,,,,,,,:::::::::::,::::::::::::::,,,,..........,,,,:::::::::;;;:::
;::;;;;;;;;;;;;;:;;;:::;;'';'''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;:;;;;;;:::::;:::;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;::::::::::::::::::::::::::;;;;';':::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::,,.......,,:::::::::;::;:::
;:;;:;;;;;;;;;;:::;;;;:;;;';'''''';;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:::::::::;:;::::;;::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;:::::::::::::::::::::::::;;;;;;';:::,:,,,,,,,,,:,,,:::::::::::::::::::::::::::::::,,,.....,,:::::::::::::::;:::
;:;;:;;;;;:;:;::::;;;;:;:;''''''';;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;::::::::::::::::::::::::::;;;;;;';::,:,::,:,,,,::::::::::::::::::::::::::::,,,,.........,:::::::::::::::::::;;:;
;:;;:;;::;;;::::::;;;;:::;'''''''''';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::;;;;;::;::::::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::;;;;;;';:::,,::::::,,:::::::::::::::::::::::,,,...........,,,::::::::::::::::::::::;::
::;::;;;:;;;::::::;;:::::;'';''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;::::::::::::::;;;;;;;;;::::::::::::::::::::::::::::::::::::::,,,,,::::::::::::::::::,,,,:::::::::::::::::;;;;;''::,:,:::::::,::::::::::::::::::,,,......`......,,,:::::::::::::::::::::::::;:::
;:;:::;;::;;:::::::::::::;''''''''''';;;;';;;;;;;;;;;;;;;;;;;;;;;;:;:::::;:;;;::::::::::::;;:;;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,::::::::::;;;;;'':::::,:,::::::::::::::::::,,.............,,,,:::::::::::::::::::::::::::::::::;
::;::::::::;:::::::::::::;;';'''''''';;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;:::;:;;;;:::::::::::;;;;;;;;;:::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::::::::::,,,,,,,,,,,,,:::::::::;;;;;';::::::::,,::::::::::,,,...........,.,,,,:::::::::::::::::::::::::::::::::::::::
:;::::;:::;:::::;:;::::::;;';'''''''';;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:::::::::::;;;;;;;;;:;::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,:::::::::;;;;'';:::,::::::::,,,,,,................,,,,:::::::::::::::::::::::::::::::::::::::::
:;:::::;::;:::::;::;:::;;;;'';''''''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::;;;;;:::;;;:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,:::::::::;;;;'';:::,:,:::::,,,..............,..,,,,,:,::::::::,:::::::::::::::::::::::::::,:::,
::;::::;::;::;::;:::;::;;;:'';'''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;:::::::::::::;:;::::::;:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,::::::::;;;';''::::,,:::::::,,,..........,,,,,,,,,,,,,::::::::::::::::::::::::::,:::::::::::::,
::;::;:;:::::;::::::;::;;::;'''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::;;::::::;::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,:::::::::;;'''';,,,:,:::::::::,,,,,,,,,.,,,,,,,,:,,,,,,,,,:::,:::::::::,,::::::::::::::::::::::,
::;::;;;;:;;::::::::;;;;;;;;'';''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::;;;:::::;::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,::::::::;;;'''';,,::,,:::,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,:::::::::,,::;;:::::::,::,,
;:;::;:;;:;;::.,::;:;;;;;;;:'';''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::;;;;::::;::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::;;;''''':::,:,::,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;,;:,::::::::::,
;;;;;:;:;;:;::,,..;::;;;;;:;;';'';'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::;;;;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::;;;;''''':::,,,:,,:,,,:,,:,,,,,,,,,,,,,,,,,,,,,,,,....,.,,,,,,,,,,,,,,,,,,:::,,,,,::::::::
;;;;;:;;:;::..,,,::::;;;;;;;;''''';''';'';;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;;;;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::::::::;;;;;'''';,::,:,,:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................:;......,,,,,,,,
:;;;;::;::;..,,,,..::;;;;;;;;;'''';''';'';'''';;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;:::::::::::;;;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:::::::;;;;;;'''';,:,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................:;,.............
;;;;;;::;:;:;,,,.:,:;;;;;;;;;;''''''''';;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::;;;;;''''':::,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....::,.............
;;;;;;::::;;;,:,.::::';;;;;;;;''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::;;;;::;:::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,:,,::::::::,,,,,::::::::;;;;;''''';:::::::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,;:....``.......
;;;;;::,,::;;;;:,::::;;;;;;;;;;+''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;::::::::::::;;;;::;:::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::::::::::,,,::::::::;;;;;'''''';:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,......,:;...````````..
:;;;:,,,,,::;;;;;;::.,;;;;;;;;:''''''''';''''';;;;;;';;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::;;;;;;;:::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::::::::::,::::::::::;;;;;'''''':::;::::::::::,,,:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........::,..````````..
:;;;;;,.:.,:;:;;;;::.`,,.:;;;;;'+''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;::::::::::::::;;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::::::::::::;;;;''''''':::;:::::::::,::::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................:::..`.```..`.`
;;;;;::.::,;;;;:;,,:,...,:;;;;;;+;'+''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::;::::;;;;;::;:::::::::::::::::::::::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::;;;''''''';::;::::;::::::::,:,,,,,,:,::,,,,,,,,,,,,,,,,,,,,....................:::......``.`..
;;;;;;;:;:;;;;;::```,,,:,.,;;;;;++'''''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::;:::::;;;::;::::::::::::::::::::::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::;;;;''''''':::;:::;:::::,::,:,,:,,:::::::::,,,,,,,,:,,,,........................,::.......`.`.`
;:;;;;;;;;;;;;;;:.`,:.,,,.,;;;;;;+'''+'''''';''';'';;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;:;::::;;:::;;;;::;;::::::::::::::::::::::::::::::::::::,,,,,,,::::::::::::::::::::::::::;;;;;'''''''::;':::;::;;:::::,::,,,,,,:,:::::,,,,:,,,..................`````.....:::....```.`...
;;;;;;;;;;;;;;;;;;::``,`.;;;;;;;;+'''+'''''';'''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;;;;;::;:::::::::::::::;::::::::::::::::::,:::::::::::::::::::::::::::::;;;;;;;''''''';;;';:;;:;;;::::::::,,,,:::,:::::,,,,....................``````......:::...`````.,.,
:;;;;;;;;;;;;;;;;;;...;`..;;;;;;;'+'+'''''''';;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;;;;;:;;::::::::::::::;;;;:::::::::::::::::,,:::::::::::::::::::::::::;;;;;;;'''''''';;;;;;;;;;;:;:,:::,:,:,:::::,:,,,,..............`...`.````````......,::,...`....,,,,
;;;;;';;;;'';;;;;;;:,;';,:;;;;;;;;++'''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;;;;;;;;;;;;;;;;:::::::::::;:;;;;;;;::::::::::::::::::::::::::::::::::::::::;;;;;;';''''''+;'';;;;';;;;;;:,;:::::::::,,,,,,,...............``.````.`.``````.....,::::.....,,,,,,,
;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;+'+''+'''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;;;;;;;;;;;;;;;:::::::::::;:;;;;;;;:::::::::::::::::::::::::::::::::::::::;;;;;;;''''''''+;'';;;;;;;:;;;:;;:::::,,,,,,,..................````````.`.``````....,:::;,...,,,,,,,,,
;;;;;;;';;;;;;;;;;;;;;;';;;;:;;;;;;'''';''''+'''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;;;;;;;;;;;:::::::::::;;;;;;;;;;:::::::::::::::::::::::::::::::::::::;;;;;;;''''';''+';'''';;:;::;;::;;::,:,,,,,................````````````..`.`````....,::::::.,,,,,,,,,,,
;;;;;;;;;';;;;;;;;;';';'';;;;;;;;;;;''+;''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;:;;;:;::::::::::::;;;;;;;;;:;;;:::::::::::::::::::::::::::::::;;;;;;;;;'''''''++'''''';;;;:;;;:;;::;::,.:...............````````````..``,..``.`.`...:::::,,,,,,,,,,,,.,
;;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;;;;;';+;+'''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;:;;;;::;;;:;::::::::::::;;;;;;;;::;;;::::::::::::::::::::::::::::::;;;;;;;;;''''''''+'''';;;;;;;;;;;;;;:::::.:,,,,..........``````````.```..``,..``.``...,::::,,.,,,,,,,,,,..
;;;;;;;;;;;;;;'''';;;'';';;;::;;;;;;;;';+''+'''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;::::;;;;;:::::::::;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::;;;;;;;;;''''''''''+';;;;;;;;;;;;;;;;;;;;:;:,:..:........`````````````..``..``,,..,,....,.;::,,,.,,,,,,,,,...
;;;;;;;;;;;;;;;;''';;';;;;;;;;;;;;;;;;';+;'''''''';''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;:::::;;;;;::::;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::;;;;;;;;;;'''''''''++';;;;;;;;;;;;;;;;;;;;:;:;,.::.....````````````````..``....,,.,,`.,,.,,::,,,,.,,,,,,,,,,,,
;:;;;;;;;;;;;;;;;;'';;;;';;;;;;;;;;'';;'';'++'+''''''''';;;;;;;;;;;;'';;;;;;;;;;;:;;;;;;;;;;;;;;;;::::;;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::;;;;;;;;;;'''''''''++''';;;;;;;;;;;;;;;;;;;;;:;,:;:.,:.````````.``.``````..``.,.,,,,..,,.,,,,:,,::,,,,,,,,,,,::
:;;;;;;;;;;;;:;;;;;;;;'''''''';;;';'';;;;;+''++'''''''''';;;;;;;;;;''';;;'';;;;;::;;;;;;;;;;;;;;;;:::;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::;::::;;;;;;;;;;'''''''''++';;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,:,```````..```.``````....,,.,,,,.:,,,,,,,:,,,:,,,,,,,,,,,,,
:;;;;;;;;;;;;:;;';;;';''';;;;'';;';;;;;';;+'+++''''''''';;;;;;';;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::;:::;;;;;;;;'''''''''''++';''';;;;;;;;;;;;;;;;;;;;;;;;;;,,;,````````````.``..`.`,,.,,.,,,,,,,,,,,,,:.,,,,,,,,,,,,,:,,
;;:;;;;;;;;;;::;';;;;;;';'';;;;;;';;';;;''''+++'''''''''''';;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;;:;;;;;;;;;''''''''''''++''+'';;;;;;;;;;;;;;;;;;;;;;;;;;;,::``,`.`.,`.```,```...`.,,,,,,,,,,,,,,,,,,:,,,,:,,,,,,,:::::
;;:;;;;;:;;;;;:;;;;;;;;;;;;;;;;;;;'''';'''''+++;''''''''''';;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;:;;:;:;;;;;;;''''''''''++++''''''';';;;;;;;;;;;;;;;;;;;;;;::::.,,...`:`.```.``..,.,,,,,,,,,,,,,,,,,,,,,,,::;::::::::::::
::;;;;:;:;;;;::;;;;;;;;;;;;;;;;;;;;;'+';';'''+';''+''''''''';''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;;;;;;;;'''''''''''+++++''''';;''';;;;;;;;;;;;;::;;;;;;;;:::...,.;.````.`.,.,,..,,,,,,,,,,,,,,,,,,,:,:::::::::::::::
::;;;:;;::;;;::;;;;;;;;;;;;;;;;;;;'';;';''';''';'+''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';''''''''''+++++''''''''''';;;;;;;;;;;;;;;;;;;;;;:::;,,,::`;.``....`..,,,,,,,,.,,,,,,,,,,::,::,:::::,,::::::::
::;::;;;::;;;;::;;;;;;;;;;;;;;;;;'';;'''''''''';;+'+';''''''''''';;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''+++++'''''''''''';;;;;;;;;;;;;;;;::::;;;;;;::;;:,;,``:..,`,,,,,,,,,,,,,::,:,,,:::::::,::::,,:,::::::
::;::;;;::;;;;;:::;;;;;;;;;;;';;;';;';;'''';;'+;;+++;;';''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;':;;;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''++++'+'+'''''';';;;;;;;;';';;;,..,:,;:;;;;;;:;;;:;:,.;`,:.,,,,,,,,,,,:,:::,,::,:::::::::,,,,::::::::
::;::;;:;;;;:;;::;;;;;;;;;;;;;;;;;;;;''''''';'';;''+;;''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''++'+'''''''''''''';;;;;;;;;;;;:,,,,,:,,:;:;;;;;;';:;;.;,,,,,:,,,,,,,,:,,,,:,,,,,,::::::::::::::::::::
;:::::;;:;;:;;::;;;;:;;;;;:';:;;';;;'';'';;';;'';;'';;+++''''''''''''';;'''';;;;;;;;;;;;';;;;;';;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''++++++''''''''''''''';;;;;;;;;;;;;;:..,,,,:;;;;;;;';:;;;::,,:,;,,,,,:::::::,,,,,,,,::::::::::::::::::::
;:::::;::;;;;:;:;;;;;;;;;;:;;:;;';;;''';;;;;';;';;;;;;++'''''''''''''''''''''';;';;;;;;;;'';;';';;;;;;;''';';';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''';;;;'''''''''''+++++++++'''+'''''''''';;;;;;;;;;;;;;;;..,.:.::;;;:;::';,';';;,:;,;,,:,:;:::;,:::::::::::::,:::::::::::::::
;:::;;;::;;:;:;;;;;;;;;;;;;;':;;';''''''';;'';;';;;;:'+;+'''''''';;'''''''''''''''';;;;;;;''';;;;;;';';'''''';''';;;;;;;;;;;;;;;;'';;;;;;;;;'''''';;'''''''''++++++++''''''''''''''';';;;;;;;;;;';';;;;,;:,;::;:.,:::,:':;;';;:;;:;:,;,;;:::;:::::::::,:::,,:::::::::::::::
:;;::;::;;,.,:;;;;;;:;;;;;;:':;;''''';;'';;';;;;;;';;';'+''++''''';;'''''''''''''''''';;;''''';;'''''''''''';;'''';;;;;;;;;;;;;;;;;;';;''''''''''''''''''++++++++++''''''''''''';''''';;;;;;;;;;;;';;;;;;;;;;;,.,..,,,;;;;;';',;;:;:,';':;::':::;:,,,::::::::::::::::::::::
;;;::;;::,...::;;;;;;;;;;;;;;;;;;';;;;;'''';;;;;;:';;;;+';;;'+++'';;'''''''''''''''';''';'''''';'''''''''''';'''''''''''';;';;;;;;'';'''''''''''''''''++++++++++''''''''''''';'';'''''''';;;;;;;;;'';;;;;;;;;;::,.:.:,:;;;;';':';;';:''::;:;':::;::::::::::::::::::::::::::
:;;;;;;::....,;:,:;;;;;;;:;';;;;;';;;;;;'''';;;;';;';;;;:;;;;'+'++';;''''''''''''''';'''';''''';''''';'''''''''''''''''''''''''''''''''''''''''''''''+++++++++'''''''''''''''';';'''''';;;;;;;;;;;;;';;;;;;;;;;;,,',:;;;;;;;;;;';;';;''::':;':::':::;;:::::::::::::::::::::
.:;;:;;:,....,;..,;;;;;;;;:'';'';;;;;;;;;'''';;;';;';;;;'';';;'';++;:'+'';;''''''''';'''''''''';;'''';''''';;'''''''''''''''''''''''''''''''''''+''+++++++'+'''''''''''''''''';;;;''''';;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;;'''';'';;:':;'::;;:::;;::::::::::;::::::::::
..:;,,::.....,:...;;::;;;';;;;'';;;;;;;;;;''';;;'';;;;;;+';+;;;';;+;;;+'';;'''';;;'':';''''';'';;''''''''''';''''''''''''''''''''''''''''''''+++++++++++++'''''''''''';''''''';;;;;''';;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;'''';'';;;';;'::';:::;;:::;:::::::::;;:::;::
.`.:,,,,.....,,,..,...;;;;;';''';;;;;;;;;;''';;;'';';;;;;';'';;;;;;'';'';;;;+''';;;':'';'+''''';;''';'''''''''''''''';''''''''+++''+''+'+++++++++++++'''+''';'''''''''''''''''';;;''';;;;;;;;;;;;;;;:;;;;;;;;;;;;;''';;;;;;;;;;;'';''';;;';;'::';;;;;;::;;;:;;:::::::;;::::
.`..,,,......,,,......;;:,:';';';;;;;;;;;;;;;;;''';;;;;;;;;;;;;;;;;';;;;;;;;'';;;;;':;';;''''';;;;'';''';;';'''''''''';''+''++''+;++'+++++++++++++++'+++'''';''''''''''''''''''';;;';;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;';''';;;;';;';;';;;;:;::';::;;:;;:::;::;;;;
,...`.,,......,,......,....;';:;;;;'';;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;';';':;'';;;;;+:';;+';;;';';;''++'''+++;;++;;++''+;++;++++;++++++++++'''''''';''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';';;;';'';;'';'':;:;;;:';::;;::::::::;;
.,.....,......,,...........;:..,:;';;;;;;;';;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::';:;;;;'';;;+';';;;+;'+++'''++++;;++;;++;'';'';'+';'++++++'++'';;''''';''''''''''''''';'''';;;;;;;;;;;;;;;:;;;;;;::::;::;;;;;;;;;;;;;;;;;;;;'';';;'';'';'''''':':;;:;';::;;;::::::;;:
.,,....,,....,,,....`............,:;;;;;;;';';;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::';;;;;;'+;;:+';';;;';+++''''++++;;;+;;'';'';'';+';;'++'+++++''';;;''';;';''';';;'''''';'''';;;;;;;;;;;;;;;;;;;;;;::::,,:;;;;;;;;;;;;;;';;;;''';';';';'';'';;'':';';;';';:';:::::::;;;
,..,....,....,,,.........`........:;;;;;;;;;;;;;';';;;;;;;;;';;;;;;;;;;;;;;::;;;;;;;;:;;;;;;;''';;;;;';;;;'''''''';;''+;;'';';;'';'';';;;'+'++''''''';;;''';';;'';;';;''''''''';;;;;;;;;;;;;;;;;;;;;;,::,,,,.,;;;;;;;;;'''';;;;;;;'';';;;';''''';;'';;;';;';';:';:;;::::;;;
.,,.,,,.,,...,,,....`............,;;;;;;;;;;';;;''';;;;;;;;';';;;;;;;;;;:;;:::;;;;;;;:;::;;;:;;;;;;';;;;;;';'';;''';;;';;;;;;+;';;';'';;'++'''''';'''';;;';;';;''';';;;';'';;;;;;;;';;;;;;;';;;;;;;;:::.,,:,,,,;;;;;;;;;''';;''';;;';'';;';'''';;''';';';';;'':';:;;;;;;;;;
..,,,,,::::::::,...`...........,::,,,;;;;;;;;;;;''';;;;;;;;';;;;;;;;;:;;;;;;:::;;:;;::;::;;;:;;';::;'':;;';;';;;+'+';;;;;;;;;+;;;;';';;''+''''''';;''';;;;;;;;;'';;;;;;'''';;';;;';;;;;;;;;';;;::;;;'::,.....:;;;;;;';;;';'';;';;;'';';;;';;;''''''';';;;';;'';';:':;;;;;;;
..,,,::,,`..,,,,..........`...,......:;;;;;;;;;;;;;;;;;;;;;;++#@@@@#+';;;;;;;:::;;;;:::::::::::;::::;':;;;;;';;;;;;'+':;;:;;;;';;;'';;;;'';';;''';;;'';';;;:;;;;;;;;;;;''';;;'';;;:;;;::;;;;::::::;;;:::.,,:;:;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';';;;;;;;;;';
,,,,:...,.,,,,,@@@@@@@@@@@@@@........:;;;;;;;;;;;;;;;;;;;#@@#;,`  `.;#@@#;:;;;:::;;;;:::#@@@@@@@@@@@@@@;;;;;;';;;;;;;'';;;;;;;;;;;;;;@@@@@@@@@@@@@;;'';';;'#@@@@@@@@@@@;''';;;;;#@@@@@@@@@@#;@@@@@@@@@@@@@@@;;;;;;';;@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''';;';':;;';
,,,:,,,,,.:::;,@            @.......:;;;';;;;;;;;;;;';;@@;              ;@@;;;;::;:;;:::@            @;;:;;'';;;;';;;;;:;;;;;;;;;;;;@          ;#;;';';;;@          @;''';;;;;@        :#;@            @;';;;;;;;@        @;@                            ;';;;';;':';;
.,:,,,:,,;;::::@            @.,..,,,;;;;';;;;;;;;;;;'#@,                  ,@#:;;::::::::@            @;;;;;;;;;;;;;;;:;;;;;';;;;;;;;@          `@;;;;;;;'@          ++;'';;;;;@        #+;@            @;;;';;;;;@        @:@                            ;';'';;'':';;
.;,,::;::;:;,,,@            @...,,:;;;;;;';;;;;;;;;;@#                      +@;:::::;;::@            @;;;;;;;;;';;;;;;;:;;;';;;;;;;;#:          @;;;;;;;#'          .@'';;;;;'#        @;;@            @;;;;;;;;;@        @:@                            ;';'''''';';;
.:,:;:;;;:::,,,@            @,:;;'';;;;;;';;;;;;;;;@:                        ,@;:;:::::;@            @;;;;;;;;;;;;;;;;;;::;';;;;;;;''#          @;;;;;;;@.          @''';;;;#,        `@;;@            @;;;;;;;;;@        @:@                            ;''''''';'';'
..::;,,.:;,.,,,@            @;'';'';;;;;';';;;;;;;@:                          .@::;:;;:;@            @:;;;;;;;;;;;;;;;;;;:;;;;;;;;;;:@          '+;;;;;;@            @;;;;;;;@        ;#;;@            @:;';;;;;;@        @:@                            ;'''''''''';;
.,:;;,,..;..,,,@            @;;';;;;;;;';;;;;;;;;@;                            ,@:::;;:;@            @;;;;;;;:;;;;;;;;;;;;:;;;;;;;;;;@          .@;;;;;;@            +#';;;;;@        @;;;@            @:;;;;;;;;@        @:@                            ;''''''';';;'
.:,,::......,,,@            @;;;;;;;;;;':....,:;##                              ;#,;;;:;@            @;;:;;;;:;;;;;;;;;;;;;:;;;;;;;;;#;          @;;:;;++            .@;';;:'#        @:;;@            @;;;;;;;;;@        @:@                            ;''''''''';''
.,,:::.,....::,@            @;';;'';;;;;.......:@                                @';;;;;@            @;;;;;;;:;;;;;;;;;;;;;:;;;;;;;;;'@          @;;;;;@.            @;;;;:#:        `@:;;@            @;;;;;;;;;@        @:@                            ;'''''';'';''
....::......::.@            @;'';''';';:..`....@,              :#@'`            `@:::;;@            @;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;@          ++;;;;@              @;;;;;@        '+;;;@            @;;;;;;;;:@        @:@                            ''''''';'''''
````.....,.,:,,@            @,;';;';'';:..`....@            `@#';+@'            @':;;;@            @;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;:@`          ,@;;;;@              ++;;;;@        @;:;;@            @;;;;;;;;:@        @;@@@@@@@@@            @@@@@@@@';''''';'''''
.```.,..,,,,:,;@            @..,;';'''',..`...#;            @;;;;;;@:            .@:::;@            @;;;;:;;;;;;;;:;';;:;;;;;;;;;;;;;#'          @:;:'+              `@;;;'#        @;;;;@            @;;;;;;;;:@        @;;;;;;;;:@            @;;;;;;;;''''''''''';
..`..::,:,,,';+@            @....:';;''..``...@            @+:;;;;;;@            @:;;:@            @;;;;;;;;;;;;;;;;;'::;::;;:;;;;;;;@          @;;:@,              @:;;#:        .@;;;;@            @:;;;;;;;:@        @;;;;;;;;;@            @;';;''';''''''''''''
,,,,:::'+;::+#+@            @`....:''';..``..:@            @,,,,:;;;@:            +';;;@            @:;;;;;;;;;;;;;';''::;:;:::;;;;;;;@          #';;@                @;:;@        ++:;;;@            @;;;;;;:::@        @;;;;;;;;;@            @;';;'';;;'''''''''''
;::;;'++++++#++@            @``....:'';..``..+:            ;#,.,,.,:;'#            ,#;;;@            @::';;;;;;;;;;;':'';::;;;;::::;;;;@.          :#::@                '#;:@        @;;;;;@            @:;;;;;;;:@        @;;;;;;;;;@            @;;;;;;;;;'''''''''''
######+++'++#++@            @```.`..:';..``..@`            @,......,;;@            @;;;@            @;;;;;:;;;;;;;';:'';;;';;;;;;;;;;;+'          @;'#                `@;;@        @;;;;;@            @:;;;;;;;:@        @;;;;;;;;;@            @;;;;;;';;;''''''''';
'''+#+++++##+#+@            @```..`..;;..``..@            @`.......::@            @;;;@            @:;;;;;;;;;;;;';;';;;;';;;;;;;;:;;;@          @;#,                @;#;        ,#:;;;;@            @;;;;;;;;:@        @;;;;;;;;;@            @;;;;;;';;;''''''''''
'';'+#####+++++@            @.```.``..:..`.`.@            @.......,.,@            @:;;@            @;;';;;;;;;';;';;'';;'';;;;;';:;::;@          @'@                  @;@        #';;;;;@            @;;;;;;;;:@        @;;;;;;;;;@            @;;;;;;;;;;';';;'''''
''';;'+###+#++;@            @..```.`.....`.`.@            @.....,..,:@            @;;;@            @;;;'';;;;;;;:.:;';';'';;;;';:;;:;;@,          :#@                  '+@        @;;;;;;@            @;;;;;;;;:@        @;;;;;;;;;@            @;;;;;;;;;;;;;;;'''''
''''';;'++#+++,@            @...``..`....`.`.@            @...,,,,;;;@            @;;;@            @;';;';;;:...,;::';'''';;;'';:;;:;;'+          `@#        :        `@@        @;;;:;;@            @:;;;;;;;:@        @;;;;;;;;;@            @;;;;;;;;;;;;;'';''''
'''''''''++++';@            @....``..`...`.`.@            @.,,,.,,.,;@            @;;;@            @''';';;:.``.,;;,;;;;;;;;'';;:;:;;::@          @:        #          @;        :#;;;;;;@            @:;;;:;;;:@        @;;;;;;;;;@            @;;;;;;;;;;;;''''''''
'''''''''+++'''@            @,....``.`...`.`.@            @,,......,.@            @;;;@            @;';:;;;.``...:,,;;;;;';''';;;;:;;:;@          @        ,@          @`        @';;;;;;@            @:;;;;;;;:@        @;;;;;;;;;@            @;;;;;;;;;;;;''';;'';
''''''''''++'';@            @::...``.`...`.`.@            @........,,@            @;;;@            @:;:,:';:::..,..`.:;;;;'''';;;:;;;;:@,          ;        #@          '        @::;;;;;@            @:;;;;;;;:@        @;;;;;;;;;@            @;;;;;;;;;;;;''';;;;;
+++''''''+#+'',@            @.;;...`.....`...@            @........,.@            @;;'@            @:,,,:;;;':.:..`.`.;;;'''';;';;;;'';+#          `        @#:        `        `@:;::;;;@            @;;;;;;;;:@        @;;;;;;;;;@            @;;;;;;;;;;;;';;;;;;'
+++++'''''#+'',@            @.`;;,.`..`......@            @..........@            @;;;@            @::,..,;;';';..`...;;'''';;';;;;;;';;@                  @'#                  ;#:;;;;;:@            @:;;;;;;;:@        @;;;;;;;;;@            @;;;;;;;;;'''';;;;;''
'''+++''''#+'+,@            @...,:...........@            @..........@            @;;;@            @,;,..,;;'''+:,::::';'''';';;;;;:;;;'@                  ,@:@                  @;;;;;;;:@            @:;:;;;;;;@        @;;;;;;;;;@            @;;;;;;;;''''';';;;''
+';''+++''#+'+,@            @...``..........,@.            @:,.,,..,,:@            ,#;;;@            @:,..:;;;'';+;;';;;;;'';;;';;';;;;;;;#:                ++;@                  @;;;::;;;@            @:;;;;;;;;#        @;;;;;;;;;@            @;'';;;;'''''';';;'';
++''''++++##'+;@            @`....`...,..,..,+'            :#,,,..,,,+;            #+;;;@            @,,.`.;;;'';';;;;;;;;;;;;'';;'';;;;'''#                @;;#:                `@;;:;;;;;@            @;;;;;;;;'+        @;;;;;;;;;@            @;';;;;;''''''''''';;
++++''''++##+'+@            @``....`..,,.,,,:,@            @,..,,,,,@`            @;;;;@            @,.,::';;;'''';'';';;;;;;;'';;;;';;'';@                @;;'#                '+;;;;;;;;@            @;;;;;;;;#'        @;;;;;;;;;@            @;;;;;;''''''''';;;';
''#++''''+#++''@            @.``...``.,,..:...@            +#,,,,,.'#            .@;;;;@            @;.,;';;;;';;;:;;;';;;;;;;'';';;;;;;''@`              .@;;;@                @:;;;;;;;;@`            @';;;''''@`        @;;;;;;;''@            @;;';;';''';''''';';,
+'+++++';'##++'@            @@@@@@@@@@@@@@@##.++            @+,...'@`            #+;;;;@            @@@@@@@@@@@@@@@@;:';;;;;;'';;';;;;;;';#;              '+;;;@                @;;;:;;;;;#,            .@';;;;'@'          @;;;;;;;;'@            @;'';;'''''''';''':,,
+'''++++''+#++'@                            @::@              #@@@@#`            `@';;;;@                            @:;;;;;;;;'';;';;;;;;'';@              @;;;;#:              .@;;;;;;;;;++            .@@@@@@,          @;;;;;;;;;@            @;'';;''''''''''';,;:
#++''++++'+##;,@                            @;:++                                @+'';;;@                            @;;;;;;;;;';;;;;;;;;;;';@              @;;;;;@              ++;;;;;;;;;;@                              :#;;;;;;'';@            @;''';'''''''''''''::
+##++++'+'++;,.@                            @:,,@.                              ;@;';;;;@                            @;;;;;;;;;';';;;';;;;;';@`            `@;;;;;@              @;;;;;;;;;;;@                              @';;;;;;;;;@            @'';';'''''';'''''';;
+++####+''+':,.@                            @,:.,@                            `@';'';;;@                            @'';;;;;;';'';;;;';;;;;;#'            '#;;;;;@              @;;;;;;;;;';++                            `@+;;;;;;;;;@            @'';;''''''''''''''';
'++++++##+++:.,@                            @::,.'@                            @+';'';;;@                            @;;';;;;;;;;;;:;;;:;;;;;;@            @';;;;;#;            :#;;;;;;;;;;;;@.                            @+'+;;;''';;@            @'';;''';'''';'''''';
+++++++###+++;,@                            @,:,,;+@                        `@+'''';;;;@                            @;';;;;;';';;;;;;;::;;;;:@            @;;;;;;'@            #';;;;;;;;;;;;'@`                          +@;;'';;;;';;@            @;'';''';;'''''''''';
+++++++++++###'@                            @.;,:',;@`                      .@+';;';;;;;@                            @''';;'';;;;;;;;;;;;;;;;;@.          `@;;;;:;;@            @;;;;;;;;;;;;;;+@`                        +@;;;;';''';;;@            @;'';''';;'''';';''';
+''''++++++###+@                            @::.,::.:@'                    +@''''''';;;;@                            @;;;;'';;;;;;;;;;;;;;;;;:+'          ;#;;;;;;;@`          @;;;;;;;;;;;;;;;'@;                      @#;;;;;'':;;'''@            @:'';'';;;''''';;''';
''+'''''+++##'+@                            @;:,,::,;;#@:                ;@#''''''''''';@                            @:;;;;;;;;;';;;;;;;;;;;;:;@          @';;;;;;;#;          ;#;;;;;;;;;;;;;;;;;@@:                `+@+,;;;:;;'';';';@            @;;;;;';;;;'''';;;'';
+''''''++++##'+#                          `@:;::':;;;;;#@#,          ,#@@''''''''''''';@`                          #;:;;;;;;;;;;;;;;;;;;;;;;;@          `@;;;;;;;;'#          @';;;;;;';;;;;;;;';''@@#:`          `'@@#;;,;;;::;:'+''''@`          `@;;;;;;';;'';''';;'';
'''''''+#+++#'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;:;;;',;:;;:;,'#@@@@@@@@@@#:,;'''''''''''''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:;;;:;;;;;;;;;;;;;;;;;;;;+@@@@@@@@@@@+;;;;;;;;;#@@@@@@@@@@#;;;;;;';;'';;;;;;';';;'#@@@@@@@@@@@@#+':';:::;:,:';+'';;'@@@@@@@@@@@@;;;;;;;';;'';;;';;;;;
'''''''+#++++'#+''+++#+''+,...```....,..:'''''';';;;:,:'':;,;:,..........,;''''''''''''''':,.::;;::;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:;;;;;;;;'''++++'';:;';;:;;;''';;;;';''';:;;::;;::;''+;;;;;;;;;;;;;;;;;;;;;;;;;;';;;';;;;;;
'''''''++++++'#++'++#++''.....``......`.:';;'+';;::';::+''':,,,..```.......:;'''''''';'';,..,:,:;,:.:;;;;;;;';;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;'';''';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;+';;#;:''#':;;:;;:;+;''''''';';;':';::;;:::;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;';;;;
''''''++#++#+'#++'''+++:.....`......``..;,`.,;+';::+',,'++;......``````.....:''''''''''';,,;:.:.,.,:,,;;;;;'';;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;'';;;'';;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;++''+;+#';+;::''::::;'''''''';;';':';::;;;::;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
''''''++#++#+'#++'''+'.............``...``..`,+''''+',';'',:::,,.............:'''''';;;';;;;.,:.,,.;:,,;;;;';;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;';;'';;;;;;:;;;;;;;;:;;;;;;;;;;;;';#++'+;;#+;:;''''';;;''''''''';';;';';;,;;;,::;;'';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;
</pre>

Revision as of 19:54, 2 April 2008

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::;:::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::;;;;:::::;;:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;::;;;;;;;;;;;;:;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;;:,:;;;;;;;;;;;;;';;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;::,,:;;''''''''';;;;;';;:;::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................................``...........................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;:,:;'+++'''++'''';'';;:;;:::;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................````...........................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;;:;'+++'''++';++';;;::;;;;;'';:;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................````...........................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;+;:'+++'''''';;;;;;''''''::;':;'::,;;,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................`````...........................................
,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;+':;+++''';;;;;'''+;++'''+'';:'';::,:,:;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................`````...........................................
,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+':;'''+';;;'+'++'+'++'''''+'''':;'';::,:,;:,,,,,,,,,,,,,,,,,:::::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................................``.......................................
,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,:''::'''';;''++++'''''++++##+++''+';::;'''';:,::,,,,,,::::;;;;;;;;;;;;;;;;;;;:;:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................................``.......................................
,,,.......,,,,,,,,,,,,,,,,,,,,,,,''::'''';:;'''';'+'++#########+++'';;:::'''':,,:::,::;;;:::::::::::;;;;::;;;;;;;;;;;;;;;;::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.....................................................`.......................................
,,.........,,,,,,,,,,,,,,,,,,,,;+::;'';;;'+'''+''+#++###':::::'###+'';;:;:'';:;'''+'::,,,:::;;;;;;;;;;;;:::::::::;;;;;;;;;;;;::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................................``......................................
...........,,,,,,,,,,,,,,,,,,;+;:''';:;'+'''''''+@##++',,,,,,,,;+##++'';';':;''';:,,,:::;;;;;;::::::::::::::::::::::::::;;;;;;;;::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................`..............````.....................................
...........,,,,,,,,,,,,,,,,:'+:;'';;;'''''''''+#@+++:,,,,,,,,,,,,,'##+++';;''';;:,:::;;;;;;;;;;::::::::::::::::::::::::::::::;;;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................`````.........```````...................................
...........,,,,,,,,,,,,,,,''':'';;;''''''''+++@#+':,,,,,,,,,,,,,,,,'#+++''+';:::;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::;;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................`````........```````....................................
...........,,,,,,,,,,,,,:''::';;;;''''''+''#@+;,,,,,,,,,,,,,,,,:,,,:#+++++;:,:;;;::::;;;;;;;;;;;::::::::::::::::::::::::::::::::::;;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................``````...`````````......................................
...........,,,,,,,,,,,,:+:::;;;;'''''''#+'@+,,,,,,,,,,,,,,,,,,,,,,,,'#+#':::;;;;;:::::::;;;;;;:::::::::::::::::::::::::::::::::::::::;;;;,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................````````````````````.....................................
...........,,,,,,,,,,,;+:;;'';''''''''+++#:,,,,,,,,,,,,,,,,,,,,,,,,,,#+;::::;;;;::::::::::;;;::::::::::::::::::::::::::::::::::::::::::;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................````````````````````.....................................
...........,,,,,,,,:';::''''+;'';''''+'#;.,,,,,,,,,,,,,,,,,,,,,,,,,,;+;,:::;;;:::::::::::;;:::::::::::::::::::::::::::::::::::::::::::::;:;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................````````````````````.....................................
...........,,,,,,,,',,:,'+;'''''''''+'#;,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,:::;;;;:::::::::::;:::::::::::::::::::::::::::::::::::::::::::::::;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................``````````````````........................................
...........,,,,,,,:':';:;''+'''''''''+,,,,,,,,,,,,,,,,,,,,,,,,,,,:,;::::::::;:::;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................``````````````````........................................
...........,,,,,,,:++;':;;++''''+''++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;::::::::;:::;;:::;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................``````````````````.........................................
..........,,,,,,,,:++;'+;;+''''''+'+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;:::::;:;;;;;:;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................``````````````````..........................................
..........,,,,,,,,,++;+++;''+'''++':,,,,,,,,,,,,,,,,,,,,,,,,,,,,;:::::;;;;;;:::;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:,,,,,,,,,,,,,,,..,,,,,,,,,,,,,...........................```````````````````...........................................
..........,,,,,,,,,'#'++#';'+'''+':,,,,,,,,,,,,,,,,,,,,,,,,,,,,;:::::;;;;:::;:::;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:,,,,,,,,,,,,,.....,,,,,,,,,,,,,.......................```````````````````............................................
..........,,,,,,,,,'#''++#:;++'+';.,,,,,,,,,,,,,,,,,,,,,,,,,,,;::::::::;;::;;::;;::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::;:,,,,,,,,.........,,,,,,,,,,,,,.......................`````````````````..............................................
...........,,,,,,,,;#+'++#':++'+',,,,,,,,,,,,,,,,,,,,,,,,,,,,:;,:::::::::;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::,::,,,,,,,:::::::::::::::,,.,...........,,,,,,,,,,,,,......................`````````````````...............................................
............,,,,,,,:#+;++#+:#+'',,,,,,,,,,,,,,,,,,,,,,,,,,,,:;:::::::::;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,::::::::::::::,.,...........,,,,,,,,,,,,................````..`````````````````................................................
............,,,,,,,,##;#+##:##+;,,,,,,,,,,,,,,,,,,,,,,,,,,,:;::::::::::;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::,.,,........,................,.........````````````````````````.................................................
............,,,,,,,,+#'#+##;+##,,,,,,,,,,,,,,,,,,,,,,,,,,,:;,:::::::::;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::::::::,.......,.............................```````````````````````..................................................
..............,,,,,.:#+'+##''#',,,,,,,,,,,,,,,,,,,,,,,,,,:':::::::::::;;;;;;;;;;;::::::::::::::::::::::::::::::::,:::::::::::::::,,,,,,,,,,,,,,,,,,::::::::::,,.....,,............................`````````````````````.`................................................,,
................,.,,.##''##+;@:,,,,,,,,,,,,,,,,,,,,,,,,,:;;:::::::;;:;;;;;;;;;;;::::::::::::::::::::::::::::::::,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,::::::::,....,,............................`````````````````````.................................................,.,,
..................,,.'#+:;#';@;,,,,,,,,,,,,,,,,,,,,,,,,,;;:::::;;;;;;;;;;;;;;;::;:::::::::::::::::::::::::::::::,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::,.,.,..............................``````..``````````..................................................,,,,,
.................,,,,,##;:'''@;,,,,,,,,,,,,,,,,,,,,,,,,;':::::;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::,,,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,.,...............................``````..``````...................................................,.,,,,,,
..................,,..'#'::;##,,,,,,,,,,,,,,,,,,,,,,,,:;:::::;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,..............................`````....````.................................................,,,,,,,,,,,
....................,,,##'+#@'..,,,,,,,,,,,,,,,,,,,,,,;;:::::;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,...............................````......................................................,,,,,,,,,,,,,,,
.......................:#@#@#,,.,,,,,,,,,,,,,,,,,,,,.;'::::::;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,.............................```.......................................................,,,,,,,,,,,,,,,,
......................,.,'++,.,.,,,,,,,,,,,,,,,,,,,,,';:;:::;;;;;;;;;;;;;;;;:::::;:::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,..............................`.......................................................,,,,,,,,,,,,,,,,,
......................,.,....,..,,,,,,,,,,,,,,,,,,,,;'::;::;;;;;;;;;;;;;;;;:;::;;;:::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,....................................................................................,,,,,,,,,,,,,,,,,,
.......................,...,.,,,,,,,,,,,,,,,,,,,,,,,';:;;:;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,..................................................................................,,,,,,,,,,,,,,,,,,,
...................................,,,,,,,,,,,,,,,,;';;;;;;;;;;;;;;;;;;;;;;;;;;::;;;::::::::::::::::::::::::::::::::::::,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::...................................................................................,,,.,,,,,,,,,,,,,,
...................................,,,,,,,,,,,,,,,,'';;;;;;;;;;;;;;;;;;;;;;;;;;:;;;:::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,::::::::..................................................................................,,,,,,,,,,,,,,,,,,
...................................,,,,,,,,,,,,,,,:';;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:::::::::::::::::::::::::::::::::::::,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,:::::::,.................................................................................,,,,,,,,,,,,,,,,,,
....................................,,,,,...,,,,,,;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,::::::::,................................................................................,,,,,,,,,,,,,,,,,,
.....................................,.,.,..,,,,,.''';;;;;;;;;;;';;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,......,,,,,::::::::,..............................................................................,,,,,,,,,,,,,,,,,,,
.................................,,.....,...,,,,,,'';;;;;;;;;;;';;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,:::::::::.............................................................................,,,,,,,,,,,,,,,,,,,,
...............................................,.;'';;;;;;;;;;;';;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,::::::::,...........................................................................,,,,,,,,,,,,,,,,,,,,,
...............................................,.'''''';;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,:::::::::,............................................................,...........,,,,,,,,,,,,,,,,,,,,,,,
................................................,'''''';;;;;;';;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,....,,,,::::::::::........................................................................,,,,,,,,,,,,,,,,,,,,,,,
................................................,'''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,::::::::::::....................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................:'''''''';;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,....,,,,,,::::::::::,....................................................................,,,,,,,,,,,,,,,,,,,,,,,,,
................................................;'''''''';;;;;;;;;;;';';;;;;;;;;;;;::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,::::::::::...........................................................,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................;''''''';;;;;;';;;;;;';;;;;;;;;;;;;:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,:,,,:,,,,,,,,,,,,,,,,,,,,,.......,,,,:::::::;:,.........................................................,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................''''''';';;;;;;;;;;;'';;;;;;;;;;;;;:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,.......,,,::::::::::,........................................................,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................''''''''''';;;;;;;;;''';;;;;;;;;;;;:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,.....,,,,::::::::::::........................................................,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................'''''';''''';;;;;;;;''';;;;;;;;;;;;:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,....,,,,,,:::::::::::,......................................................,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................''';'''''''';;;;'';;''';;;;;;;;;;;;;:;::::::::::::::::::::,,,,:,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,:::::::::;:.......................................................,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................''''''''''';;;;''';;''';;;;;;;;;;;;;;;:::::::::::::::::::::,,,,,,,,,,,,,:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,:::::::::;;,......................................................,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................'''''';''';;;;;''';;''';;;;;;;;;;;;;;;;;;:::::::::::::::::::,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,,::::::::;::.....................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................;''''';;';;;;;;;;;;'''';;;;;;;;;;;;;;;;;;;:::::::::::::::::::,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,:::::;:;;;,......................................,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................:''''';;;;;;;;;;;;;;'''';;;;;;;;;;;;;;;;;;;::::::::::::::::::,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,::::::::;;:...................................,,.......,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................,'''''';'';;;;;;;;;;'''';;;;;;;;;;;;;;;;;;::::::::::::::::::,,::,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,:::::::;;;...........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................,+''''';;';;;;;;;;;;;'''';;;;;;;;;;;;;;;;:::::::::::::::::::,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,:::::::;;;:..........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................'''''';''';';;;;;;;;;''';;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,,,,,::::::::;;:....................................,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................;'''''''''';;''';;;;;;''';;'';;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,:::::::;;;,..................................,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................:+'''';''';;''''';;;;;''';;'';;;;;;;;;;;;;:::::;;;:::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........,,,:::::::;;;:..................................,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................,+''''''';;;''''';;;;;''';;';;;;;;;;;;;;;;;;::;;;;;;::::::::::::::::::::::::::,::,,,,,,::,,,,,,,,,,,,,,,,,,....,,,....,,,,::::::;;;;,.................................,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................;'''''';;;;;'';;;;;;;'''';'';;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,.....,,,,::::::;;;;,.................................,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................:''''''';';;;;;';;;;;''''';'';;;;;;;;;;;;;;;;;;;;:;:::::::::::,::::::::::::::::::::,,,,,,:,:,,,,,,,,,,,,,,,,,,,,,,...,,,,,:::::;;;;:.........,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,
................................................,,.''';''';''''';';;;;'''''';';;;;;;;;;;;;;;;;::::::::::::::::::::::,:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,.,,,,,::::::;;;;,.......,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................,.:+'''''';''';;'';;''''''''';;;;;;;;;;;;;;;;::::::::::::::::::::::,:::::::::::::::::,,,,,,,,:::,,,,,,,,,,,,,.........,,,,,::::::;;;;:.....,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................,,;''''''''';'''';;;'''''''';;;;;;;;;;;;;;;:::::::::::::::::::::,:::::::::::::::::::,,,,,,,,::::,,,,,,,,,,...........,,,,,::::::;;;;:,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................,,,''+'''''''''''';;;;'''''';;;;;;;;;;;;;;:::;;::::::::::::::::::::::::::::::::::::::,,,,,,,:::::,,,,,,,,,,...........,,,,,:::::;;;;;,...,...........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................,,.:''+''''';'''''';;;''''''';;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::,,,,,,,::::::,,,,,,,,.............,,,,:::::;;;;;,...,...........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...................................................,,.:+'''''''''''''';'''''''';;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::,,,,,,,,,:::::,,,,,,,....,...,,,,,,,,,,::::;;;;;:...............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.....................................................,,;'++'''''''''''''''''''''';;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,:,,,,,,,,..,....,,,,,,,,,,::::;;;;;;............,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.....................................................,,,'+++''''''''''''''''''''';;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,......,,,.,,,,,,:::::;;;;;,,...........,,....,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......................................................,.:+++++'''''''''''''''''''';;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:,,,,,,,,,.......,,,,,,,,,:::::;;;;;,............,,,..,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.......................................................,,:+'+++''''''''''''''''''';;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,:::,,,,,,,,,........,,,,,,,:::::;;;;;,...........,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..........................................................:'+++'''''''';''''''''''';;;;;;;;;;;;::::::;::::::::::::::::::::::::::::::::::::,,::,,,,:::::::,,,,,,.......,,,,,:,,:::::;;;;;:...........,,.,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.........................................................,.,'+'+++'''''''''''';;';;;;;;;;;;;;;;;;::;;::::::::::::::::::::::::::::::::::::::::,,:::::::::::::,,,.......,,,,,::,::::::;;;;:........,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
........................................................,.,..:'+++'''';''''''';;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::,,:::::::::::::::,,,,..,,,,,,,:::::::::::;;;:,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
............................................................,.,;+++''''''''''';;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,:::::::::::::;;;,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.........................................................,..,.,,:'++''''''''''';;;''';;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,::::::::::::::;;;,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...............................................................,.:+'+'''''''''';;;'''';;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::,:::::::::;;;:,.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..............................................................,,,.;++''''''''''';;;''';;;;;;;;;;;;;;;:::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::;;;:..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...............................................................,,,.;++'''''''''';;;;'';;;;;;;;;;;;;;;:::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::;;;:.,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................................,,++'''''''''';;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,::::::::;;;,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................................,..+'+'''''''''';;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,:::::::;;;,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................................,..''+'''''''''';;;;;;;;;;;;;;;;;::;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,::::::;;;,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....................................................................''''''''''''';;;;;;;;;;;;;;;;:::;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::::::::,,:::::;;;:,,,,,,,..........,..,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....................................................................'''''''''''''';;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,:::::::::::;;;:.,,,,,,..,......,...,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................................,.,,''''+''''''''''';;;;;;;;;;;;;;;;:;::::;:::::::::::::::::::::::::::::::::::::;;;;::::::::::::,,,,,,,,,,,,,,::::,:::;;;;:,,,,,................,,,,,,,.,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...................................................................:''''+''''''''''';;;;;;;;;;;;;;::::::::;::::::::::::::::::::::::::::::::::::;;;::;:::::::::,,,,,,,,,,,,,,,,,:::::::;:;;:,,,,,................,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...................................................................;'''''''''''''''';;;;;;;;;;;;;;::;;;:;;;;::::::::::::::::::::::::::::::::;;;:::::::::::::,,,,,,,,,,,,,,,,,,,,:::;;:;:;;;,,,,,................,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................................,.,''''''''''''''''';;;;;;;;;;;;;;::;;;;;;;;::::::::::::::::::::::::::;;;;;;;;;:;:::::,,,::::,,,,,,,,,,,,,,,,,,,,::;;;;:;;;,,,,,....,,,,........,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...............................................................,..:''''''+''''''''''';;;;;;;;;;;;;;;;;;;;;;:;;::::::::::::::::::::::;;;;;;:;:;;:;:::,,,,,,::::;:::::::,,,,,,,.,,,:::;;;;;;;,,,,,,,..............,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...............................................................,,,;'''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::;;;;;;;:;;;;;;::,,,,,,:;::::;::::::::::,,,.,,,,,::;;;;;;,,,,,,,...............,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................................................................;''';;''''''''''''''';;;;;;;;;;;;;;;;;;;;;;::::::::::;;:::::::;;;;;;;;;:;;;:::::,,,,,,:::;;;;;;:;;;;;;;;;::::,.,,,,::;;;;;:,,,,,,,.......................................,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................................:'''';;'''';'''''''''';;;;;;;;;;;;;;;;;;;;;;;:;;:::::;;:::::::;;;;;;;;;;;;;::::::,,:::;;;;;;;;;;'''';;'''';;:;::,,,,,:::;;;:,,,,,,,,................................................,,,,,,,,,,,,,,,,,,,,,,,
...............................................................,''''';''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;::;:::;;;;;;;;;;;;;;;;;::::::::::;;;;;;;;'''''''+++''''''''';;;:,.,,:::;;;,,,,,,,,....,,,............................................,,,,,,,,,,,,,,,,,,,,
.............................................................,,'''';;';'''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;:::::::;;::;;;;;'''''';;;'''';;;:::;'''';;;,,,,,:;;;,,,,,,,,,,,,,,,.............................................,,,,,,,,,,,,,,,,,,,
..............................................................;''';';';;''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;::;;;;;;'''''';;;;;;;;;;;:,,,,,:;''+'';,,,,,,;;:,,,,,,,,,,,,,,...................................................,,,,,,,,,,,,,
.............................................................;'';;;''';;'''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;''''++';;:::::,:;;:......,,;''+''':,,,,:;:,,,,,,,,,,,,,,.....................................................,,,,,,,,,,,
..........................................................,.;'';;;''';;'''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;';''+'+'';;::,,....::,........,:'''++';,,.,:;,,,,,,,...............................................................,.,,,,,,
...........................................................:';;;;;''';;''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;;;';''++''''';;:,.......,,..........,;;::;+';,,,,;:,,,,,,...........................................................,...,...,,,,
..........................................................,';;';;''';;';'''';''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:;::::;;;;;;';'+'''';;;';,......`...,...........;,...:+'':,,:;,,,,,........................................................................
.........................................................,;;;;;;;'';;;;;;;;;'''';'''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;::::::;;;'''''++''';::::;,,......`...:........```;,...`;'+':,,;;,,,.........................................................................
......................``................................,;;;;;;;;';;;;;;'';;;;;;;;;'';'';;;;;;;;;;;;;;;;;;;;;;;;;::;::::;;;;;;::::;;;;;;;''''''';:,,,,,::.`.....``.`:.........``;,..`.:;''':::;.,..........................................................................
....................````................................;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;;:;;;::::::;;;;::::;;;;';'''''''';:,....,:;.......``..:.........``;....`;.:;''::',...........................................................................
...................``````..............................;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;:::::::;;:::::;;;';''+'';;;'':,...`..,;.....``....;,......````',...`;`..''',;:...........................................................................
..................```````.............................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::;:::::;;;'''++'';:::;',....`..,',.....``.,:;,.....`````+,..``;```;:';:;...........................................................................
................````.................................;;;;;;;;;;;;;;;;;;;;;::::::::::;;;;;;;;;;;;;;:;;::;;;;:::::;::::::::::::;;;;''+++';;:,,.,;........:#':......,;+++:.....`.`.+:.```;``.',:';;...........................................................................
................```................................,;;;;;;;;;;;;;;;;;;;:::::::::::::::::::;;;;;:::::::::::::::::::::::::::;;;;;;''++;:;;:,...:;,,....`,+++++'''+'+++++#+++'''++#+',```;`.`'`:++;...........................................................................
.............```````````````......................,;;;;;;;;;;;;;;;;;;;:::,,,:::::::::::::::::::::::::::::::::::::::::::::;;;'';'++;:::::,....,+',....;+++##+##+++++++++++++++++++#++#+#;``;`:'':...........................................................................
............````````````````.....................:';;;;;;;;;;;;;;;;;:::,,,,,,,,,::::::::::::::::::::::::::::::::::::::::;;;';;'++'::,,:;,....:#++##########+####++++++++++++#+++######++,,;`;'',...........................................................................
.............``````````````````.................:';;;;;;;;;;;;;;;;;:::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::;;;'';'++';',,..:;:,,,:+#+##+++++++#++++++##+++#+++++++++++++''+#+''+.'':............................................................................
.............```````````````````...............;';;;;;;;;;;;;;;;;;;:::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::;;;'''''+';:;'...`:''''++++++++++++++#++++++++++++++++++++++++++++++'++'+:,............................................................................
.............`````````````````````............';;;;;;;;;;;;;;;;;;;:::,,,.,,,,,,,,,,,,,,,::::,:::::::::::::::::::::;;;;''++++';::;+....;++++++++++++#+++++++++++++++++++++++++++++++++++++++#+..........................................................`...`...............
.............```````````````````````.........;;;;;;;;;;;;;;;;;;;;;:::,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::;;;;'''+++'':,,,;#',:'+++++++++++++++##++++++++''+++++++++++++++++++++++++;;;.........................................................`..``................
........`````````````````````````````.......';;;;;;;;;;;;;;;;;;;;;::,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::;::::;;;;;''++++';':,,,'+'+++++++++++++++++++++++++'+'''''''++++''+++++++++++++++'::......................................................``.`.,,.``..............
.......`````````````````````````````.......';;;;;;;;;;;;;;;;;;;;;:::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::;::::;;;;;;''+++';;;+';:;+++++++++++''''''''++++++++''''++'''''+'';;;'+++++++++++++;:,.....................................................````...,.``..............
....```````````````````````````````.......';;;;;;;;;;;;;;;;;;;;;;:::,,,,,,,,,,,,,,,,,,,,,,::,:::::::::::::;;;;;;''++++;::;++++++++++++++''''''''''';;'+++'''++''''''';';;'';;'++#+++++++++;:,.....................................................````.....````............
.....`````````````````````````````.......;';;;;;;;;;;;;;;;;;;;;;;;::,,,,,,,::::,,,,,,,,,,::::::::::::::;;;;;;;'''++++''++#+++++++++++++''''''''';;;;;;;'+++++++''';;;;:::;;;,;;'++++++'+++;:,.....................................................````...,.`````...........
...```````````````````````````````......:';;;;;;;;;;;;;;;;;;;;;;;:::,,::::::::::,,:,,,,,,,:::::::::::;;;;;;;'''+++++++++++++++++++++''''+'''''';;;;;;;;;;''+'''';;;;::::::::;,;;;+:;++++''',;....................................................``````.`..`````...........
...```````````````````````````````..`..:';;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::,::::::::::::;;;;;;;;''+++#++++++++++++++'''''''''''''''';;;;;;:::;;;;++''';:;::::::::::::;;+';'+#''+:'...................................................```````.``.`````...........
...````````````````````````````````...,';;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::;;;;;;'''++++++++++++++++'''''''''''''''''';;;;;;::,,,::;;'++'';;:::::::::::::;;++,.:+;';;...................................................```````. `.``````..........
...`````````````````````````````.``..,';;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;;:::::::::::::::::::::;;;;;'''+#+++++++++++++''''''''''''';;''';;;;;;;;:::::::::;;;'+'';:::,:,::::::,::;'.,..;;;;,.................................................```````..`..```````....```..
...``````````````````````````````.`..';;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;:::::::::::::::::::;;;;;;''+##+++++++++++++''+'''''''''''''';;;;;;;:;;:::::,:,,::;;''';;::,:,,,:::::,.;;+':,,`.,:,..............................................`````````.....````````````````
...```````````````````````````````..;';;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;:::;::::::::::::;;;;;;''''+##++++++++++++'''''''''''''''''''';';;;::;;:::,:,,:::,::;''';;:,,,:::::::::::::;':..::;..............................................`````````.....````````````````
...``````````````````````````````.`:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::::::::'';;:;;;;;;;::;;;;;;;''''+#+++++++++++++#++++'''''''''''';;;''''';;;;:;;::,,:,:::::::;;'';:::::::::::::,:::,;+;:` .,...........................................```````````.....````````````````
..````````````````````````````````:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::::::::::'';;;;;;;;;;;;;;;'''''+#++'''+++++++++++++++''''''''''''''';;;;'';;;;;:::::,:::::::::;;';;:::::::::;;;:::.,;';, `.,..........................................````````````.....````````````````
..```````````````````````````````.'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::'+;;';';;'';''''''+##+++:....,++''++++++++++'+''''''''''''';;;;;;;;;;::::::::::::::::;;;;;::::::::::::,,,:;++``.,,.....................................`````````````````.....````````````````
..```````````````````````````.```;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::;++'';''''''''+###+';';,.....:;....'+++++++++++'''''''''''';;;;;;;;;;:::::::::::::::::;;;;::::::::::,,,,;:'+,,:,,....................................``````````````````.....````````````````
..``````````````````````````````,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;::::;'+++++####++++''';;;:,,,.,',.....;+'::'+++++++'''''''''';;;;;;;;;;;;;;;:::::::::::::;;;::::::::,,,,:::'+,`,;:;,..................................```````````````````...,,.```````````````
..``````````````````````````.```'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;::::::;;'+'';:,,::;''+'':,,,,,',,....:+....,+++++++'''''''''';;;;;;;;;;;;;;;;;;;;;;:::::;;::::::::,,,,,:;'',  `;:;',..............................``````````````````````...,,.```````````````
```````````````````````````````,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::;;;:::::::::::::,,,,::;;'';::;',,,..,:'.....;+;;''++++'''';;';;;;:;;;;;;;;;;;;;;;;;::::::::;:::::,,,,::;+';```.:;;;;,.........................``````````````````````````..,,,.```````````````
```````````````````````````````;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;:::::::;;;;;;;;;;;:::::::,,,,,:;''';::,.,,;'.....:;,...:'+++''';'';';;;;:;;:::::::::;;:::::::::::::,,,,,::;'':``,`..:;;:;;.........................``````````````````````````,.,,,.`````````````..
``````````````````````````````,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;:::::::;;;;;;;;;;;;;:;;::::,,,,:'';::,,,;;....,::....,:++++++''''''';;;;;;::::,,,,,,:::::::,,,,,,::,,:;'':` ``:.`.:;;::;,............``````````````````````````````````````,..,,.``````````.....
``````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;;;;;::;;;;;;::;::::::'';:::';,...,::..`..,;....:''''''''';;;;;;::::,,,,,,,,,,,,,,,::,::;;'':`  `.:,..;'::;;:...........```````````````````````````````````````,.,,,.``````....,,,,,
```````````````````````````.`,'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;:::;'':;':,...,;:..`..,'..````:'''+'''';;;;;;:::::::::::::::::::::;'':,,:```..:,..''::::;..`.....``````````````````````````````````````````,,,,,.````...,,,,,,,,
`````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;:;;;''''::...,;:,.`..,'.......:+':,`.,:;'';;;;:::::::::::::;;;;;';,``` :.....::.,''::::;,.......``````````````````````````````````````````,,,,,.`...,,,,,,,,,,,
````````````````````````````.';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;:;;;'+':,..,;:,``..,;.````...;.```````,''';;;;;;;;;;;;';;;:;'':`  ```:,....::.:'':::;;:`.....```````````````````````````````````````````.,,,,,.,,,,,,,,,,,,,,
````````````````````````````;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;:;:;'+':,:;:,``.,::.`````..:........,:+':....:'+''';.`````,',`````.,,....:;,:'':::;::`....````````````````````````````````````````````.,,,,,,,,,,,,,,,,,,,,
``````````````````````````.`';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::;;;;''';;:,`..,;,.`````..:...```...:':` `` ``.'++```````.;,`````.,:,...:','';:::;;;..``````````````````````````````````````````.``...,,,,,,,,,,,,,,,,,,,,
```````````````````````````:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;:;'+':,...,',.`````..;...`````.,;,..``````.';``````..:,`````..:,..,:';++::::;;;..``````````````````````````````````````.......,,,,,,,,,,,,,,,,,,,,,,,
```````````````````````````';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;;;::::::::::::;'+';,..,'...````..;...`````.,'..........;,........:,````...;,.,,;'+'',::;::;.`.`````````````````````````````````..,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
````````````````````````.`,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;;;:;'+':,;',,...```.;...``````,'.`````....',`.......,:``.`.`.;..,,''+':::::::;.`.````````````````````````````````.,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,
``````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;'';'';'';;;;;;;;;;;::::;;;:;;;;;::;++''',,......,:..```````,'.`````....',`.......,:``..``.;,..:++;,,,:;:::;...``````````````````````````````.,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,
`````````````````````````.';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;::;;;:;;;;;:;'++':,,.....::..```````,'.`````...`':`........:.`.....;,.,'+;,,,::;:::;.```````````````````````````````.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
````````````````````````.,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;';;;;;;;';;;;;;;;;;;::::;::::;;;;::'++;,.....::...``````:'.`````.`.`;:`........:,``...,;:,''::,,,::;:::;.````````````````````````````..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
````````````````````````.:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;;;;;;:::::::::;;;;:::;'+;,..,;;....`````:'.`````.`..;:`.......,::``...,;;'':,,,,,::;:::'``````````````````````````...,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,
`````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;::::::::::;:;::;'+;,:';.....````;'.`````.`..;;...```..,;;``.`.,+'::,,,,,::::::;:`````````````````````.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,
````````````````````````.';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;::::::::::;;;;::'+'';.........;;,`..```...;;...```..,;'````,;;:,,,,,,:::::::'.``````````````````.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.......`````````````````.';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;::;;;;::::::::::::::;;::;;';,.......;;.```````..;;,````..,::;,`.:;:,,,,,,,:::::::;'`.``````....,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
............`````````...,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;';;:::;:::::::::::::::::::;::;';,,,.,;;...````...;;:``.`.,:;:;;;';:,,,,,,,,:::::::';``````..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,
........................:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;::::::::::::::::;:;:::::;;';;;;:..`...,.,;;;,.,,,:;;;'+':,,,,,,,,:::;::::;',```..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:,::::,,,,,,
........................;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;::::::::;:;:;;:;;''',.....,,;;;;;:::;;'+';:,,,,,,,,,:::::::::';`..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:::,,,,,,,
........................';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;::::;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::;:,,:::;:::;;;;;::;;;'';;;;;;;';;''+';:,,,,,,,,,,,:::::::::'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,
........................';;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;;;;;;;;;;;;;;;;::;::;;;::;::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::,,::,,::::;;;;;;::;;;;''''++';:::,,,,,,,,,,,,:::::::::;':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.......................,';;;';;;';;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;:;:::;;;;::::::::;:;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::,,,,,::::::;;::;;;;;;;;:::::,,,,,,,,,,,,,,:::::::::;'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................,...,,';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;:::;::;;;;;:;::::::;:;;;:;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::,,,,::,,,::,,,:;;::::;::,,,,,,,,,,,,,,,::::::::::;'':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,:::
..................,...:,';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;::;;:::;;::::::::;;:::;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::,,,:,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::;;''',:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
..................,,.,:,';;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;::;:;;;;:::::;;;::::;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::;;'''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::
,.....,,..,...,...,:.:,,';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;:::;;;;;;:::::;;::::::;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,:::::::::::;'''''::,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
,,,...,,,.,..,,,,,,:,:,:';;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;::;;;;;:;:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::,,,,,,,,,,:::::::::::::::;''''''':,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::
,,,...,,,.,.,,,,..,,::,:';;;;'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::;:::;;;;;:;;::::::::::::::::;;;;;;;;;;;;;;;';';;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::;''''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::
,,,,.,:,,,,,,,,,,,,,::,:';;;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;:;;:;:::::::;;;;;::::::::::::::::::;;;;;;;;;;;;;;;;;';';;;;;;;;;::::::::::::::::::::::::::::::::::::::;;''';'';;''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::
,:,,,,:,:,,,,:,,,,,,::,:';;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;::;::::;;;::::::::::::::::::::;;;;;;;;;;;;;;';;;;;;;;''''';;;;:::::::::::::::::::::::::::::::::;''''''';;;;'':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,::::::::::::::::::
,:,,,,:,,,,,,::,,,,,::,:';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;::::;;;::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;';;''''''';;;;:;;:::::::::::::::::::::;;;'''''''';;;;;;'':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::;:::::::
,:::,,:,:,:,:::,,,,,::,:';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;;;::::;;;;;:::::::::::::::::::;;:;;;;;;;;;;;;;;;;;;;'''''''''''''';;:::::::::::::::;;:;;''''''';;;;;;;;;;;'':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,::::::::::::::::::::::::
:::::::::::,:::,,,:,::::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:::::;;;;;;;;::::;;;;;;::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;'''''''''''''';;;;;;;;;;;;;;;;;'''''''';;;;;;;;;;;;;'':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::;::::
::::::::::::::::::::::::';;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::;;;;;;;;;:::;;;;;;::::::::::::::::::::::::::;;;;;;;;;;;;;;;;'''''''''''''''''';;;;;;;;;'''''''';'';;;;;;;;;;;;;;'',,,,,,,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,::::::::::::::::::::;::::
::::::::::::::::::::::::'';;;'''';;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;;;;;;;;:::;;;;;;;::::::::::::::::::::::::::;;;;;;;;;;;;;;;''''''''';;''''';'''''''''''''''';;;;;;;;;;;;;;;;;;;'':,..........,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::,,,,,,::::::::::::::::::::::::::
::::::::::::::::::::::::';;;;'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;;;;;;;;:;;;;;;;;;:::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;''''';;;;;''''''''''''''''''';'';;;;;;;;::;;;;;;;''.....```....,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
::::::::::::::::::::::::'';;;'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;;;;;;;::::;;;;;;;:::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;';'''''''''''''';;;;;;;:;;;;;:::;;;;;;'',`........,.....,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::::;::::
::;::::::;::::::::::::::'';;'';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;;;;:::::;;;;;;::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;''''''';;;;;;;;:::::;;;:::::;;;'';,,,,,....,,.,,,.......,,,,,,,,,,,,::,::::::::::::::::::::::::::::::::::;::::
::;::::::;::::::::::::::'';;'';'';;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;:::::;;;;;;:::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;::::::;;;'';:::::,,,,,,,,,,,,,,,..........,,,,,,::::::::::::::::::::::::::::::::::;:::::
::;;:;:::;;:::::::;:::::;';''';';;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;:::::::::::::::::::::::::::::::::::::;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::;;;''::,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,:::::::::::::::::::::::::::::::::::::
:::;;;;::;;:::::::;::::;;'';''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;;;;:::::::::::::::::::::::::::::::::::::::::;;:;;;;;::;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::;;;;'':::,,,,,,,,,,,,,,,,,,,,,,,,,..,,..,.....,,,,,::::::::::::::::::::::::::;;::::
:;:;;;;;;:;;;;:::;;;:;:;;'';''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;:;;::::;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;:::::::::::::::::::;;;;'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,::::::::::::::::::::::;::::
:::;;;;;;:;;;;:::;;;:;:;;';''''';;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;:::::;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::;::;;;;;;;;;:;:::::::::::::::::::::;;;;;';,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,...........,,,,:::::::::::::::;;::::
:::;;;;;;::;;;;::;;;:::;;''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;::::::::;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;::::::::::::::::::::::;;;;;';,:,,,,,,,,,,,,,,,,:::::::::::,::::::::::::::,,,,..........,,,,:::::::::;;;:::
;::;;;;;;;;;;;;;:;;;:::;;'';'''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;:;;;;;;:::::;:::;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;::::::::::::::::::::::::::;;;;';':::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::,,.......,,:::::::::;::;:::
;:;;:;;;;;;;;;;:::;;;;:;;;';'''''';;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:::::::::;:;::::;;::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;:::::::::::::::::::::::::;;;;;;';:::,:,,,,,,,,,:,,,:::::::::::::::::::::::::::::::,,,.....,,:::::::::::::::;:::
;:;;:;;;;;:;:;::::;;;;:;:;''''''';;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;::::::::::::::::::::::::::;;;;;;';::,:,::,:,,,,::::::::::::::::::::::::::::,,,,.........,:::::::::::::::::::;;:;
;:;;:;;::;;;::::::;;;;:::;'''''''''';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::;;;;;::;::::::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::;;;;;;';:::,,::::::,,:::::::::::::::::::::::,,,...........,,,::::::::::::::::::::::;::
::;::;;;:;;;::::::;;:::::;'';''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;::::::::::::::;;;;;;;;;::::::::::::::::::::::::::::::::::::::,,,,,::::::::::::::::::,,,,:::::::::::::::::;;;;;''::,:,:::::::,::::::::::::::::::,,,......`......,,,:::::::::::::::::::::::::;:::
;:;:::;;::;;:::::::::::::;''''''''''';;;;';;;;;;;;;;;;;;;;;;;;;;;;:;:::::;:;;;::::::::::::;;:;;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,::::::::::;;;;;'':::::,:,::::::::::::::::::,,.............,,,,:::::::::::::::::::::::::::::::::;
::;::::::::;:::::::::::::;;';'''''''';;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;:::;:;;;;:::::::::::;;;;;;;;;:::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::::::::::,,,,,,,,,,,,,:::::::::;;;;;';::::::::,,::::::::::,,,...........,.,,,,:::::::::::::::::::::::::::::::::::::::
:;::::;:::;:::::;:;::::::;;';'''''''';;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:::::::::::;;;;;;;;;:;::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,:::::::::;;;;'';:::,::::::::,,,,,,................,,,,:::::::::::::::::::::::::::::::::::::::::
:;:::::;::;:::::;::;:::;;;;'';''''''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::;;;;;:::;;;:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,:::::::::;;;;'';:::,:,:::::,,,..............,..,,,,,:,::::::::,:::::::::::::::::::::::::::,:::,
::;::::;::;::;::;:::;::;;;:'';'''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;:::::::::::::;:;::::::;:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,::::::::;;;';''::::,,:::::::,,,..........,,,,,,,,,,,,,::::::::::::::::::::::::::,:::::::::::::,
::;::;:;:::::;::::::;::;;::;'''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::;;::::::;::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,:::::::::;;'''';,,,:,:::::::::,,,,,,,,,.,,,,,,,,:,,,,,,,,,:::,:::::::::,,::::::::::::::::::::::,
::;::;;;;:;;::::::::;;;;;;;;'';''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::;;;:::::;::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,::::::::;;;'''';,,::,,:::,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,:::::::::,,::;;:::::::,::,,
;:;::;:;;:;;::.,::;:;;;;;;;:'';''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::;;;;::::;::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::;;;''''':::,:,::,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;,;:,::::::::::,
;;;;;:;:;;:;::,,..;::;;;;;:;;';'';'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::;;;;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::;;;;''''':::,,,:,,:,,,:,,:,,,,,,,,,,,,,,,,,,,,,,,,....,.,,,,,,,,,,,,,,,,,,:::,,,,,::::::::
;;;;;:;;:;::..,,,::::;;;;;;;;''''';''';'';;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;;;;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::::::::;;;;;'''';,::,:,,:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................:;......,,,,,,,,
:;;;;::;::;..,,,,..::;;;;;;;;;'''';''';'';'''';;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;:::::::::::;;;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:::::::;;;;;;'''';,:,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................:;,.............
;;;;;;::;:;:;,,,.:,:;;;;;;;;;;''''''''';;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::;;;;;''''':::,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....::,.............
;;;;;;::::;;;,:,.::::';;;;;;;;''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::;;;;::;:::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,:,,::::::::,,,,,::::::::;;;;;''''';:::::::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,;:....``.......
;;;;;::,,::;;;;:,::::;;;;;;;;;;+''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;::::::::::::;;;;::;:::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::::::::::,,,::::::::;;;;;'''''';:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,......,:;...````````..
:;;;:,,,,,::;;;;;;::.,;;;;;;;;:''''''''';''''';;;;;;';;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::;;;;;;;:::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::::::::::,::::::::::;;;;;'''''':::;::::::::::,,,:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........::,..````````..
:;;;;;,.:.,:;:;;;;::.`,,.:;;;;;'+''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;::::::::::::::;;;;;;;::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::::::::::::;;;;''''''':::;:::::::::,::::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................:::..`.```..`.`
;;;;;::.::,;;;;:;,,:,...,:;;;;;;+;'+''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::;::::;;;;;::;:::::::::::::::::::::::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::;;;''''''';::;::::;::::::::,:,,,,,,:,::,,,,,,,,,,,,,,,,,,,,....................:::......``.`..
;;;;;;;:;:;;;;;::```,,,:,.,;;;;;++'''''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::;:::::;;;::;::::::::::::::::::::::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::;;;;''''''':::;:::;:::::,::,:,,:,,:::::::::,,,,,,,,:,,,,........................,::.......`.`.`
;:;;;;;;;;;;;;;;:.`,:.,,,.,;;;;;;+'''+'''''';''';'';;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;:;::::;;:::;;;;::;;::::::::::::::::::::::::::::::::::::,,,,,,,::::::::::::::::::::::::::;;;;;'''''''::;':::;::;;:::::,::,,,,,,:,:::::,,,,:,,,..................`````.....:::....```.`...
;;;;;;;;;;;;;;;;;;::``,`.;;;;;;;;+'''+'''''';'''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;;;;;::;:::::::::::::::;::::::::::::::::::,:::::::::::::::::::::::::::::;;;;;;;''''''';;;';:;;:;;;::::::::,,,,:::,:::::,,,,....................``````......:::...`````.,.,
:;;;;;;;;;;;;;;;;;;...;`..;;;;;;;'+'+'''''''';;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;;;;;:;;::::::::::::::;;;;:::::::::::::::::,,:::::::::::::::::::::::::;;;;;;;'''''''';;;;;;;;;;;:;:,:::,:,:,:::::,:,,,,..............`...`.````````......,::,...`....,,,,
;;;;;';;;;'';;;;;;;:,;';,:;;;;;;;;++'''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;;;;;;;;;;;;;;;;:::::::::::;:;;;;;;;::::::::::::::::::::::::::::::::::::::::;;;;;;';''''''+;'';;;;';;;;;;:,;:::::::::,,,,,,,...............``.````.`.``````.....,::::.....,,,,,,,
;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;+'+''+'''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;;;;;;;;;;;;;;;:::::::::::;:;;;;;;;:::::::::::::::::::::::::::::::::::::::;;;;;;;''''''''+;'';;;;;;;:;;;:;;:::::,,,,,,,..................````````.`.``````....,:::;,...,,,,,,,,,
;;;;;;;';;;;;;;;;;;;;;;';;;;:;;;;;;'''';''''+'''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;;;;;;;;;;;:::::::::::;;;;;;;;;;:::::::::::::::::::::::::::::::::::::;;;;;;;''''';''+';'''';;:;::;;::;;::,:,,,,,................````````````..`.`````....,::::::.,,,,,,,,,,,
;;;;;;;;;';;;;;;;;;';';'';;;;;;;;;;;''+;''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;:;;;:;::::::::::::;;;;;;;;;:;;;:::::::::::::::::::::::::::::::;;;;;;;;;'''''''++'''''';;;;:;;;:;;::;::,.:...............````````````..``,..``.`.`...:::::,,,,,,,,,,,,.,
;;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;;;;;';+;+'''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;:;;;;::;;;:;::::::::::::;;;;;;;;::;;;::::::::::::::::::::::::::::::;;;;;;;;;''''''''+'''';;;;;;;;;;;;;;:::::.:,,,,..........``````````.```..``,..``.``...,::::,,.,,,,,,,,,,..
;;;;;;;;;;;;;;'''';;;'';';;;::;;;;;;;;';+''+'''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;::::;;;;;:::::::::;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::;;;;;;;;;''''''''''+';;;;;;;;;;;;;;;;;;;;:;:,:..:........`````````````..``..``,,..,,....,.;::,,,.,,,,,,,,,...
;;;;;;;;;;;;;;;;''';;';;;;;;;;;;;;;;;;';+;'''''''';''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;:::::;;;;;::::;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::;;;;;;;;;;'''''''''++';;;;;;;;;;;;;;;;;;;;:;:;,.::.....````````````````..``....,,.,,`.,,.,,::,,,,.,,,,,,,,,,,,
;:;;;;;;;;;;;;;;;;'';;;;';;;;;;;;;;'';;'';'++'+''''''''';;;;;;;;;;;;'';;;;;;;;;;;:;;;;;;;;;;;;;;;;::::;;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::;;;;;;;;;;'''''''''++''';;;;;;;;;;;;;;;;;;;;;:;,:;:.,:.````````.``.``````..``.,.,,,,..,,.,,,,:,,::,,,,,,,,,,,::
:;;;;;;;;;;;;:;;;;;;;;'''''''';;;';'';;;;;+''++'''''''''';;;;;;;;;;''';;;'';;;;;::;;;;;;;;;;;;;;;;:::;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::;::::;;;;;;;;;;'''''''''++';;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,:,```````..```.``````....,,.,,,,.:,,,,,,,:,,,:,,,,,,,,,,,,,
:;;;;;;;;;;;;:;;';;;';''';;;;'';;';;;;;';;+'+++''''''''';;;;;;';;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::;:::;;;;;;;;'''''''''''++';''';;;;;;;;;;;;;;;;;;;;;;;;;;,,;,````````````.``..`.`,,.,,.,,,,,,,,,,,,,:.,,,,,,,,,,,,,:,,
;;:;;;;;;;;;;::;';;;;;;';'';;;;;;';;';;;''''+++'''''''''''';;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;;:;;;;;;;;;''''''''''''++''+'';;;;;;;;;;;;;;;;;;;;;;;;;;;,::``,`.`.,`.```,```...`.,,,,,,,,,,,,,,,,,,:,,,,:,,,,,,,:::::
;;:;;;;;:;;;;;:;;;;;;;;;;;;;;;;;;;'''';'''''+++;''''''''''';;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;:;;:;:;;;;;;;''''''''''++++''''''';';;;;;;;;;;;;;;;;;;;;;;::::.,,...`:`.```.``..,.,,,,,,,,,,,,,,,,,,,,,,,::;::::::::::::
::;;;;:;:;;;;::;;;;;;;;;;;;;;;;;;;;;'+';';'''+';''+''''''''';''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;;;;;;;;'''''''''''+++++''''';;''';;;;;;;;;;;;;::;;;;;;;;:::...,.;.````.`.,.,,..,,,,,,,,,,,,,,,,,,,:,:::::::::::::::
::;;;:;;::;;;::;;;;;;;;;;;;;;;;;;;'';;';''';''';'+''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';''''''''''+++++''''''''''';;;;;;;;;;;;;;;;;;;;;;:::;,,,::`;.``....`..,,,,,,,,.,,,,,,,,,,::,::,:::::,,::::::::
::;::;;;::;;;;::;;;;;;;;;;;;;;;;;'';;'''''''''';;+'+';''''''''''';;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''+++++'''''''''''';;;;;;;;;;;;;;;;::::;;;;;;::;;:,;,``:..,`,,,,,,,,,,,,,::,:,,,:::::::,::::,,:,::::::
::;::;;;::;;;;;:::;;;;;;;;;;;';;;';;';;'''';;'+;;+++;;';''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;':;;;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''++++'+'+'''''';';;;;;;;;';';;;,..,:,;:;;;;;;:;;;:;:,.;`,:.,,,,,,,,,,,:,:::,,::,:::::::::,,,,::::::::
::;::;;:;;;;:;;::;;;;;;;;;;;;;;;;;;;;''''''';'';;''+;;''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''++'+'''''''''''''';;;;;;;;;;;;:,,,,,:,,:;:;;;;;;';:;;.;,,,,,:,,,,,,,,:,,,,:,,,,,,::::::::::::::::::::
;:::::;;:;;:;;::;;;;:;;;;;:';:;;';;;'';'';;';;'';;'';;+++''''''''''''';;'''';;;;;;;;;;;;';;;;;';;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''++++++''''''''''''''';;;;;;;;;;;;;;:..,,,,:;;;;;;;';:;;;::,,:,;,,,,,:::::::,,,,,,,,::::::::::::::::::::
;:::::;::;;;;:;:;;;;;;;;;;:;;:;;';;;''';;;;;';;';;;;;;++'''''''''''''''''''''';;';;;;;;;;'';;';';;;;;;;''';';';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''';;;;'''''''''''+++++++++'''+'''''''''';;;;;;;;;;;;;;;;..,.:.::;;;:;::';,';';;,:;,;,,:,:;:::;,:::::::::::::,:::::::::::::::
;:::;;;::;;:;:;;;;;;;;;;;;;;':;;';''''''';;'';;';;;;:'+;+'''''''';;'''''''''''''''';;;;;;;''';;;;;;';';'''''';''';;;;;;;;;;;;;;;;'';;;;;;;;;'''''';;'''''''''++++++++''''''''''''''';';;;;;;;;;;';';;;;,;:,;::;:.,:::,:':;;';;:;;:;:,;,;;:::;:::::::::,:::,,:::::::::::::::
:;;::;::;;,.,:;;;;;;:;;;;;;:':;;''''';;'';;';;;;;;';;';'+''++''''';;'''''''''''''''''';;;''''';;'''''''''''';;'''';;;;;;;;;;;;;;;;;;';;''''''''''''''''''++++++++++''''''''''''';''''';;;;;;;;;;;;';;;;;;;;;;;,.,..,,,;;;;;';',;;:;:,';':;::':::;:,,,::::::::::::::::::::::
;;;::;;::,...::;;;;;;;;;;;;;;;;;;';;;;;'''';;;;;;:';;;;+';;;'+++'';;'''''''''''''''';''';'''''';'''''''''''';'''''''''''';;';;;;;;'';'''''''''''''''''++++++++++''''''''''''';'';'''''''';;;;;;;;;'';;;;;;;;;;::,.:.:,:;;;;';':';;';:''::;:;':::;::::::::::::::::::::::::::
:;;;;;;::....,;:,:;;;;;;;:;';;;;;';;;;;;'''';;;;';;';;;;:;;;;'+'++';;''''''''''''''';'''';''''';''''';'''''''''''''''''''''''''''''''''''''''''''''''+++++++++'''''''''''''''';';'''''';;;;;;;;;;;;;';;;;;;;;;;;,,',:;;;;;;;;;;';;';;''::':;':::':::;;:::::::::::::::::::::
.:;;:;;:,....,;..,;;;;;;;;:'';'';;;;;;;;;'''';;;';;';;;;'';';;'';++;:'+'';;''''''''';'''''''''';;'''';''''';;'''''''''''''''''''''''''''''''''''+''+++++++'+'''''''''''''''''';;;;''''';;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;;'''';'';;:':;'::;;:::;;::::::::::;::::::::::
..:;,,::.....,:...;;::;;;';;;;'';;;;;;;;;;''';;;'';;;;;;+';+;;;';;+;;;+'';;'''';;;'':';''''';'';;''''''''''';''''''''''''''''''''''''''''''''+++++++++++++'''''''''''';''''''';;;;;''';;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;'''';'';;;';;'::';:::;;:::;:::::::::;;:::;::
.`.:,,,,.....,,,..,...;;;;;';''';;;;;;;;;;''';;;'';';;;;;';'';;;;;;'';'';;;;+''';;;':'';'+''''';;''';'''''''''''''''';''''''''+++''+''+'+++++++++++++'''+''';'''''''''''''''''';;;''';;;;;;;;;;;;;;;:;;;;;;;;;;;;;''';;;;;;;;;;;'';''';;;';;'::';;;;;;::;;;:;;:::::::;;::::
.`..,,,......,,,......;;:,:';';';;;;;;;;;;;;;;;''';;;;;;;;;;;;;;;;;';;;;;;;;'';;;;;':;';;''''';;;;'';''';;';'''''''''';''+''++''+;++'+++++++++++++++'+++'''';''''''''''''''''''';;;';;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;';''';;;;';;';;';;;;:;::';::;;:;;:::;::;;;;
,...`.,,......,,......,....;';:;;;;'';;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;';';':;'';;;;;+:';;+';;;';';;''++'''+++;;++;;++''+;++;++++;++++++++++'''''''';''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';';;;';'';;'';'':;:;;;:';::;;::::::::;;
.,.....,......,,...........;:..,:;';;;;;;;';;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::';:;;;;'';;;+';';;;+;'+++'''++++;;++;;++;'';'';'+';'++++++'++'';;''''';''''''''''''''';'''';;;;;;;;;;;;;;;:;;;;;;::::;::;;;;;;;;;;;;;;;;;;;;'';';;'';'';'''''':':;;:;';::;;;::::::;;:
.,,....,,....,,,....`............,:;;;;;;;';';;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::';;;;;;'+;;:+';';;;';+++''''++++;;;+;;'';'';'';+';;'++'+++++''';;;''';;';''';';;'''''';'''';;;;;;;;;;;;;;;;;;;;;;::::,,:;;;;;;;;;;;;;;';;;;''';';';';'';'';;'':';';;';';:';:::::::;;;
,..,....,....,,,.........`........:;;;;;;;;;;;;;';';;;;;;;;;';;;;;;;;;;;;;;::;;;;;;;;:;;;;;;;''';;;;;';;;;'''''''';;''+;;'';';;'';'';';;;'+'++''''''';;;''';';;'';;';;''''''''';;;;;;;;;;;;;;;;;;;;;;,::,,,,.,;;;;;;;;;'''';;;;;;;'';';;;';''''';;'';;;';;';';:';:;;::::;;;
.,,.,,,.,,...,,,....`............,;;;;;;;;;;';;;''';;;;;;;;';';;;;;;;;;;:;;:::;;;;;;;:;::;;;:;;;;;;';;;;;;';'';;''';;;';;;;;;+;';;';'';;'++'''''';'''';;;';;';;''';';;;';'';;;;;;;;';;;;;;;';;;;;;;;:::.,,:,,,,;;;;;;;;;''';;''';;;';'';;';'''';;''';';';';;'':';:;;;;;;;;;
..,,,,,::::::::,...`...........,::,,,;;;;;;;;;;;''';;;;;;;;';;;;;;;;;:;;;;;;:::;;:;;::;::;;;:;;';::;'':;;';;';;;+'+';;;;;;;;;+;;;;';';;''+''''''';;''';;;;;;;;;'';;;;;;'''';;';;;';;;;;;;;;';;;::;;;'::,.....:;;;;;;';;;';'';;';;;'';';;;';;;''''''';';;;';;'';';:':;;;;;;;
..,,,::,,`..,,,,..........`...,......:;;;;;;;;;;;;;;;;;;;;;;++#@@@@#+';;;;;;;:::;;;;:::::::::::;::::;':;;;;;';;;;;;'+':;;:;;;;';;;'';;;;'';';;''';;;'';';;;:;;;;;;;;;;;''';;;'';;;:;;;::;;;;::::::;;;:::.,,:;:;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';';;;;;;;;;';
,,,,:...,.,,,,,@@@@@@@@@@@@@@........:;;;;;;;;;;;;;;;;;;;#@@#;,`  `.;#@@#;:;;;:::;;;;:::#@@@@@@@@@@@@@@;;;;;;';;;;;;;'';;;;;;;;;;;;;;@@@@@@@@@@@@@;;'';';;'#@@@@@@@@@@@;''';;;;;#@@@@@@@@@@#;@@@@@@@@@@@@@@@;;;;;;';;@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''';;';':;;';
,,,:,,,,,.:::;,@            @.......:;;;';;;;;;;;;;;';;@@;              ;@@;;;;::;:;;:::@             @;;:;;'';;;;';;;;;:;;;;;;;;;;;;@           ;#;;';';;;@          @;''';;;;;@         :#;@             @;';;;;;;;@         @;@                            ;';;;';;':';;
.,:,,,:,,;;::::@            @.,..,,,;;;;';;;;;;;;;;;'#@,                  ,@#:;;::::::::@             @;;;;;;;;;;;;;;;:;;;;;';;;;;;;;@           `@;;;;;;;'@          ++;'';;;;;@         #+;@             @;;;';;;;;@         @:@                            ;';'';;'':';;
.;,,::;::;:;,,,@            @...,,:;;;;;;';;;;;;;;;;@#                      +@;:::::;;::@             @;;;;;;;;;';;;;;;;:;;;';;;;;;;;#:           @;;;;;;;#'          .@'';;;;;'#         @;;@             @;;;;;;;;;@         @:@                            ;';'''''';';;
.:,:;:;;;:::,,,@            @,:;;'';;;;;;';;;;;;;;;@:                        ,@;:;:::::;@             @;;;;;;;;;;;;;;;;;;::;';;;;;;;''#           @;;;;;;;@.           @''';;;;#,        `@;;@             @;;;;;;;;;@         @:@                            ;''''''';'';'
..::;,,.:;,.,,,@            @;'';'';;;;;';';;;;;;;@:                          .@::;:;;:;@             @:;;;;;;;;;;;;;;;;;;:;;;;;;;;;;:@           '+;;;;;;@            @;;;;;;;@         ;#;;@             @:;';;;;;;@         @:@                            ;'''''''''';;
.,:;;,,..;..,,,@            @;;';;;;;;;';;;;;;;;;@;                            ,@:::;;:;@             @;;;;;;;:;;;;;;;;;;;;:;;;;;;;;;;@           .@;;;;;;@            +#';;;;;@         @;;;@             @:;;;;;;;;@         @:@                            ;''''''';';;'
.:,,::......,,,@            @;;;;;;;;;;':....,:;##                              ;#,;;;:;@             @;;:;;;;:;;;;;;;;;;;;;:;;;;;;;;;#;           @;;:;;++            .@;';;:'#         @:;;@             @;;;;;;;;;@         @:@                            ;''''''''';''
.,,:::.,....::,@            @;';;'';;;;;.......:@                                @';;;;;@             @;;;;;;;:;;;;;;;;;;;;;:;;;;;;;;;'@           @;;;;;@.             @;;;;:#:        `@:;;@             @;;;;;;;;;@         @:@                            ;'''''';'';''
....::......::.@            @;'';''';';:..`....@,              :#@'`             `@:::;;@             @;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;@           ++;;;;@              @;;;;;@         '+;;;@             @;;;;;;;;:@         @:@                            ''''''';'''''
````.....,.,:,,@            @,;';;';'';:..`....@             `@#';+@'             @':;;;@             @;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;:@`          ,@;;;;@              ++;;;;@         @;:;;@             @;;;;;;;;:@         @;@@@@@@@@@            @@@@@@@@';''''';'''''
.```.,..,,,,:,;@            @..,;';'''',..`...#;             @;;;;;;@:            .@:::;@             @;;;;:;;;;;;;;:;';;:;;;;;;;;;;;;;#'           @:;:'+              `@;;;'#         @;;;;@             @;;;;;;;;:@         @;;;;;;;;:@            @;;;;;;;;''''''''''';
..`..::,:,,,';+@            @....:';;''..``...@             @+:;;;;;;@             @:;;:@             @;;;;;;;;;;;;;;;;;'::;::;;:;;;;;;;@           @;;:@,               @:;;#:        .@;;;;@             @:;;;;;;;:@         @;;;;;;;;;@            @;';;''';''''''''''''
,,,,:::'+;::+#+@            @`....:''';..``..:@             @,,,,:;;;@:            +';;;@             @:;;;;;;;;;;;;;';''::;:;:::;;;;;;;@           #';;@                @;:;@         ++:;;;@             @;;;;;;:::@         @;;;;;;;;;@            @;';;'';;;'''''''''''
;::;;'++++++#++@            @``....:'';..``..+:            ;#,.,,.,:;'#            ,#;;;@             @::';;;;;;;;;;;':'';::;;;;::::;;;;@.          :#::@                '#;:@         @;;;;;@             @:;;;;;;;:@         @;;;;;;;;;@            @;;;;;;;;;'''''''''''
######+++'++#++@            @```.`..:';..``..@`            @,......,;;@             @;;;@             @;;;;;:;;;;;;;';:'';;;';;;;;;;;;;;+'           @;'#                `@;;@         @;;;;;@             @:;;;;;;;:@         @;;;;;;;;;@            @;;;;;;';;;''''''''';
'''+#+++++##+#+@            @```..`..;;..``..@             @`.......::@             @;;;@             @:;;;;;;;;;;;;';;';;;;';;;;;;;;:;;;@           @;#,                 @;#;        ,#:;;;;@             @;;;;;;;;:@         @;;;;;;;;;@            @;;;;;;';;;''''''''''
'';'+#####+++++@            @.```.``..:..`.`.@             @.......,.,@             @:;;@             @;;';;;;;;;';;';;'';;'';;;;;';:;::;@           @'@                  @;@         #';;;;;@             @;;;;;;;;:@         @;;;;;;;;;@            @;;;;;;;;;;';';;'''''
''';;'+###+#++;@            @..```.`.....`.`.@             @.....,..,:@             @;;;@             @;;;'';;;;;;;:.:;';';'';;;;';:;;:;;@,          :#@                  '+@         @;;;;;;@             @;;;;;;;;:@         @;;;;;;;;;@            @;;;;;;;;;;;;;;;'''''
''''';;'++#+++,@            @...``..`....`.`.@             @...,,,,;;;@             @;;;@             @;';;';;;:...,;::';'''';;;'';:;;:;;'+          `@#        :         `@@         @;;;:;;@             @:;;;;;;;:@         @;;;;;;;;;@            @;;;;;;;;;;;;;'';''''
'''''''''++++';@            @....``..`...`.`.@             @.,,,.,,.,;@             @;;;@             @''';';;:.``.,;;,;;;;;;;;'';;:;:;;::@           @:        #          @;        :#;;;;;;@             @:;;;:;;;:@         @;;;;;;;;;@            @;;;;;;;;;;;;''''''''
'''''''''+++'''@            @,....``.`...`.`.@             @,,......,.@             @;;;@             @;';:;;;.``...:,,;;;;;';''';;;;:;;:;@           @        ,@          @`        @';;;;;;@             @:;;;;;;;:@         @;;;;;;;;;@            @;;;;;;;;;;;;''';;'';
''''''''''++'';@            @::...``.`...`.`.@             @........,,@             @;;;@             @:;:,:';:::..,..`.:;;;;'''';;;:;;;;:@,          ;        #@          '         @::;;;;;@             @:;;;;;;;:@         @;;;;;;;;;@            @;;;;;;;;;;;;''';;;;;
+++''''''+#+'',@            @.;;...`.....`...@             @........,.@             @;;'@             @:,,,:;;;':.:..`.`.;;;'''';;';;;;'';+#          `        @#:         `        `@:;::;;;@             @;;;;;;;;:@         @;;;;;;;;;@            @;;;;;;;;;;;;';;;;;;'
+++++'''''#+'',@            @.`;;,.`..`......@             @..........@             @;;;@             @::,..,;;';';..`...;;'''';;';;;;;;';;@                   @'#                  ;#:;;;;;:@             @:;;;;;;;:@         @;;;;;;;;;@            @;;;;;;;;;'''';;;;;''
'''+++''''#+'+,@            @...,:...........@             @..........@             @;;;@             @,;,..,;;'''+:,::::';'''';';;;;;:;;;'@                  ,@:@                  @;;;;;;;:@             @:;:;;;;;;@         @;;;;;;;;;@            @;;;;;;;;''''';';;;''
+';''+++''#+'+,@            @...``..........,@.            @:,.,,..,,:@            ,#;;;@             @:,..:;;;'';+;;';;;;;'';;;';;';;;;;;;#:                 ++;@                  @;;;::;;;@             @:;;;;;;;;#         @;;;;;;;;;@            @;'';;;;'''''';';;'';
++''''++++##'+;@            @`....`...,..,..,+'            :#,,,..,,,+;            #+;;;@             @,,.`.;;;'';';;;;;;;;;;;;'';;'';;;;'''#                 @;;#:                `@;;:;;;;;@             @;;;;;;;;'+         @;;;;;;;;;@            @;';;;;;''''''''''';;
++++''''++##+'+@            @``....`..,,.,,,:,@             @,..,,,,,@`            @;;;;@             @,.,::';;;'''';'';';;;;;;;'';;;;';;'';@                 @;;'#                '+;;;;;;;;@             @;;;;;;;;#'         @;;;;;;;;;@            @;;;;;;''''''''';;;';
''#++''''+#++''@            @.``...``.,,..:...@             +#,,,,,.'#            .@;;;;@             @;.,;';;;;';;;:;;;';;;;;;;'';';;;;;;''@`               .@;;;@                @:;;;;;;;;@`            @';;;''''@`         @;;;;;;;''@            @;;';;';''';''''';';,
+'+++++';'##++'@            @@@@@@@@@@@@@@@##.++             @+,...'@`            #+;;;;@             @@@@@@@@@@@@@@@@;:';;;;;;'';;';;;;;;';#;               '+;;;@                @;;;:;;;;;#,            .@';;;;'@'          @;;;;;;;;'@            @;'';;'''''''';''':,,
+'''++++''+#++'@                            @::@              #@@@@#`            `@';;;;@                            @:;;;;;;;;'';;';;;;;;'';@               @;;;;#:              .@;;;;;;;;;++             .@@@@@@,           @;;;;;;;;;@            @;'';;''''''''''';,;:
#++''++++'+##;,@                            @;:++                                @+'';;;@                            @;;;;;;;;;';;;;;;;;;;;';@               @;;;;;@              ++;;;;;;;;;;@                               :#;;;;;;'';@            @;''';'''''''''''''::
+##++++'+'++;,.@                            @:,,@.                              ;@;';;;;@                            @;;;;;;;;;';';;;';;;;;';@`             `@;;;;;@              @;;;;;;;;;;;@                               @';;;;;;;;;@            @'';';'''''';'''''';;
+++####+''+':,.@                            @,:.,@                             `@';'';;;@                            @'';;;;;;';'';;;;';;;;;;#'             '#;;;;;@              @;;;;;;;;;';++                             `@+;;;;;;;;;@            @'';;''''''''''''''';
'++++++##+++:.,@                            @::,.'@                            @+';'';;;@                            @;;';;;;;;;;;;:;;;:;;;;;;@             @';;;;;#;            :#;;;;;;;;;;;;@.                            @+'+;;;''';;@            @'';;''';'''';'''''';
+++++++###+++;,@                            @,:,,;+@                         `@+'''';;;;@                            @;';;;;;';';;;;;;;::;;;;:@             @;;;;;;'@            #';;;;;;;;;;;;'@`                          +@;;'';;;;';;@            @;'';''';;'''''''''';
+++++++++++###'@                            @.;,:',;@`                      .@+';;';;;;;@                            @''';;'';;;;;;;;;;;;;;;;;@.           `@;;;;:;;@            @;;;;;;;;;;;;;;+@`                        +@;;;;';''';;;@            @;'';''';;'''';';''';
+''''++++++###+@                            @::.,::.:@'                    +@''''''';;;;@                            @;;;;'';;;;;;;;;;;;;;;;;:+'           ;#;;;;;;;@`           @;;;;;;;;;;;;;;;'@;                      @#;;;;;'':;;'''@            @:'';'';;;''''';;''';
''+'''''+++##'+@                            @;:,,::,;;#@:                ;@#''''''''''';@                            @:;;;;;;;;;';;;;;;;;;;;;:;@           @';;;;;;;#;          ;#;;;;;;;;;;;;;;;;;@@:                 `+@+,;;;:;;'';';';@            @;;;;;';;;;'''';;;'';
+''''''++++##'+#                           `@:;::':;;;;;#@#,          ,#@@''''''''''''';@`                           #;:;;;;;;;;;;;;;;;;;;;;;;;@          `@;;;;;;;;'#          @';;;;;;';;;;;;;;';''@@#:`          `'@@#;;,;;;::;:'+''''@`          `@;;;;;;';;'';''';;'';
'''''''+#+++#'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;:;;;',;:;;:;,'#@@@@@@@@@@#:,;'''''''''''''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:;;;:;;;;;;;;;;;;;;;;;;;;+@@@@@@@@@@@+;;;;;;;;;#@@@@@@@@@@#;;;;;;';;'';;;;;;';';;'#@@@@@@@@@@@@#+':';:::;:,:';+'';;'@@@@@@@@@@@@;;;;;;;';;'';;;';;;;;
'''''''+#++++'#+''+++#+''+,...```....,..:'''''';';;;:,:'':;,;:,..........,;''''''''''''''':,.::;;::;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:;;;;;;;;'''++++'';:;';;:;;;''';;;;';''';:;;::;;::;''+;;;;;;;;;;;;;;;;;;;;;;;;;;';;;';;;;;;
'''''''++++++'#++'++#++''.....``......`.:';;'+';;::';::+''':,,,..```.......:;'''''''';'';,..,:,:;,:.:;;;;;;;';;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;'';''';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;+';;#;:''#':;;:;;:;+;''''''';';;':';::;;:::;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;';;;;
''''''++#++#+'#++'''+++:.....`......``..;,`.,;+';::+',,'++;......``````.....:''''''''''';,,;:.:.,.,:,,;;;;;'';;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;'';;;'';;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;++''+;+#';+;::''::::;'''''''';;';':';::;;;::;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
''''''++#++#+'#++'''+'.............``...``..`,+''''+',';'',:::,,.............:'''''';;;';;;;.,:.,,.;:,,;;;;';;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;';;'';;;;;;:;;;;;;;;:;;;;;;;;;;;;';#++'+;;#+;:;''''';;;''''''''';';;';';;,;;;,::;;'';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;