DID YOU KNOW that the smileys you use (the plain text ones) are officially called ASCII art?
The simplest forms of ASCII art are combinations of two or three characters for expressing emotion in text. They are commonly referred to as ‘emoticon‘, ’smilie’, or ‘smiley‘.
- wikipedia
So although it might sound unfamiliar, it turns out that we have known them all along! And it is possible to create rather beautiful and complex pieces of ascii art. And even you can do it! We will see how a bit later! Here is an ascii art out of my blog title!

Please note that I had to take a screenshot of my ascii art as this theme had issues with it!
Now let’s check out some interesting info – found in the Wikipedia entry stated above.
- ASCII art is an artistic medium that relies primarily on computers for presentation and consists of pictures pieced together from the 95 printable (from a total of 128) characters defined by the ASCII Standard from 1967 .
- One of the main reasons ASCII art was born was because early printers often lacked graphics ability and thus characters were used in place of graphic marks.
- Creating pictures from letters and writing symbols dates back to Ancient Egypt.
- The widespread usage of ASCII art can be traced to the computer bulletin board systems of the late 1970s and early 1980s.
- An ASCII comic is a form of webcomic.
Wikipedia also has a List of Text Editors / ASCII art and List of Text Editors / Converters.
***
And here art some great examples of Ascii art I found online!
Politicians/historical figures
I was quite amused to see King Tut here!
Other luminaries include Bill gates, Princess Diana and JFK!
Moviestars
Marilin Monroe is the only one I liked here! A hint: squint your eyes while viewing these artworks to make them look more realistic!
Television
Meet Spock! Yeah, Captain Spock of Ster Trek!
Here is a colourful collection of cartoon characters – in fact a bit too colourful – but worth a visit. Meet the Aladdin gang, Archie and the gang, the Royal family of Lion King, Snow white and the seven dwarfs and many other adorable friends at arkworld.
***
This ascii-art page contains useful info about forums, tutorials and FAQ related to ascii art.
***
Here is a list of sites where you can create HTML/ASCII/MATRIX art in a matter of seconds – which reminds me, the HTML art I created was rendered in only 20 seconds!
ASCII art generator at Glassgiant
You can paste the url of an online image or upload one from your computer. Then you can specify how many characters you want per line, the font size and also if the image will be black on white or white on Black! If you have never converted an image into text before, prepare to be surprised!
Ascii text generator for text from Network-science
This generator turns not an image, but text into ascii art!

You have more than 130 Font choices. Have fun!
Techhappens image to ascii art generator
You can only paste an image url. You can choose HTML outputs (grayscale) or Colour HTML.
Mastervb image to ascii art generator
Like Techhappens – or at least they seem so! However the colour HTML produces grayscale result! You can paste an image url but can’t upload any offline image. Or you can write some text and turn it into ascii art. Now, if you are like me, you have probably never heard of such fonts as Bubblehead, Ogre or Smsscript – let alone know what they look like! Not to worry, just use the handy font preview!
`````````````......................``.................``....``````````````````````````..........................................................................```````````````````..........```........````````````````````````````````````````
````````````....................................................`````````````````````..............................................................................````````````````...........``................````````````````.```````````````
```````````.....................................................````````...................................................................................................````````..```........................````````.........```````````````
``````````......................................................````.........................................................................................................``````..```..........................````............``````````````
```````````..................................................................................................................................................................```.......`..........................````............``````````````
```````````............................................................................................,,,,,,,,,,,,,...........,..............................................``..................................````............``````````````
```..```...........................................................................................,,:;;''''''''';;::,,,..,,,,.........,...........................................................................``..........`..```````````...
```..```.....................................................................................,,,::;'++##############+';::,,,,.,,,,,.,,.........................................................................................`..````````````..
```..```...............................................................................,,,::;;''+++####################+++';;;;;;''';;:....,...................................................................................`..`````````````.
```...``...........................................................................,,:;''++++###############################++++####++';:,.,..................................................................................``..``````````````
```.....`.......................................................................,:;''+##################################################':,,.,,....................................................................................````.````````
``......`....................................................................,:;++#######################################################+;:,............................................................................................```````
........``................................................................,,;'#############################################@###############';,,,.,,.......................................................................................``````
........``..............................................................,:'+################################################################+':,,,,..,,....................................................................................`````
......................................................................,:'+####################################################################+':,.,,,,,,......,.............................................................................```
....................................................................,:'+########################################################################+':,,,,,,,,,,...................................................................................
.................................................................,,:'###@######@##################################################################++';:,,,,,,,,,,...............................................................................
................................................................,;+##################################@@@###########@@###@#############################++;;:,,,,,,..,............................................................................
...........................................................,..,:'+##################################@@@@@######@##@@@@##@@@@############@#################++''';::,,..,,,......................................................................`
.............................................................,;+#####@@###############################@@########@@@@@@@@@@@@#####################################+';:,,.,....................................................................```
........................................................,,.,:'########################@@###################@@###@@####@@@@@@##############@@########################+';:,,......................................................................
........................................................,.,;+###################################@#########@@@@##@######@@@@#############@@########################@#####+';:,,..................................................................
.......................................................,.,;+###################################@##@##@##@#@@@#@#####@@@@@@@@@@@@###########################################+';:,................................................................
........................................................,;+###################################@@+'#@##@##@#+@@####@@@@@@@@@@@@@@#####@@@@@@###############@###################+':,..............................................................
.......................................................,'#@##################################@@@+:;####@@#;:#@#@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@################################+':,..,.........................................................
......................................................,'##########@@@@#######################@@@#:,;+@@#+:,;#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@####################+;,.,,,.......................................................
................................................,,,..,'#####@##############################@@###@'.,;'#':,;#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############@#############@@@#####+':,....,....................................................
.................................................,..:'##############################@@#####@@###@#,.,::,,'@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############################@############+':,.......................................................
.................................................,,:'#####@###@####################@@@#####@@@###@'..,,,;#@##@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################################@#######+;:,.....................................................
...............................................,.,:'###############################@@@@#@###@@@@#@#:..,:+@##@#@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@########@@@##############################':,,...................................................
.............................................,..,;+#####################@@@@########@####@@###@@#+':..,;;'#@@#@@########@@@@@@@@@@@@@@@@###########@@@@####################################':...................................................
..............................................,;+#######################@@@###############@@@@##':::,,.,,,;+@#######################################@@######################################+;,.,..,............................................
.............................................,;+################@######@@###########@####@####+';;;''':,,,,;+##@#############################################################################+;,.,,.............................................
............................................,;+##################################@@@@@@@#@@####+##@@@@#+++';'###########@@@@@@@@@@@@@@@@#####################################################@+',,.,,...........................................
............................................:+####################################@@@@@@##@@@###@@####@@@@@####@########@@@@@@@@@@@@@@@@############@###########################################':.,..,.........................................
...........................................,'##############################################@###@###########@@######################################@@@@##########################################':,..,,........................................
..........................................,;+###################@######@####################@@@@#@@##@@#@@###@@#@@@@@@@@################@@@#######@@@@@@@@@@@@@@################@@################':,,.,........................................
..........................................:+###############@@@@@@@@@@@@@######@@@@@@@@@@@@@##@@##@@@@####@@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@########@@@@@@@@@@#################',,,.........................................
.........................................,;+##########@@########@@@@@@@@@@@@@@@@##@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@####################',,,........................................
.........................................,'##########@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@############;,,,.......................................
......................................,..:+##########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@+,,,,......................................
......................................,.,;##########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@###;,,,,.....................................
........................................:+###@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######+,,,......................................
.......................................,'#@##@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######:,,......................................
....................................,.,;+#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@#@##',,,.....................................
....................................,,:+####@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@###@+,,,,....................................
.................................,...,'#################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@####@@@@@@@@@@@@@@@@@@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@#####,,,,.,..................................
....................................,:+#################@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@####@#;,.,...,................................
....................................,'########@@@@@@@@@@@@@@@@@@@@@@@@@@############@@@@@@@@@@############@@@@##@@@@@@###@@@@@##@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@##;,.,,..................................
.................................,..:+#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@####@@@@@#@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@#####':,,..................................
...................................,:#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@#####@+:,,,,,..............................
...................................,;#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@##@##@@+;,.,,,.............................
...................................,'###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@@@@@@@########################@@@@#########@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@#@@@##@+;,,,,.............................
.................................,.,'###@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@################@#######@@@@@@@@@@@@###@@@###########################@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#######@+:,,,,............................
...................................,'####@@@@@@@@@@@@@@@@@@@@@@@@@##@@##@##@###@###########@@@######+++++++++++++++++######@@@@##############@####@@##@#@##@@@@#@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######@######+:.,,,,.,........................
................................,,.,'####@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@#@@@#####@@@@####++';;:::,,,,,,,,,,,...,,,,:::;;'''+++#####@##########@##@##@@@#@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@@#+:,,,,.,........................
................................,,.,'####@@@@@@@@@@@@@@@@@@@@@@@@@@#@####@@#####@###+'';;::,,..`.``````````````````````.`....,,,::;;''++#######@###@##@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@@#@+:,,,.,,.......................
.................................,,,;####@@@@@@@@@@@@@@@@@@@@@@@@##@@@######@@@#+';:,....``````````````````````````````````````.......,,::;''+#@#@@@###@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@@',,,,.,.......................
.................................,,,;####@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@##+':,..````````````````````````````````````````````````````.....,,:;++##@@@####@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@###@#;,,,.,.......................
.................................,.,;####@@@@@@@@@@@@@@@########@@@###@#@#+';,.`````````````````````````````````````` ````````````````.``.....,:;'+#@@#@########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@###@+:,,,,.......................
.................................,.,;####@@@@@@@@@@@@@@@@@@@@@@@####@@@#+;:,.```````````````````````` `````` `````` `````````````````.........,:;++##@@##########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@###',,,,,......................
.................................,,,;####@@@@@@@@@@@@@@@@@@@@@@@###@@#+;,.````````````````` ` ` `` `````````````````.......,,:;'##@#########@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@#@+,,,,,,.....................
.................................,.:+##@@@@@@@@@@@@@@@@@@@@##@@@##@#+':.``````````````` ``````````````````........,,:'+##@###@@#@@#@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@#:,,,,......................
...............................,,,,;+##@@@@@@@@@@@@@@@@@@##@@###@##':..```````````` `````````````````........,..,:;'+@@@@###@#@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###;,,,,......................
..............................,,,.:+###@@@@@@@@@@@@@@@@@@@@@##@@#+;,.```````````` ```````````````.........,,,,,:;'+#@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@',,,,,.....................
..............................,,,,'#####@@@@@@@@@@@@@@@@#@@##@@#':..```````````` ```````````````.....,..,,,,,,,::'+#@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@',,,,,.....................
..............................,,,,+###@####@@@@@#@@@@@@#@###@#+;,...`````````` ```````````````........,,,,,,,,::'+#@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@+,,,,,,....................
..............................,,.:+##@@######@@@###@@###@#@@#':...`.````````` ``````````.........,,,,,,,,::;'#@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@#;,,,,,,...................
...............................,,;#############@###@@####@@#',....````````` `````````.........,,,,,,,,:::;'##@###@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@+,,,,,,...................
................................,;#####@###########@@######':,..``.```````` `` ``````````........,,.,,,,,,::;;'+####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@#;,,,,,,..................
................................,'####@@@@@@@@@@@@##@#####+;,,..``````````` ``````````````.......,,,,,,,,,::;;'+####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@+,,,,,.,.................
................................,'######@@@@@@@@@@@@@@####';,..```````````` ````````````````......,,,,,,,,,::;;;'+###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@#:,,,,.,.................
................................,;###@##@@@@@@@@@@@@@####+':,..```````````` ``````````````````......,,,,,,,,::;;''+###@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@@',,,,,..................
...............................,,;###@#@@@@@@@@@@@#@@####';:,..```````````` ```````````````````.........,,,,,:::;''++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@##@+:,,,,..................
...............................,.:+####@@@@@@@@@@@#@####+';:,..```````````` ` ````````````````````.........,,,,,:::;'''+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###;,,,,,.................
.................................,'#####@@@@@@@@@@######+;::,...``````````` ```````````````````````..........,,,,,::;;'''+####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@',,,,,.................
.................................,;#####@@@@@@@@@@#####+';::,...``````````` ````````````````````````.....,,...,,,,,::;;'''+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@+,,,,,.................
................................,.:+###@@@@@@@@@@@####++';::,..``````````` ```````````````````.```....,,,:,,,,,,,:::;;'';'+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@##@@#:,,,,.................
.................................,,'##@#@@@@@@@@#####++'';;:,,.``````````` `` ` ``````````````....`.`..,,,,,:;'';:::,,:::;;;'''+####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##;,,,,.................
.................................,,;##@@@@@@@@@@@###++''';::,,..````````````````` ```` `` ` ````````````````...,,,,.,:::;;;'+##+'';:::::;;''''+###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;,,,,.................
................................,,.:+######@@@@@####++''';::,....```````````` ` `````` ` `````````````````...``..,,,:::::::;''+++#######+';::;;'''''++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',,,..................
................................,..,'###@###@@@#####++''';::,,...```````````` `` `````````` `` `` ``````````````.....,,.,,,:;''''+++++##############+';;;''''''+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',,,..................
................................,.,.:+##@###@@######+++++;;:,,..```````````````````````````````````````` `````````````````.....,,::;;;;;;'+##+##@###@@@##@@@@###@@#++'''+''+++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@',.,..................
..................................,.,'##############+++++';:,,..`````````````````````````````````````````````````..``````.,,,::;''+++++####@#####@###@@#@@@######@@###++++++++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@',,,..................
....................................,;+#################+;;:,,....``.....``````````````````````..```````````````....````..,::;'++#######@@#@#####@@#@@###@@########@@@###+++++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@;,,,..................
.....................................,'####@@###########+';:,,....`..,,,,,,...````....``........,..````````````..,,......,:;'+#######@@#@@#@@#@@@@#@@@@@#@@##@@@##@@#@@####+++####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@;,,...................
.................................,.,.,;+#################':,,,.....,,:::::::,,,,,,,,,,,,,:::,,,,:::,...````````...,,...,,:;'+##@##@@###@@@####@@@@@@@@@@@@#####@@@@@@@@@@###+####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@;,.,..................
....................................,,:+#################':,,,,...,::;''';;;;;:::;;;;;;;''''''''''';:,..```````...,,,,,,:;++###@##@@@@@@@@@##@@@@@@@@@@@######@@@@@@@@@@@###+#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###;,.,..................
....................................,,,'##@###########@@#':,,,,,,:'+''+++'++++'''++++++#####++#####+':,...````.....,,,:;;'######@@@@@@@@@@@@@@@@@@@@@@#######@##@@@@@@@@@#########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###:,,,,,,...............
..................................,.,,.;##@#######@@@@@@#':,,,,,:'+#++################@@############+';,,,..```.....,:;''+####@#@@@@@@@@@@@@@@@@@@@@@###########@@@@@@@@@@@#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###:,..,.................
..................................,.,.,'##########@###@@#;,,,,:;'+#######################@@@@@#######+';:,...``......,:;+#####@@@@@@@@@@@@@@@@@@@@@@@###########@@@@@@@@@@@#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@+,,,,,..,,.............
...................................,..:+########@@####@@#;,:,,;+################@@##@@@@##@#####@#@###+':,...``..````.,:'+##@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@',,,...,,,.............
...................................,.,'########@@@@###@@#;::,:'################@@@@##@@@@####@@@##@@@##+;,...````````.,,;'#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@',,,..,,,..............
...................................,.:+####@@##@@@@@@@@@#;:::;+#######@@#######@######@@@@##@@@#@###@##+;,..`````````...:'###@#@#@@@@@@@@@@@@@@@#@@@@@@@@@@@@####@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##';:,:::;:,,,...........
................................,...,;########@@@@@@@@@@#;;;:;+##########+++'+######@@##@@@@@@@@@@###@#+;:,.``````````..:'+#@@@#@@#@@#@#@@#@@##@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@##@@#++'';::,,.............
................................,...:+########@@@@@@@@@@#';;:;'+###+++++';;;;+###@@##@#@#@@######@@@#@@#':,.``````````.,,'+###@#@@#@##@@@@#@###@#####@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@#+'';;:,,...............
...................................,;#########@@@@#@@@@@#';;:;'+###+';;;::::'+##@@#@@@###@###@@##@@@####+:.```````````.,,'+#@@@@@##@@@@##@@@####@##@@#@@###@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@##';:,,,,.................
.................................,.,'#########@@@@#@@@@@#;;::;'+++++':::::;'+##@@##@#####@##############':.```````````.,:'+#####@#@#@#@@###@####@##@#######@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#':,,,,..,,...............
................................,,.;##########@@@@#@@@#@#;:::;;'+''';::::'+#@@###@#@##@###@@###########+;:.```````````.,:'+#######@####+;:'#@##@##@@#++###@@@@@@###@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@@+::,,,,,,,,,..............
................................,.,'###@######@@@@@@@@#@+;::;;;;;;:::::;'#@@@###@#;+@@###+###@########';:,.```````````.,:'+++#++'+#+#+':..,'#@##@@##+++#####@@#####@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@###+;:,,,,,,,,...............
.................................,:+##########@@@@@@@@#@+;:::;;;::,::;'+#@@###@#@+,'@###'::'+#####+'';:,,,.``````````..,:'+++++';;+';;:,.`.,;+##@##++''+##########@@@@@@@@@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#####';;;::,,,...............
..............................,,,,'###@#@@@###@@@@@###@@+;:::;;;;;;;;'########@###;#@##@;..,,;'+++;:,,,,,,.``````````.,:;'++#+';:;':::::,,..,:'++'';;''+#########@@@@@@@@@@######@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@##+####+';::,,,,,............
.........................,,..,,,.;+@@######@@@@@#@@@@@#@+;:::;:::;;;+######@######@###@+,````.::::;,.,,,,..`````````..,:;+###++;:::::::::,,,,:;;';;''''+######@###@##@@@@@#######@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@#@#''''##+':,,.................
.......................,.,,,,,,,:'#####@##@@@@@@@@@@####';:::::::;;'+#@#@##@#''@#######'.```````.,:,..,,,..`````````.,:;'+####+';::,:,,,,,,::;''''+++##########@@##@###@#########@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@#@#+';;'+#;,,,,................
......................,,,,,,,.,,'#@##@@@@@@@@@@@@@@@@###'::::::::;;+####@###'::+######',````````......,,,..````````.,:;;'+####+'';:,,,,,,,,,:;;''''''+++++++####@##@@@@@@@@####@#@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@#@#;,:;'#',,,,................
....................,,,,,,,,,,;'#@@#@@#@@@@@@@@@##@@@#@#'::::::;;;'+##@####+;:.:'++++;,`````.....`...,,,...````````.,:;;'+###+''';:,,,,,,,,,,::;;:;;;;'''''+#########@@@######@@##@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@##@#;:;''++;,,,................
..................,,,,,,,,,,:'+#@##@@@@@@@@@@@@@###@@#@+;::::::;;;'+######@+:,..,:::,.`````.``````.,,,,,...````````.,:;;'+#++''''';:,,,,,,,,,,,,:,:::;;'''''+##+###++##@###+######@@@@@@@@@@@@@@###@@@@@@@@@@@@@@#@@@+++';;;':,,................
..............,,,,,,,,,,,,,:'#@#@#@@#@@#@@@@@#######@#@+;::::::;''+#######+':..`.....`.`.``.``.```..........```````.,:;;'++'+'''';;;:,,,,,,,,,..,,,,,:;;''''++++###+'++#####+######@@@@@###########@@@@@########@@@@@###':,:;;,,,...............
.............,,,,,,,,,,,,,:'##@@##@@#@@@@@@#########@#@':::::::;;'++#####+';:,,,,.,,.....`````.````.....```````````..,;;''''+'''';:::,,,,..,,.,,....,,:;;'+''+++++++''++####+######@@@@#############@@@@########@#@##@@+;:,,:;:,,...............
.............,,,,:::,,,,:;'#@@#@@@##@@#@@@##########@##;:::,,,::;;'+#++'+';::;;:,,...,.``````````````..`````````````.,;''+'''';;;::::,,.............,,:;;''''''''''''+'''++++######@@@@#############@@@###########@@@#@#;;:,:'',,...............
........,..,,,,,,::::,:;'#@@###@@@@@@@@@#############@#;::,,,,,,::;'';;:::,,:::,,....````````````````.``````````````.,;'++';;;';;::,,,..............,,::;'''';;;;''''''';;;'++####@@@@@@############@@@@@@@#####@###@@###';;;'+:,,,,,.....,.....
..........,,,,,,:::;;;'#@@@##@@@@@@@@@@@@@@##########@+::,,,,,,,,::;::,,,,,,,.,...``````````````````````````````````.,:;''';;;'';:,.........```````...,:;;;;;;;;;'''''';;;;;'+####@@@@@@###########@@@@@@@@@####@###@@####';;'+':,,,,,,.........
......,,,,,,,,,::;;'++#@@####@@#@@@@@@@@@@@@@@@@#####@+:,,,,,,,,,,,:,...........```````````````````````````````` ```..:;;'';:;;;;:..```....`````````..,::::;;;;;;;;;;';;;::;'+####@@@@@@##########@@@@@@@@@@########@###@@#'''++;,,,,,,.........
....,,,,.,,,,,,::'++##@########@@@@@@@@@@@@@@@@@####@@+:,,,,,......,..```....```````````````````````````````` ` ````.,:;;';::;;:,..````````````````..,::::::;;;;;;;;;;;::::''+###@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@@#####@###++#':,,,,,,........
....,,.,,,,,,,,:'+####@#@@###@#@@@@@@@@@@@@@@@@@####@#':,,,,,.......``````````````````````````` `````````` ```````.::;;;;::::,.``````````````````.,,,::::::;;;;;;;;;:::;;'+###@@@@@@@@@@@@@@@@@#@@@@@@@@@@@###@@###@@#@@###@+;:,,,,.,....,..
....,:,,,,,,,,;'#@@###@@#@##@@##@@@@@@@@@@@@@@@@@#####;,,,,.....``````````````````````` `````````` `````.,:;;;;::::,.```````````````````..,,,::::;:::::;:;;::;'+####@@@@@@@@@@@@@@@@####@@@@@@@@@@#@@@@##@##@@@#@#+';:,,,,,,,,.,.,
..,,,::,,,,,:;+##@###@@@#@@####@@@@@@@@@@@@@@@@@@#####;,,,....``````````````````````` ````````` ```.,:;;;;;:::,.```````````````````...,,,:::;:::::::;;;:;'+###@@@@@@@@@@@@@@@@@####@@@@@@@@@@#@@@@##@####@#@###+';::,,,,,,,,,
..,,,;;,::;;+#@#@@##@######@@@@@@@@@@@@@@@@@@@@@####@#;:,,....`````````````````` ````````` ```..::;;;;;::,.```````````````````..,,,,::::::::;;:;;;;'++###@@@@@@@@@@@@@@@@@#####@@@@@@@@@#@@@@@@#@@##@###@###+;;';;;;:,,,
.,,,,'#++###@@@#@##@@@#####@@@@@@@@@@@@@@@@@@@@@#@##@#;:,,....`````````` ```````` ```.,:;;;;:;;:,.``````````````````..,,,,:,:::::;;;;;;''++#####@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@##@@@@@###@#@@#####';:,,,.
.,:;;+@@@@#@##@@@#@#######@@@@@@@@@@@@@@@@@@@@@@#@##@#;,,,...``````````` ```````` `````.,,:;;;;;;:,.``````````````````...,,,:::::::;;;;;;;'++####@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@#####@@@@@##@#####+':,,,,
.,;''+#+'''++#@#####++##@@@@@@@@@@@@@@@@@@@@@@@@@@##@#:,,,..`````````` ````````` `````..,:;;;;'';:.```````````````````...,,::::;::;;;;;;;'+###@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@#####@@@@####@##@@#'::,,
,:'';;;:,,:;'++++##++###@@@@@##@@@@@@@@@@@@@@@@@#@##@#;:,,..```````` ```````` ```.,,;;;;;;'':.````````````````````..,,,::;;::::;;;;'+####@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@######@#######++#+'';:
:;;:,,,,,:,;++';;+###@####@@###@@@@@@@@@@@@@@@@@####@#;:,...`````` ```````` ````.,,:::::::;';,```````````````````...,,:::;;;;;;;;''+#######@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@#######@######';'''';:
:,,,,,,,,,:;+':::'#@@@#####@###@@@@@@@@@@@@@@@@@######;,,...`````` `````````` `````.,,::::,,,:;;,.``````````````````..,,,:::;;;;'';;'++####@####@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@###############@#';;;;::
.,,,,,,,,,:;':::;'#@###@##@@###@########@@@@@@@@######;:,....````` ```````````````````.,::;;:,,,,.,::,``````````````````..,::::;;;;''''''+#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###############+###+';;;:
....,,,,,,:';:;;''#@##@##@@@@##@########@@@##@@@@#@###':,,...`````` `````````````````...:;;;';:,,,..,:,.`````````````````..,::::;;';''''+++######@@@@@@@@@########@@@@@@@@@@@@@###@@@@@@##@@@@#########+'''+#+::::
....,,,,,:;';;;;;'+#@##@@@@#####@@@@@@@@@@@@@@@@####@#':,,,..`````` ````````...``.....,,,:;''';:,,,,,:::.````````````````...,::::;;';;'+++++#######@@@@@@@@@@@@@@@@@@@@@@@@########@@@@@@@@@@@@#####@@@#'::::;;:,,,
....,,,,,,:++;;;';;'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@#'::,,...`````` ``````...........,,,,::;''''';;;::;::,.```````````````...,::;;;''''+++++#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########':;:,,,:,,,
..,,.,,,,,;++;;';::;+@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@###+;:,,...```````` ````..,,,,,,,,,,::::::;'+++###+++++';:,.``````````````..,,:::;;''''++++#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@#@@#':;:,.,,,,
....,,:::::'+''':::;+#@#@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@+'::,...````````` ```.,:;;;';;:::::;;::;'+#####@@@@##+'';,.````````````...,::::;;;''++#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@#+##';,,...,,
....,,::::,:+#+::;;;'#@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@#'::,,..`````````` ```,;'+####+'';;;';;;'+#@@@@@@@@@###+'';,.``````````...,::,:;;';''+########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@+:;++',..,..,
....,,,,::,:'#+':;'++####@@@@@@@########@@@@@@@@@@@@#@#+;:,,...````````` ```.,;+########+''+++++##########@###+';';,.```````....,,::::;''''++########@########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@###@@@+:,:'+':,,...
......,,,:;;;'+#;;'###@#@@@@@@@@########@@@@@@@@@@@@###+'::,,...`````````` ```.,:;+########+++##########@@########';'+',.``````....,,:;;:;''''++#################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@##@###;,,,:';:,...
......,.,:'';:'##''##@##@@@@@@@@################@@@@##@#';:,,....`````````` ````.,:;+####@#';;'#####++''+###########';'++:..````.....,,:;;;''++'+#############@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@#@#@#;,,,,::::...
........,:;;';'+########@@@@@@@@#############@@@#@@##@##+;:,,,.....`````````` ````.,::;''+##':.,;+#####+;;;'++'+######';'++;.`````....,,::;''''++++##################@@@@@@@@@@@@#@@######@@@@@@@@@@#####@@@@@@@####@',,,.,,,,,..
.......,,,,,:;'######@@####################@@@@@#@@##@##+';:,,.....````````` ````.,::::,:::,..,:;'+##+';:;'+''+######+''+':.``````..,,:::;''++##++###################@@@@@@@@@@@#@@######@@@@@@@@@@###@@@@@@@@@@####',,,,::,,...
.......,,,..,:;++#@@##@#################@@@@@@@@@@@##@###+;:,,,.....```````` `````,:;;,.`........:;;;::,:;+#+'+######++'';:.``````.,,::,::'+++#######################@@@@@@@@@@##########@@@@@@@@@@@@@@@@@@@@@@@####+:,,:,,,....
......,,,,,,.,::'+######################@@@@@@@@@@@@@####+'::,,,.....``````` ``````.:;;:.......```.,,,..,:;+##+++++''''';;,,.`````..,,,:::;'+++#############@########@@@@@@@@@@##########@@@@@@@@@@@@@@@@@@@@@@@@#@#@#:,,,,......
......,,,.,,,,,,:;+#@@##################@@@@@@@@@@@@@####+';:,,,,....```````` ` ```````.,:::,,,,,..`.`......,:;'+#+++';;';;;:,,..```...,,,,:::'++##############@@@#@@####@@@@@@##@@##########@@@@@@@@@@@@@@@@@@@@@@@@###@#:,,,.......
......,,,.,,.,,,,:'+#@#################@@@@@@@@@@@@@@##@##+':,,,,,....`````````` `````````.,,,,,,,,,..``......,,:'+++'';;;;;::,,,.......,,,,:::;'++#############@@@@@@@@##@@@@@@@##@@###########@@@@@@@@@@@@@@@@@@@@@@@@#@@#:,,,.......
......,,,...,,,,::;+##################@@###@@@@@@@@##@@###++;:,,,,,....````````` ``````````......,,,,.``.....,,,:;'++'';::::,,......`...,,,,::;;''+######+#######@@###@@###@@@@@###@@###@##@####@@@@@@@@@@@@@@@@@@@@@@@#@@##;,.,.......
.....,,,..,.,,,,::'+@################@@@#####@@@@@@##@@###++;:,,,,,,...```````` `````````````..,,,,..`.....,,,,,:'+#++'::,,,,..........,,,,::;;'++######+##################@@@@###@@###@##@@###@@@@@@@@@@@@@@@@@@@@@@@#@##@':,........
.....,,......,,,::'#@@@#@@@@@@@@##@@@@@@@@@@@@@@@@@@@@#####+';:,,,,,...```````` ``` `````````````.,,,::,...,....,,,:;'+###+;::,,.....,,,,..,,,,,::;''+####+++#########@@@@###@@@@@@###@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@',.........
.....,,......,,,,;'###############@@@@@@@@@@@@@@@@@@@@@#@###+;:,,,,,....``````````` `````````````..,:;;,..,,....,,:;'+#####';;:,,...,,,,,,,,,,,,::;'++++#++++########@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@+,.........
.....,,.....,,,,:;'###############@@@@@@@@@@@@@@@@@@@@@@####+';:,,.......`````````` ``````````````````.,::;;,..,,....,,:;++######+;:::,,,,,::,,,,,,,,::;''++++++++#######@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@+:,........
.....,,....,,,,,:;'###############@@@@@@@@@@@@@@@@@@@@@@@@##+';:,,,......``````````````````````````````.:;;'':,,,,......,;'+#######':::,,:,::::,,,,,,,::;''+'+'''++########@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@#:,........
.....,,....,,,,,::;+###@##########@@@@@@@@@@@@@@@@@@@@@@@#@#+''::,,,,....``````````````````````````````.:;;;;,,:,,......,;'#########+';;;:::::::,,,,,,::;'''';;'''+########################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@#:,........
.....,,....,,,,,::;+###@##########@@@@@@@@@@@@@@@@@@@@@@##@#++';,,,,.....`````````````````````````````.,:;;;:,,,,..``....;+#####@#####++'';;;;;::,,,,::;;'';:;;'++######################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@#;,........
.....,,.....,,,,,:'#@#@@##########@@@@@@@@@@@@@@@@@@@@@@@@@##++':,,,,....````````````````````````````..,,;';:,,.,..``.``.;+###@@#####@####++''';::,:::;;;;;::;;+####################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@;,........
.....,,.....,,,,:;'#@#@###########@@@@@@@@@@@@@@@@@@@@@@#@####+';:,,,....````````````````````````````.,::;';:,.....`..``.;+###@#@#@@@#@@####++#';;;;;;;;:::::;'+##################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@###@;,........
......,,....,,,,:;'###@#####@@@@###@@@@@@@@@@@@@@@@@@#@@@#@###++;:,,,.....`````````````````````````...,:;;';,,.```.`.`.`,:;+########@@##@@@@####+++++';::::::'+##############@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###;,........
......,,,,..,,,,::'####@@@@#######@@@@@@@@@@@@@@@@@@@#@@@#@###++;::,,.....```````````````````.``...,,,,:;;;:,..`````.```.,:'+########################+';:::;'+##################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@;,........
......,,,,..,,,,,,;##@#@@@@@####@@@@@@@@@@@@@@@@@@@@@#@@@#@###++';:,,.....`````````````````...`..,,:::,,:;;:..``````.`.`.,:;'+#####@@@@@@@@###@@###@##++;::'++########@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@;,........
.....,,,,,..,,,,,,;+#@#@@@@@@###@@@@@@@@@@@@@@@@@@@@@#@@@#@@##++';:,,,....```````````````......,::::;:,,,::,..`.``.`.`..,:;''+#####@@@@@@@@@###@##@@####';;'+########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###;.........
.....,,,,,..,,,,,,;+#@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@##@@###+';;:,,....``````````````..,,::,:;';::,,,,,,...,,.,,.,,:;'++##########@@@@@@@####@@@@#@##++'+#######@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@###;.........
....,,:,,,,,,,,,,,;'#@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@##@@####+';::,,,...````````````..,:;;::;+';:,,,,,...,::;:;;;;'+####@#@#######@@@@@@@@@##@####@############@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@#;.........
....,::,,,,,,,,,,,;'#@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@#@@##@@@###+'';::,,....```````````,::;;':;'+':,,,....,,;;'''+#+#########@##@@@@@@@@@@@@@@@#@@@@@@#########@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#;.........
...,,::,,,,,,,,,,,:;+@@@@@@@@@@####@@@@@@@@@@@@@@@@@@#@@@##@@@##+''';::,....``````````.::;''':;++':,,...,,:;'++++#######@@#@@@#@#@@@@@@@@@@@@@@@@@##@##@@#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#:.........
...,,:,,,,,,,,,,,,:;#@@#@@@@@@@@@@##@@@#@@@@@@@@@@@@@@@@@#@@#####++'':,,,....````````.:''''+':;+#':,...,:'++#########@##@@##@@@@@@#@@@@#@@@@@##@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@#,.........
..,,::,,,,,,,,,,,,:'#@##@@@@@@@@@@##@@@#@@@@@@@@@@@@@@@@@#@@#@@#+++'+;:,,.....``````.:;'++++':;++':,.,:;+##############@#@@@@@@#@@##@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@+,.........
..::;:,,,,,,,,,,,,:'#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@#+++++;:,,,,....`````,;''##++;::'+':::;+######@@@@#@@@#@@@@@@@@@@@@@@@@@@@@##@@@##@@@@@@#@@@@@@@@########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@',.........
..:;':,,,,,,,,,,,,:+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++++';,,,,....`..`.,;'+++''::;;''''+#@@@@@@@@@#########+++''+++##@@@@#@@@@@@@###@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@;..........
..:'':,,,,,,,,,,::'#@#@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++#+;:,,,....`...,:'##+;;;::;''++##@@##+++''';;;;;;;;;;::::::''+##@@@@@@@@#+++##@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#:..........
.,:'':,,,,,,,,:::;+@@#@@@@@@@@@@@@##@@@#@@@@@@@@@@@@@@@@@@@@#@@##+++#+;::,,,.......:;+##';;;::'++###@##+;:,,,,,,,,,,,,:::,,,,::;++###########+'++#@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@+:..........
.,:'+':,,,,,,,::;+#@@###@@@@@@@@@@###@####@@@@@@@@@@@@@@@@@@##@@#+++#+;:::,,.......:'##+''';:'####@##';,,,,.......,,,,,,,,,,,::;+#+##+#++++++''++##@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@##@@@#@@@@@@@@@@@@@@@@####',..........
..,'++;,:,,,::;;+@@#@@##@@@@@@@@@###########@@@@@@@@@@@@@@@@@@@@#+++++;;;:,,,.....,;+##++'';:;++#++';,,,.,,........,,,,,,,,,,::;'+++++#+++++#++++###@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@@###@##@@@@@@@@@@@@@@@@@###;...........
..,;+#+;;::::;;+#@##@@@#@#@@####@##@@###@@@@@@@@@@@@@@@@@@@@@@@@@#+++'';;:,,,,....,;'##+#'::,,,,:::,,,,,,,.........,,..,..,,,::;'++###########++####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@##@@@@#####@@@@@@@@@@@@@@@@@###,...........
...,;##+''';;''##@@###@@@#++#@@#@@@@####@@@@@@@@@@@@@@@@@@#@@@@###++'''';::,,,....,:'##++;,,.......,,,,,,,,........,,..,,,,,::;'+#######@###########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@##@##@@@@@####@@@@@@@@@@@@@@@@###',...........
....,'###++++##########+'';;+@@#@##@##@################@@@##@@@####++++';;:,,,,...,;+###+;,.....`..,,,,,,,,.......,,,,,:::;;;'+####@@#@@##############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@##@###@@@@####@@@@@@@@@@@@#######:............
.....,;+###########@@#';::::;+#@@##@@#################@@@###@@@#@##++#+'';;,,,,...,;+###+;,.........,,,,,,,,,,,,,:::;;'''++++##################@########@@@@@@@@#@@@@@@@@@@@@@@#@@@@@@@@@@@@#####@######@@@@@###@@@@@@@@@@@######@+,............
......,:'#######@###+;::::;::;+#@###@################@@@@###@@@####++##+'';:::,...,:+##++;,........,,,,:,:,,:::;''++++###@@#@@#######@#####@@@@@##@@@@@@#########@@@@@@@@@@@@@@#@@@@@@@@@@@############@@@@@@@@#@@@@@@@@@@@#######;.............
.......,:;;'++##+''';;:;::::::;+#@##@##@#############@@@@@##@@@####++##+''';;:,...,:+###+:,......,,,,,::;;;''++#######@@###@@#######@@#@##########@@@@@#########@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########@@@@@@@@@@@@@@@@@@@@@####@+,.............
.........,,,::::::;'';;:::,::,,;+#@#@##@############@@@@@@#@@@@#@#######+'''';,.,.,;+###':,,...,,,,,,:::;'++###@@@@@@####@#@##@###@##@#@@@###@@@###@@@##########@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######@###@@@@@@@@@@@@@@@@@@@@@@@###;,,............
.......,,.,,,,,,,:++;,::::::::::;#@#@#@############@@@@@@@@@@@@@@#@#####++++';,,,,:'++#+;,,,,,,,,,,,,:::'+#####@###@@@@@@@#@@@@#@#@##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@##@####@@@@@@@@@@@@@@@@@@@@@@@@+:,.............
..........,,,,,,:'#':,,,::,:::,:;+@@@##@###########@@@@@@@@@@@@@@@@@@###++'+':,,,,,;;'+':,,,,,,,,,,,,:;;'++###@@@@@@@#@@@@@######@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@###@@@@@@@@@@########@@@@@@@@@@@@@@@@@@@#@@#@@@#;:,,............
...........,,,,,;'+;:,,,,::::,,::'#@@#@###########@@@@@@@@@@@@@@@@@@@###++'';:,,.,,,:;';:,,,,,,,,,,,::;;;''++######@@@##@#@@########@@##@####@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@###@@@@@@@###########@@@@@@@@@@@@@@@@@@@##@@@##+',,,............
...........,,,,:'++;:,:,,,,:,::::'#@@@@#@@@@@@@@##@@@@@@@@@@@@@@@@@@@@###+'';::,,,,,,;;::,,,,,,,,,,:::;;;;;;'+##########################@#@@####@@####@@@@@@@@@@@@@@@@@@@@@@#########@@@#############@@@@@@@@@@@@@@@@@@@##@##@++',.,............
...........,,,,;+#+;:::::,,:::::;'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#++';:,,,,,,:::,,,,,,,,,,::::::::::;''''';;;;'++''''''+++++#######@###########@@@@@@@@@@@@@@@@@@@@@########################@@@@@@@@@@@@#########@@++@#+':..............
............,,:'##+;::::,,,::::;'##@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+;;:,,,,,,,,,,,,,,,,,,,::::,,,,:::::,,,,..,:;::,:::;;'''+++#############@@############@@@@@@@@@@########################@@@@@@@@@@@@########@@+;'@@+';,.............
............,,:'##+';::,,:,:::;+#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+';::,,,,,,,,,.,,,,,,,,,,,,,,,,,,,.........,,,,,,,,,::;;'''+##+########@@@#############@@@@@@@@##################@@@####@@@@@@@@@@@@########@#;,;##';;,.............
............,,:+###+';;::::::'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####++;::,,,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,:::;;;'++'++#######################@@@@@@@#@@#####################@@@@@@@@@@@@@@@@@@@@@#+;:;##;:;,.............
............,,:+##@@#'';::::;+@@##@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######;::,,,,,,,,,,,,,,,,,,,,,.....``.``.........,,.,,,,::::::;;;;'++#########@############@@@@@@##@@#####################@@@@@@@@@@@@@@@@@@@@@++';'@+:;;,.............
...........,,,;####@@#+;;:;;'###@@@@@@@@@@@@######@@@@@@@@@@@@@@@@@@@@@@@#@@##+';;::::,::::,,,,,,...,....```````````..........,,,,,:::::::;''+##@@##@@@@@############@@@@@@@@@##################@###@@@@@@@@@@@@#@@@#@@#++#'+@':;;:.............
...........,,,;###@@####''''+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+'';;:::::::::,,,,..........````````````.........,,,,,:::,:::;''+#####@@@@@@#########@@@@@@@@@@@@@###############@@@@@@@@@@@@@@@@@@#@@@#@@###@+#@+:;':.............
...........,,:;+###@@@@@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+';;;;:;;;;:::,,,,........`.`````````````.........,,,,,:,,,:;''+++###@@@@@@@#######@@@@@@@@@@@@@@@@########@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@####+#@#;;':.............
...........,:::;#@#@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#';:;;;'+'';;;::,,.,.......`````````````..`.......,,,,,,,,::;''+++###@@@@@@@###########@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#+#@#;;':,............
........,..,::,,'#@#@@####@@##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#';;;;;'#++';::::,,,.....``````````````````......,,,,,,,,::::''+++##@@@@@@@@###########@@@@@@@@@@@@########@####@@@@@@@@@@@@@@@@@@@@@@@@@@@#@###@#;'':,............
..........,,:;,,:+@####@###@##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##':;:;;'++++';::,,,,....```````````````````......,,,,,:,::,:;'++++#@@@@@@@@@#######@@@@@@@@@@@@@@@@########@####@@@@@@@@@@@@@@@@@@@#@@@@@@@@@###@@#+;:,............
..........,,:;:,,'+#@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+;;:;''++##+':,,,,,.....`..```````````````.....,,,,::::::::;+#+++#@@@@@@@@@#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@#@@@@@';,.............
........,.,,:;:,,,;+@@###@####@######@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@#+'';'++#####'::;::,.....``..``````````.....,,,,,::::::::;;''+########@@@@@@#############@@@###@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@####@##;:,,............
.........,,,,;;:,,::'#@##@@##@@####@@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@##''++######';;;;,,.............`........,,,,,,::::;;::;''+####@@@@@@@@@@@################@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@@@+':,,............
..........,,,;';:,,,:+#@#####@@######@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@#@@##++###@#@@#+''';,,.....................,,:,,:::::;'';;''+########@@@@@@@@##########################@@@@@@@@@@@@@@@@@@@@@@@@@@###############@@##+;,,.............
..........,,,:+':::::'++#@@###########@@@@@@@@@@@@@#####@@@@@@@@@@@@@@@@@@@##@@######@#@@#+#+':,,,,...,......,,,,,,,,,,::::::;;;;++''++###@@@@@@@@@@@@@@##########################@@@@@@########@@@@@@@@@@@#############@@#@###';,,.............
...........,,:'+';::;++++#@@###@####@@@@@@@@@@@@@@@#####@@@@@@@@@@@@@@@@#@@@@@@######@#@@@#@#';;:,:,,,,..,,,,,,,,,:,,:::::::;';;'++++####@@@@@@@@@@@@@@@########################@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@####++;:,,,............
...........,,:;+#+;:;###+######@####@@@@@@@@@@@@@@@#####@@@@@@@@@@@@@@@@@@@@@@@#@#@@@@@@@@##@#++::;::,,,,,,,,:,,::::,:::::::;+'''+######@@@@@#@@@@@@@@@@########################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'::,,,............
............,::;+##''#@###############@@@@@@@@@@@@@######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;;'';::;:::,::::;;;;::::;;;;'##++####@@###@@@@@@@@@@@@@@@@@@@@@@@@@@############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+'':,,,,............
............,,::;+@##@##@####@#######@@@@@@@@@@@@@@######@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@#@@@@@@@#++##+;;';'';;';:;'''';;''''+#@#######@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@#';:,,,,,............
............,,:::'###@#############@@@@@@@@@@@@@@@#######@@@@@@@@@@@@@@@#@@@@#@@@@@@@@@@@@@#@@@#@@@@@++#+##++++''+#++++++'+##@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@@@@@@@@@@@@@@#@@@@@@@###@@@@@@@@@@@@@@@@#'::,,,,,............
.............,,,:;+##@#@#########@##@@@@@@@@@@@@@@@@######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@#@@###@#+######++#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@##@@@@###':,,.,,.............
.............,,,:;+###@@@########@#@@@@@@@@@@@@@@@@@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@#@@###@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@@@@@@@@@@@@@@@@@@@@@###@@@@@#@##@@@@@@@@####',,,.,,.............
..............,,,;+##@@###@##########@@@@@@@@@@@@@#######@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@@@@@@@@@@@@@@@####++####@@###@##@@######+;,,,.,,.............
...............,,:'+######@#######@@##@@@@@@@#############@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@#@@##@@@@#@@##@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@@@@@@@@@@@@@@@@@@####+++++'+############@##+:,,,................
...............,,,:'+###@####@@###@@##@##@@@####################@@@@@@@@##########@@@@@@@@@@@@@@@@@#@@@#@#@@#@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###############@@@@@@@@@@@@@@@@@@@@@@@###++:;##@##@@########':,,,................
...............,,,,:'+##@#@#@###@####@@###@#######################################@@@@@@@@@@@@@@@########@@##@@@@@@@@@@@@@@#@@#######@@@@@@@@@@@@@@@@@@@@@@@@@################@@@@@@@@@@########@@@#@@@###''#@###@#+#@#####',.,,................
................,,,,:'+'''++#+####################################################@@@@@@@@@@@@@@@@##@###@#####@@@@@##@@@@@###@@@#####@@@@@@@@@@@@@@@@@@@@@@@@@################@@@@@@@@@@########@########@###+'+##';+@####+;,...................
.................,,,,:::::::;;'+'+################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############@@@@@@@@@@@@@@@@@@@@@@@##@@+++';:'@+:,+@####+;,...................
...................,,,,:,,,:::;';+###+'#@#######################################@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########@@@@@@@@@@@@@@@@##@@@@#############@@@@@@@@@@@@@######@@@@@#@#@@##';::;++:,:+#####':,.................``
...................,,,,,,:,:,,:''+###+'#@@@########################################@@@@@@##@@@@@########@@##@@@@@@@@@@@@#####################@############@@@@#################@################@@@#######;::;'+;,,;+####+:,...................`
.....................,,,:::::,:''#@##+#@########+####################################@@@@@#@@@@@#############@@@@@@@@@@@########@@@@@@@@##################@@@@##################################@#####@#@#':;'';:,:'#####;,.....................
.....................,,,,::::::'+###+########################################@@@####@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############@##@+;'';:;;'#####':......................
......................,,,,::;:;'####++#####++##########################@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@####@+;;::;++#####',,......................
.......................,,,,,::;+#@##'+####@+;#@#@##@##########@@#######@#@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############@@@@@@@@########@@@@####@@######@@@###@@@##@@#####',,,,:;'+##+;,.......................`
.........................,,,,:;##@#';+#####':'#####@###########@############@@@@#@@@@@##@@@@@@@@@######@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############@@@@#################################@@#@######':.,,,,:;+';,,......................```
..........................,.,,;###':;##++++;,;#@##@###############################@@@###@@@@@@@#@@@@@@@@########@@@@@@##@@@@@@@@@@@@@@@@@@@@####################@@@@@@@@########################@#####@#',,.,,,,:::,,........................```
..........................,.,,:+#+;'+#+;;;::,,'@##########################@@@@@@@@#####+@@@@@@@@@@@#####@######@@@@@@@@@@@@@@@@@@@@@@@@@@@#######@@@@@@@###################@@@@@##################@#@@+;,,......,.........................``````
..........................,,,,:'+++++':::::,,,;#####@##@##################@@@@@@@@@@@##+##@@@@@################@@@@@@@@@@@@@@@@####@@@@@##########################################################@#+':,,,................................``````
..........................,.,,:'++++':,,,,,,,,:+#####@@@##################@@@@@@#@@@@######@@@#################@@@@@@#@@@###@@###################@@@@@@@@@@@@@@@#################################+';:,,.,.................................``````
.............................,:;;';:,,,,,,,,,,,;#@###@@###################@@@@@@###@@@#####@@@#################@@@@@###@@###@@##################################################################@',,,,,,.............................```.```````
..........................,,.,,::,,,,,,,,,,,,,,,+@#+######################@@@@@@@####@@@@@@@@@@@##############@@@@@@###@@@@@@@###################@@@@@@@@@@@####################################@',,,,,..............................```.```````
..........................,,.,,,,,,,,,,,,,,,,,,,'@#+#@####################@@@@@@@@@@@@#@@@@@@@@@##############@@@@@@@#@@@@@@@@@##################################################################+':,,,.............................````````````
..............................,,,,,,,,,,,,,,,,,,;#@##@#@########@@@@@@@@##@@@@@@@#@@@@#@@@@@@@@@##############@@@@@@@@@@@@@@@@@####@@@@@########@@@@@@@@@@@@@@@@#################################@+:,,,.............................````````````
............................,.,,,,,,,,,,,,,,,,,,:#@@###@########@@@@@@@@##@@@@@@@##@@@@@##@@@@@@@@@###########@@@@@@@@@@@@@@@@@#@@@@@@@@@@#######@@@@@@@########@@@@@@@@@@########################+,,,..............................````````````
..............................,,,,,,,,,,,,,,,,,:'#@@##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######################@+,,,.....................................`````
..........................,,.,,,,,,,,,,,,,,,,;'+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########@+,......................................``````
...........................,,,,,,,,,,,,,,,::;''#@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################@#:......................................``````
........................,....,,,,,,,,,,,:;'''''+####@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@@@@@@@@@@@@@@@@@@########@@@@@@@@####@@@@################@@@######################@#:,,...................................```````
.........................,,,,,,,,,,:;;'+++++++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################@#:,,...................................```````
.....................,,,,,,,,,,,::;'+###++++++'+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@#####@@#:................................```...``````
...................,,,,,,,,,,:;;++++###+++++++'+#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######@@@@@@@@@@@@@@@@@@########@@@@@@@@@@@@@@@@################@@@@@#########@@########@@#:................................````..``````
..................,,,,,,,,:;'++#+++####+##++++'+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######@@@@@@@@@@@@#@@;,,..............................````...`````
................,,,,,.,,:;+####+++####+####+++++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',,..................................````````
...............,.,,,,,;'+##################+++++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@+,,.,................................````````
...............,,,,:;+#@##################++++##+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@#@#:.,,.................................```````
...............,,:'+###+##################++++##+###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######@@@@@@@@@@@@@#@@#@@#@@##@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######@@@@@@@@@@@@@@##@#@@',,,...................................`````
............,,:;'+#######################+++++######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@##@##@@@@@@@@@@@@###@@#@@##@#@##@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@#@#:,,....................................````
.........,,:;'+###########################++++######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@###@@@#@@@@@@@@#@#'+#@@@@@+#@##+#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@@@@@@@@@@@@@@@@@@@@@',.,....................................```
....,,,,::;+###############################++###########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@#@#+';''+'''++#@@########@@#';'@@@#@+'#;+++@#@@@#@@@@@@@@@@@@@@@@@@@@@@@#@#######@@@@@@@@@@@@@@@@##@@##;,,,...................................```
,,::;;''++########+#####################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@#@#'::::;;::;'#@@@@@@####@##+;;#@@@@#'#'+#+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@######@@@@@@@@@@@@@@@@@@@@#@#;,,....................................``
'''+++++#++++####++#######+#############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@##@@@@@#+'::::::::;'+##@@@@@@@###+;:'@@@@@+'#@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@':.,,...................................
'''''''''''++++++++#######################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@######@@@@@@@#';;:::,:;;'+#@@@@@@@@@#+':;#@#@@#'+@@##@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#',..,,.................................
,::::::;;;;'++'''+######++++++############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######@@@@@@#+';;:::::;'#@@###@@@#@#+;:+@#@@@#'#@##@@@@@@@@@@@#+@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#':,,..................................
,,,,:::::;;'''''++++++++++++++##################################@@@@@@@@@@@@@@@@@@@@@@@@@###+##@@@@@@@#++';::::;'+####@###@@#+;;#@@#@@+'#@##@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@+;,,,................................
..,,,,,,:::;;;'+'++++++++++++++++###############################@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@#+''';''''++###@##@##';+@@@@@#;+@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@##@@+':,................................
...,,,,,,,::;;;''''++'''''+++++++###################++###################@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@#@@@###++++'''+###@####+''@#@@#@''@@##@#@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@##+#@@#####+++''':,,..............................
,,,,,,,,,,::;;;;''''''+'+++++++#+###################++####################@@@@@@@@@@@@@@@@@##@###@@@@##@###@######+''+++#######++##@@#@#'#@##@@@##@@@#@#@@@@@@@@@@@@@#######@@@@@@@@@@@@@@@@@@##''+##+++'';;::::,,,.............................
,:,,,,,,,,,::;;;;;;'''+'++#########################################@@@###@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@#@@#@####+++''+#######++@#@@@@#+@@#@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#';'##'''';;:,,::,,,............................
;;;:::,,,::::;;;;'''''+++++###+#####################++###############@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####++++++#+##++##@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#';'+++';'''';:,,,,,,,,.........................
'''';;;::::::;;;'''+++++++++++++####################++++########################@#@@@@@@@@@@@@@@@@@@@@@@@@@@###########++++++++'+++#@@##@###@@#@@@@@@@@@@@@@@@##############@@@@@@@##@@@@@@@####@+;;'+#+;;'+''';:,,.,,..........................
''''''';;::;;;;''+++####+++++++######################+++################@@#########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@####+#++''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@@@@@@@@@@@@@@@@@@##@#';;'++';;'''++':,...,,,,,,,...................
'+'+''+''''';;;''++######+++++#######################################@@@@@@@@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####++++''+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+';'++''''''+++';,..,:++';:,,.................
'+++++++'+++'''++++#######################################################@@########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########++++#@#@@@@@@@@@@@@@@@@@@@@@@@@###########@@@@@@@@@@@@@@@@@@@####+';;'+'''''''+++';:,,,;'';:::,,,..............
'''++++++++++++#++######################################+#############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######@###++#@#@@#@@@@@@@@@@@@@@@@@@@#############@@@@@@@@@@@@@#@@@#######+';'++''''''++++'';,,,:;';::::,,,............
'++++++#+++++#########@####@##@#########################++++##########################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########+#@@@@@@@@@@@@@@@@@@@@@@@@@@########@@@@@@@@@@@@@@@@@@@@@######+'''''''';;'''+'''':,,:'#+'';;::,,,,.........
''''+++++++++#########@#@#@@@@@#@###@@###################+++##########@###@###@#########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@#########+''''';;;;;''+++++;::,;####+';::,,,,........
;''''+++++++#######@#@@@@@@@@@@@@@@@@@@@#@@###############++################@@@########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@##+'''''';;:;;'++++'';;,,'@####+';:,,,,.......
;;'''''''++++#######@@@#@@@@@@@@@@@@@@@@@########+++######+++#####@@@@@@@@##@@#########@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@#@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@###########+'''';;;::;'''+++++':,:+@####+';,,,,,,,....
;;;''''''++++#######@@##@@@@@@@@@@@@@@@#@#######++++#######+++#####@@@@@#####@#############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@#@@@@#@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@##############+';;;;;;:::;''++++';;,;######+';:,,,,,,...
::;;;''''++++++++####@##@@@@@@@@@@@@@@@#@#######++++####+##+++#######@@@##@@@@@@###########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############+';;;'';::::;''++#++':,'######++';:,,,,,,,
::;;;;'''''++++++####@@@@@@@@@@@@@@@@@@@@@####++++++###++##+++#######@@@@@@@@@#########@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@##@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########@######+;;;;;;;;;;;;;++##+';::+@#####++';:,,,,,,
;;;;;;;'''''+''+++####@@@@@@@@@@@@@@@@@@@@@###++++++++++++#+++#######@@@@@@@@@@@########@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@+'#@#'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########@#######+';;;;;;;:;;;++###+':,:#@@###++';::,,,,,
;;;::;;;'''''''++++########@@@@@@@@@@@@@@@#####+++++''++++##++#+#####@@@@@@@@@@@@##########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+;+'::+@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@#################+'''';;;;;;;'++###+':,'#@###+';:::,,,,,
;;::::;;;''''''++''++#########@@@@@@@@@@@@#####++++++'+'++##+++++#####@@@@@@@@@@@##########@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++#;'''+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#################++'''';;;;;;;''####+;::+####+;::,,,,,,,
:::::;;;;'''+''''++'++#+#####@@@@@@@@@@@@######++++++''+++++++++########@@@@@@@@@###########@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@###@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@###@@@###########+++++''';'';;;'+####+;::'+##+;:,,,,,,,,
;;:;:;;;;'''+++++++'+++++#######@@@@@@@@@##@###++++++''++++++#+++#######@@@@@@@@@#############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@@#@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@####@@@##############+++++'''''';''+####+;:;'#+';:,,,,,,,,
;;;;:;;;;''''++++#+++++#+########@@@@@@@@#@@####+++'''''++++##++++++#####@@@@@@@@@############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@##########@@@##@@###########+++++''++''''+#####';:;+'';::::,,,::
;;;;;;;;''';'++++++++++++#########@@@@@@@@@########++'''''++###++++++####@@@@@@@@@##############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@##@############+++++''++++''++####+':;';'';:::,,,::
;;;;;;;;;;;'''+++####+++++########@@@@@@@@@########++''''''+####++++++####@@@@@@@@##############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########@@@@#@@############++++++++#+++'++#####+;:;'+';;;:,,,::
'';;'';;;;;;''+++++##++++++++#######@@@@@@@########+++'''''+###+####+#####@@@@@@@@@###########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######@@@@@@@@@@############++++#+++++++#####+'::'+''';:::,,:
'''''''';;'''''+++#########++#######@@@#@@@#@#######++++++''++++####+++###@@@@@@@@@@###@#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######@@@@@@@@@@##@###@######++++#+++++++######+;:;+++'':::,,:
;''''''';;';'''''+######+############@##@@@@@@######++++++'++++#####+++####@@@@@@@@@#######@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@@@@####@@@########+#######++++#####@#':;+##+';::,,:
'''''''''''''''''+++####################@@@@@@@#######+++++++++++###+++++###@@@@@@@@############@###@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################@@@@####################+##+++++######+;:;+##+'::,,:
'''''''''''''''''''++#################################+++++++'++++++++##++####@#@@@##################@@@@####@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@#####################################+######++++++#######':;+###';:,,:
''++'''+''''''''''''++##################################+++'++++++++++++++####@@@@@##################@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@######################################+#+##+++++++#####@#+;:'+##+'::,,
'''+'+'''''''''''''''+++##################@@@@@@###@######+++++++++++#########@@@@@@############@###@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@########@##@@@################++++++########+;;;+##';:,,
''''+++'++++++''''''''''++################@@@@@@@##@@##@@####+++++++##########@@@@@@@#############@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########@########@##@@@################+#++++#########';;'+#+;::,
''++++++++++++'++'''''''+++####################@@##@@#@@#####+++++++++++#######@@@@@################@@@@@@@@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@##############@@@@##########################+#++++#########+';'++#';:,
'''+'+++++++++++++''++++'''+++###################@@##@@#@####+++++++++#+#######@#@@@@#################@@@@########@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@##############@@##############################++++#########+';;'+#+';:
'''++++'++++++++++++++++'''''+++#################@@##@##########++++++++#++++++##@@@@@#############@@@@@@@@@@@@@#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@#############################################++++####@####+;:;'+#+;:
''+'+++++'++++++++++++++''+''''+++#####@##########@@#@@@########+++++++#++#++++###@@@@@@@#################@@####@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######################@@######################+#++##########+';;;'++';
''''+++++++++++++++++++++++''''''++###############@@##@############+++++#+##+++###@@@@@@@#######################@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######@@#########################################++##########+';:;;;;:
''+++++'+++++++#++++++++++''''''''''+#############@@##@#####@##@#######+###++#####@@@@@@@@#############@########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@#####@@@####@@@####################+++#########+'';:::::
''''''''++++++++++#++++'++++''''''''+++#+############@@@@###@@@@#@@#####+##++#####@@@@@@@@@@##########@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@@##@@@@####################+++##########+++';::::
'''';'''+++++++++++++++'++++'''''''''''++#############@@################+##########@@@@@@@@@@#################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######@@@@#@@@@@######@#@@@@####################+############++++':,:,
'''''''''''''''+++++++++++++''''''''''''++++++##########################+###++++####@@@@@@@@@##################@##@@@@########@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@##################################################+++++########+++++':,,
'''''''''''''''+++++++++++'+''''''''''''''++++++#+###############@###########+#+####@@@@############################################@@@@@@@@@@@@########@@@@@@@@@@###@####################################################++++#########++++++;:,
'''''''';;''';''++++++++'''+''''''''''''''''+++++++####+############################@@@@@@@@@@@@###############@@###@@###########@@@@@@@@@@@@@@@########@@@@@@@@@###############################@##########################+++##########++++++':
''';;;''';'''''''+''++'+'++'''''''''''''';'''++++++++++##++###########@#@####@#######@@@@@@@@@@@@##############@@@@##@##############@@@@@@@@@@@@@#@@###@@@@@@@@@#@@####@##@#################################################++##########++++###+
''';;'''';''''';'+''+''''+''''''''''';''';''''''+'+''++'++++++###########+#############@@@@@@@@@@################@@##@@##############@@@@@@@@@@@@#######@@@@@@@@@@#######@@##################################################+##########+++++###
';;;;;;;';''''''''''+++''''''''''';''''''''';''''''''''''+''''+++++#+++++++++###########@@@@@@@@@#################@##@@@#############@@@@@@@@@@@@########@@@@@@@@@#######@@@#############################################################++++###
';;;;;;;;;;;'''''''''''''''''''''';''''';;';;'''''''''''''''''''++++++++''++++++########@#@@@@@@@#################@##@@@#############@@@@@@@@@@@@########@@@@@@@@@########@@####@@@################@#####################################+++'+##
'';;;;;;;;;''''''''''''''''''''';''''''';;';;''''''''''''''''''''''++'++''+++++++++####@@@@@@@@@@@@##############@@@#@@@@############@@@@@@@@@@@@########@@@@@@@@@###@@####@##@@@@@#@##########################################+########++++'+##
+';;;;;;;;;;''''''''''''';'''''''''''';'''';;'''''''''';''''''''''''+'++''''+''''+#++##@@@@@@@@@@@@@#############@@@@@@#@@@@@#######@@@@@@@@@@@@@@#@@####@@@@@@@@@@#@@@@##@@@@@@####@@@@####################################++#+#########++++###
+';;;;;;;'''';'''+''''';''''';';'''''';;'';;;;;;''''''''''''''''''''+'++'+''+'''''+++###@@@@@@@@@@@@@@###########@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@####@@@#########@###########################+####+#######+++++##
++';''';;;;'''''++'''''''''';;''''';;''';';;';;;''''';'''''''''''''''''+''''+''++''+###@@@@@@@@@@@@@@@###########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@######@##@####@###########################+####+#####+#+'+++##
'+';''';;;''';'++++''''''''';;;;;;;;;;';;;;;;'''';'';;'';'''''''''''''''''''+''+++'+++###@@@@@@@@@@@@@@@##########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@@@@@@@@@@@@@@@@@@@@#@#@@@###@###@###@#@####@#########@###########++###########+++++##
'''''';;;;'''''+'++'''''';;'';;;;;;';;;;;;;;;;;;;;;';;'';'';'''''''''';''''+++++'''++++##@@#@@##@@@@@###############@@#@#@@##@@##@@@@@@@@@@@@@@@@@#########@##@@@@@##@@#@##@@#############################################+##++++########+++++##
'''''';;;;;'''''''''''''';;'';;;;;;;;;;;''';;';;;;'';;''''';'''''''''';'''''''''''''''++#########@@@@################################@####@@####@##########@###@@@########################################################+++++++######++++++++#
'''';'';;;;''''''''''''''';;;;;;;;;;;;;;;;;;;;;;';;';;;;;;;;'''';'''''';''''''''''''''+++####@#@#@@@@#####################################@@@#@@@@#########@@##@@#######################################################+++++++#+++##+#++#+++++#
';;'''';;;;'';;;;';;;'''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';';;;;'';''''''''''''''''''+'+#################################################@@@#@@@@@########@@##@########################################################+++++++++++++++++++++'++
';;''';;;;;';;;''';;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';'''''''''''''''''''''++#################################################################@###@######################################################+#+++++++++++++++++++++''+
';'+';;;;;;;;;;;'';;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;';;;';;;'';;;;;;;''''''''''''''''+++#############################################################+#####@@#######################################################+++++++++++++++''+'++++#
;;'+''''';;;'';;;;;;;;;'';;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;''''''''''''''''+++#######@@####################################################+#####@@#######@##############################################+#+++++++++#+++++++''++'+
''''''''';;'';;;;;;;''';;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;'';;''';''''''''++++#######@###################################################+#######@@#####################################################+++++++++''+++++++++++'++
;';;'''';;''';'';'';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;';;';;'''';;';'''''''''+++++###################+################################################@#####################################################+++++++++++++++++++++''+
';;;'+'''''';;''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''';;;;';;;;;;''';;''''''+++############++###++++##+########################################@#@@#####################################+##############++++++++++++++''++''+''++
;;;;'''''''';'''''';;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;'';;;'';;;'';;''''''''++##@##@@@###++####+++##++########################@##############@@@######################################++############+++++++++++'+''''++''+''++
';;;''''''''''';;'';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;'';;;;;;;;'';;''';;;'''''''+++################+++##++####################################@##@@@########################################+###########+++++++++'+'''''''+++''++'
';;;'+'''''';;;;;;';';;;;;;;;;;;;;:;;;;:;:;;;::::;;;;;;;;;;;;;;;;;;;;;;';';;;';;;';';;;''''';;'''+###############++++#+##+++###################################@#@@#######################################+#########+++++++++++++++'+++''++''++'
+;;;''';'';;;;;;;;';'';;;;;;;;;;;:::;;;;:::;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''';;'''++#########+++##++++###++++####################@################@@########################+############+#++#######+++++++++++++++++++++'+''''''
+''';'+'''';;';;;;;;'';;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;';;''''++#########++#+++++++##+++#############################++##@##@@@#################+###++++##++######+++#++######++++''+++++++'+'''+++'+'''''''
#';'';'+'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';'''+#####@#++++++++++++#++#+###########+#########@@#++#+++#@@####@########++++#++#+++++++++++++##+#+#++++++++####++++'''+''''''''+'''''+''''''+
#+''';''''';;;;;;;;;;;;;;;;;;;;;::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';'''++#######++++++++++++++++#++######################++++++###############+++'++++++++#+++++++++#+++#+++++++#####++++++++++++''''''''''+'''''''
#+;'''''';;';;;;;;;;;;;;;;;::;;::::::::::::::;;;;;;;:;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;;;;'''+++######+++++++++++++++###+##########++#########++++++#@#########+###++++++++++++++++++++#####+++''''++#####+++++++''++++''''''+''+'''''''
##';'''';;;';;;;;;;;;::::::::::::::::::::;;:::::;;;:::::;;;;::::;;;;;;;;;;;;;;;;;'';;;;;;'';;;;;;;;'''++######+++++''+++++++++++####++++##+++#########++'''+######@####+####+++++++++++'++++''++#++#+++''''''+####+++'++'''+''+''''''+'''''';'''
##';';''';;;;;;;;;;;;::::::::::::::::::::::::::::;;:::::::;;;;;:;:;;;;;:;:;;;;;;;;;;;;;;;'';;;;;;;'''''++#####+++++'''''++++++++++##++++++++++########++''++######@#####+###++'++++++++++''+'''++++++++'++++++###++++'+++''+'''''''''''''''';'''
##+';;''';;;;;;;;;:::::,:::::::::::::::::::::::::::::::::::;;;;;;:::;;:;::;;;;:;;;;:;;;;;;;;;;;;;;;;;'''++#####++++'''''++++++++++####++++++++########+++''+#####@@@####+#+#++++++++++++''''''''++++++++'''''+##++++++++''''''''''''''''''''''''
#@#'';;';;:;;;;;::::::,,:::::,::::,::::::::::::::::::::::::::::;;::;;;:;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''++####+++''''''''+++++++####+++++++#########+++''+#@###@@@##+++#++++++'+++++++''''''''++++++++'''''+##+++++'++'''''''''';''''';;''''''
###';;::;;;;;:::::::::::,,::,:::,,,,,,,::::::::::::::::::::;::::::::;;::;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;'''+#####++''''''''+'+++#+#++++++#++####+######+''++#####@#@@#+++###+#++'+++++++'''';;;''+++++++''''''++#+++''''+''''++''';'''''''''++''
###':::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::;;:::::::;;;:::;;::::;;;;;;;;;;;:;;;:;;;;;;;;;''++#####+''''''''''++##+++++++'++++##########+'+++#######@@#+'++###++++++++++''''''';;''+++++''++''+++#++'''''''+'''''''+''+'''+'''+''
###'::::;;::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::;:::::;;;;::;;;;;;::;;;:;;;;;;;;;;''+++###++'''';'''''++++++++++++++'+++++####++++++#@###@#@@#++++###+++'+++'+++''''';''''''''++++++++++++++''''''''''''''+'''''''''''''
##@'::;;;;;;;:::::::,,,,,,,,,,,,,,,,,,,,,,,::,:::::::::::::::::::::::::;::::::;;::::;;;;;;;:;;;;;;;;;;;;;;;;'++####++''';''''''+++#+++++++++'+++++####+++++++@@##@@@@#+++++##+++++++''++''''''''''''''+++'''''++++++''''''';;'';''''''''''++''''
##@':;;;;:::;:::::::::,,,,,,,,,,,,,,.,,,,,,,,,,:::::::::::::::::::::,::::::::::::::::;:;;;;;;;;;;;;;;;::;;;;''++####+''';;''''''++++++++++'+++''+++###+++++'+##+##@@@#++'''++++++++'+++'++'+++'''''++''''''''''++'''''''''';;''''''''''+'''+'+++
##@+;;;;::::;:::;::;;::,:,,,,,,,,,,...,.,,,,,::,::::::::::::::::::::,::::;::::::::::::;;;;;;:;;;;;;;;:::::;;;;'++####+'''';;''''''++++#+++''+'''++++##++++'++#@#######++''''+++++++''+'';+++++''+''''''''''''''''''''''''';;;'''+++''''''+'''''+
##@#+;;;;;;:;;;::::;:::::,,,,,,,,,,.....,,,,,::,::::::::::::::::::::::::::::::::::;::::;;:;;:;;;;;;;;:::::::;;;''+###+'''';;''''''++++###++++''+++'+#++''''''#####@###'''''''+##++++++'';'++++''''''''''''''';;'''++'''''';;;'''''''''''++''''''
###@+';;;;;:::;;:::::::::,,,,,,,,,,,,...,,,,,,,,,:::::,:,:::::::::::::::::::::::::::::::;:;;;;;;;;;;:::::::::;;;'++###+''';;;''''''++###+++++''''''+#+'''''''#@###@#@#''''''++##+++++'''''++++'''''';;''''''';;'+'''''''''''''';'''''''+++''++'+
###@#';;:;;:;::::;:;;::::::,,,,,,,,,,.....,,,,,,,:,:,:,::::::::,::::::::::::::::::::::::::::;;;;;;;;::::::::::;;;'+++#++''';;;''''''+####+++'''''''+#+'''''''#####@###''+'''++#++++++''+';'''''''''';;';''''''''''++''+''''';;;;;''';;''++++''''
#@###'::::;;;;:::;;:;;::::::::,,,,,,,,,.......,,,,,,,,,,,::::::::::,::::::::::::::::::::::::;;::;;;;:::::::::::;;;''+#++'''';;;;;'''++++#+++''''''++++''';;;'#@#+#@###''+''++##+++++'''''''';;;;'+'';'';''''''''''''''''''''''';''''''+''++++++'
#@#@@':::::;;;;;::::;;::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::::::::::::::::::::::::::::::;:;;;;;::::::::::::;;''+++++'';;;;;''''''++#+++'';'''++++';';;;;+@#+#####+'+++++++'+++'''''''';;;;;'''';'''''''''''''''''''''';;''''''''+++'++'+++'
#@#@@+;:;;;;;;;;;;;::;:::::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,::::::::::::::::::::::::::::::;;;;;;::::::::::::;;''+++++'';;;;;;''''++++++''''+'+'++'';;;;:'@#+#####+'++++#++'++++''''''';;;;;'''+''''''''''''''''''''';;;;;''';';'''++++''+++
####@+;;;;;;;;;;;::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::;;:;;;:::::::::::::;;;''+++++'';;;;;;'''++++#+''''''++++';;;;;;'##+#####+'''++++++'+++'''';''''';;;'''''''''''''''''''++'';;;;';;;'''''+'+++''''''
###@@#';:::;;;::::::::::::::::::::::::,:,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::;;;:::::::::::::::;;'''++++';;;;;;''''+++#++'';'''''+';;;;';'##+####@#'''''+''''''''''''''';;;;'+'''''''''''''''''+++''';;''';';'''++''''++'++'
######;::::;';;;:;;:::::;;::::::::::::,:,,,,,,,,,,,,,,,,,,,,,,,:,,:::::::::::,:::::::::::::::::::;;;;::::::::,,:,,::;;''''''';;;;;;'''''''+++''''''+''';;;;;;'##+####@#''''''''''''''''''''';;;;'''''''''''''''''''''''';;;'''';;''''''''+++'++'
######':,::;;;;;:;::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::;;;::::,,:,::,::::;;'''''';;;;;;;;'''''+++'''''''''';;;;;;'+#+######''''';''''';'''''';;;;;;;;;''''+''''''';;''''';'';;''''';'''''''''++'''+'
###@@@':::::;;;;;;::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,:,,::,,,:,::::::,:::::::::::::::::::;;::::::,::::,:::::;;;'''';;';;;;;;;'''''+++';';;'+';;'''''##+######''''';;''''''''';;;;;;;;;;;';;'''';;''';;;;;'';;';''';;''';'''''''++''++'
#++#+#',,:::::::;::::,,::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,:::::::::::::::::::::;;:::::,,,:,,,,,:::::;;''''';;;;;;;;;';'';;''''';''';;;;;;'+#++#####+''';';''';'''';;;:;;;;;::;;;;;'';;;''';;;;;;;;;;;';''';''''''+''''+;;'''
#++++#':::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::::::::,:,,::::::,::::::::::::;::::,,,::,
Please note that the green stripes you see here is NOT a part of the image itself. Unfortunately, this is how this theme renders the image as a result of the needed <pre></pre> tags. And oh, the portrait that you do see here is not an image!!! Just try to select the picture or drag the mouse over it – and see for yourself!
You know, lately I have been itching to try out artistic expressions I never tried before. I rather like techhappens’ ascii generator. Maybe it is a good way for an artist to disseminate images online. Just think about it! Less loading time is always a plus point! Besides not all browsers display images! If someone likes the image, the artist can always strike a deal about the real image!
Ok, let’s get back to even more ascii generators!
Image to HTML/ascii converter
Great fun! Upload an image from your computer or paste an image url. And all the colours retain also if you choose colour instead of plain text ascii!
Ascii generator from typorganism – for portraits
This also rocks – but only for faces. Morever you have to upload an offline image of an exact dimension – only a jpeg of 60*50 (w=60 pixels and h=50 pixels) will work! But I must say, despite the limitations (or is it because of them?) the result is impressive!
Colour HTML art generator from Degraeve
Yes yes, what the heading says is absolutely true! You can get colour HTML art here! Of course, the online image you upload has to have colour in it in the first place!
Cut and paste ASCII text generator at javascriptkit
Not too many complicated. Write some text and turn it into a logo choosing from only three available fonts; which are futuristic, block and wire.
ASCII signature generator from Kammerl
Well, although I haven’t mentioned it before, ascii art is used as a fancy way to use signatures in emails, forums etc. And here is yet another generator where you can generate ascii art from text! Some extra parameters are available here, such as: Smushing/Kerning/Full width/overlapped.
Lonster’s Figlet server
Like the above generator at Kammerl. 145 available fonts. You can also write German characters there!
***
ASCII text banner generator from asciiset
Generate large letters out of ordinary text – 237 fonts to choose from!
Convert ordinary text into ascii image or art in azkey
Write some text and turn it into an ascii image or text! Now, if I only knew of this earlier, I wouldn’t have to take a screenshot of my blog title!

Can you guess what is written in the image? The answer will be provided at the bottom of this post!
***
Time for something quite useful
Do you use the mailto: tag to invite your readers to send you a mail? It is well-known that emails sent this way can easily be read spambots. But what if I tell you that there might be a way to bypass it?
Try the Mask email ascii generator!
Note: WordPress.com bloggers don’t really need it, as we have our own trusty “email me” form!
***
Now it’s time for some really crazy stuff!
I am warning you, this is gonna be crazy! If you are adventurous enough, well then, carry on!
ascii stereomovie generator from Kammerl
The numbers go all crazy here! Absolutely beyond definition!
Crazy crazy website
I AM WARNING YOU VERY EARNESTLY INDEED. It is an absolutely crazy website. View at your own risk!
***
Check out the link resources at ascii-world.wikidot and penceland .They have quite a collection there!
Ok, that’s it for now! As for the answer to my image quiz, I had written I LUV ASCII!
***
Tell a friend!

How to figure out the url of a comment in a wordpress.com blog
16 11 2007SOMETIMES certain comments just beg to be referenced for their sheer brilliance, sincerity or some other reason. However the comment url of a wordpress.com blog is not always obvious.
Some themes contain the hyperlink to a comment url right at the bottom of the designated comment box. For example, Pool themes have this feature (a # under the comment links to the comment url).
On the other hand, my blog’s theme (Freshy) doesn’t have it. The only comments that have their own readymade url’s in my blog are those that appear in the Recent Comments widget in the sidebar.
Here’s how you can figure out the url of any comment in your wordpress.com blog yourself.
1. Log in to your blog.
2. View your blog.
3. Click the permalink of the post which contains the desired comment.
4. Right-click the edit button of the comment and save the link in a Notepad file.
5. Notice carefully that at the very end there is the comment number! This is the secret to configuring the url of that comment!
6. Copy the permalink of the post in a Notepad file and write #comment- after the permalink.
7. Now insert the comment number ONLY (see point no. 5) after #comment- .
The whole thing should look like this together
And you are done!
That was easy, wasn’t it!
Question
I want the figure out the url of a comment in another blog. How can I figure out the number?
Answer
If the comment url is not readily available (either via the comment box for that comment or the Recent comments widget), then I’m afraid the only way left is to ask the blog owner to supply you with the comment url as gotten by clicking the Edit link for that comment.
Comments : 9 Comments »
Categories : blogger's handbook, blogging, blogging tips, comment url, comments, content sharing, knowledge, link, wordpress, wordpress tips