This little feature can be a lot of fun and will have people looking at your art, wondering, how did you do that? Of course, you can tell 'em that you did it all meticulously by hand, but the real process need only take you five minutes. This is based on ASCII art, but without the tedium that it entails.
A couple things that you'll need to get started:
1) A graphics editor. My personal favorite by far is Photoshop, but take your pick. It just needs to be able to handle simple funcions like resizing and converting to gif. This wu will only work with gifs.
2) Some sort of web space. Basically you'll need something that can be accessed by a URL. This is where you will store the image first.
3) The picture you want to convert to ASCII art. Maybe this is a picture of you or that little bundle of joy that you are so proud of that you have to show it to all your friends. That's right, your chihuahua, Grub. If you don't have an image yet that you like, go to Google and do an image search.
Alright, now to get to imaging.
* Go to http://www.degraeve.com/gif2txt.shtml to access the program Gif2Txt. You'll notice the first parameter is the URL of the gif to convert. See #3.
* The next parameter is the 'character output'. Set this to maximum (250). It'll come out way to big for anything useful, but don't worry, well take care of that later.
* Skip 'characters to use' and 'background color' as these are only useful for html, and we're sticking with plain text - pretty much.
* Set the 'text size' to xxsmall, leave the mode on 'ASCII' and then hit 'Textify!'
If you've done everything correctly it will output your image with a pretty impressive resolution. Now, to make what you see show up all nice and pretty, open up the source html of the displayed page. In IE, this can be accessed by going to View/Source. Select everything inbetween the 'pre' tags and copy it, which is most easily accomplished by hitting Ctrl-C (PC). Go to a text or html editor and paste that text in there (Ctrl-V). Now, remember how this thing is going to be way too big? Add about three or four 'small' tags right after the opening 'pre' tag - do clean html, remember to close it! If all goes well, you should have a pretty decent ASCII representation of the image like the one of sweet Norah below.
.:ijjffLLLLGGLLLLLLLLLLLLLLLLLLLLLLLLLffffffffffffffffffjjjjjjjjjjjjjjjjjjtjjttttttttttttiiiiiiiiiiiiiiiiiiii;;ii;iiiiiiiiiiiiiiiiiiiiiiiiiiiittttttttttttttjjjjjjjjjjjjjjjjjjjffffffffffffffffffffLLLLLLLLLLLLLLLLLLLLLLGLGGGLLGGLLLfti:.
.tjfLGDEKKKKKKKKKKKKKKKEEEEEEEEEEEEEEEDDDDDDDDDDDDDGGGGGGGGGGGGGGLLLLLLLLLLfLLffffffffffffjjjjjjjjjjjtttttttttttttttttttttttttttttttttttjjjjjjjjjfffffffffffLLLLLLLLLLGGGLGGGGGGGGGGGGGGDDDDDDDDDDDDEEEEEEEEEEEEEEEEKKKKKKKKKKKKKKKKKKKEDf,:
;ifLDEKWKEDDGGGGGGGGGGGGGGGGGGGGGGGGLLLLLGLLLLLLLLLLLLLLLLLLLLLLLLfffffffffffffffffffffffffffjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjfjjjfffffffffffffffffffffLfffLLfLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLGGGGGGGGGGGGGGGGGGGGGGGGGGGGDEKKKWWKfi..
tjGDKWKGLjjjtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttjjjttffLLGGGGGLLLLLLLGGGGGGGGLLLffLGGGGLGGGGGGGGGLLGGGGGGGGGGGGGGGGGGGGGGGGDDGGGGGLLLLfLLLLGGGGGGGGGGGGGGGGGGGDDDDDGGGGGGGGGGfjtjjttttttttttttttttttttjjfDEKWWEL:..
jfEKKKDjtfffjjjjjjjjjjjjjjjtttttttttttttttttttttttttttttttttttttttttttttttjjjjjjfGEKKKKKKKKEEKKEEKKKKKKKKKEDDGGEKWKKKWWWWWWKKKKWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWKEGGDEEEKKWWWKKKKKWWKKKKWWWWWWWWWWWWWWWWWWKEGjtjjjjtttttttttttttttttttjfGKKWKDi,.
jLKKWELjjjti;;;;;,,,,,,,,,,,,,;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;,;;itjjtjfGDEEEEKKKKKEDDDDDDKKGGDKEEEGGDGGEKKEEKKKKEEEEKKKKWWWWWWWWWWWWWWWWWWWWWWWWWWWKKEEDDfttfLEEDEKKEEKKKEEDDEEEEEEEEKKKKKKKKWWKKWKEfi;ii,;;,,,,,,,,,,,,,,,,;;jfDKWKEj;:..
jLKKKELjji;,,,:::::::::::::::::::::::::::::::::::.:.:::::.:...:::::::,;ittjtjGDEEEDDEKKKEKEGGDDDEEEGGEEEEDGDEGDEEEEEEKKKKKKKKKWWWKKKWWWWWWWWWWWWWWWWWWWWWWKKKEDLLLjiijDDGEKKEKKKKEDDDDDEEEDDDDEEDGLGDKKKKKKKGt;;;::::::::..........::,tjDEKKEj;,:.
jLKKKELtt;,,::......................................................:ttt;;;ifDDGGEKKKKKKKEDLGDDDDDDGDEEEDDDDDGDEEEDEEKKKKWKKKKWKKKWKKKKKKKKKKKWWWKKWWKWWWKKKKKEDGftt;ijGDEKKKKKKKEEEEDEEEEDEEEDDfjtitLDKKKKKDft,,,...................:ijGEKKEji,:.
jLKKKELti;,,:::::.............::................................:..,ijtti;ifDGLGDEKKKKKKKKDGDEDGGGGDEKKEDDDGGDEEEEEEEEEKKWKKKKKKKKWKKEEEEEEEEEKKKKKKKKKKKKKKKKKKKEGLtiiLGEKKKKKKEEEEEEEEKKEKKKDGjii;;ijDKKKEEDLi;,:...................ijGDKKEji,:.
jLKKKELiii;,:::::.......::::::..................................:..;tttjiifGEDDEEKKKKKKKKKKEEEDGLGDEKKKEEEDGGDEEEEEEEEEEKKKKKKKKKWWKEEEEDGGDDDDDDDEEEKKKKKKKKKKKKKEEDGttfEKKKKKKEEEEEKKKKKKKKKEGti;;;,;fKKKEEEEft,:...................ijGDKKEji,:.
jLKKKELtti;,:::::::.....:::::.....................................;ttiiifGEEEKKKKKKKKKKKKKKKEEDGGDEKKKKEDDGGGDEEDDDEEEEEEEEKKKKWWKKKEDLLfjjjjttttttjjjfffLLLLLLLLGGLLLLjjGEEEKEEEEEEEEKKKKKKKKKEft;;;itGKKEEEEEEGt:...................ijLDKKEji,:.
jLEKKDLtti;,,:::::::.::::::.....................................:,tjjiifDEKKKEEKKKKKKKKWWKKKEEEEEKKKKKEDDDEEEDDDDDEEKKKEEDEEKKWWWKKELjttii;;;,,,,,,,,,,,,,,,,,,;;;iittfffGDEEEEEKKEEEEKKKKKKEDDDGftitfGEEEEEEEEKEL;,..................ijGDKKEji,:.
jLEKKDLtti;,,,::::::.::.........................................:,itttfGEKKKEDEKKKKKKKKWWKKKEEEEEEEKKKEDDDEEEDDGDEKKKWKEDDEKKKKKEEELti;;;,,:::::::::::::::::::::::,,,;tffLGDDEKKKKKKKKKKKKKEDLjjffjjjLGEGGEKEEEKKELt,:................ijLDEKEji,:.
jLEEKDLtt;;,,:::::::............................................:,i;ifGEKKKEDDEKKKKKKKKKWWKKEEEDGDEKKKEEEEKEEDDGDEKKKKKEDGDEEEDGGLLji;,:::::::.................::::::,;tjffLGDEKKKKKKKKKKKELftiiiifLLDDEDDEKEEEKKEDGt;:...............ijLDEKEji,:.
jLEEKDLtti;,,:::::::............................................;i;;iLGKKEEDGDEEEEEKKKKKWKKEEEDDGDEKKKKEKKKKKEDDDDEKKEDGLfjjjfjjtii;,,:::::::....................:::::,iitiitjLGDEKKKKKKWKDfji;;;,iLDKKKKKKKEKKKKEDDLfi:..............ijLDEKEji,:.
jLEEKDLtti;,,,:::::.............................................;iitjGEEDDGGDEEDDDEEDEEEEEEEKKKELGDKWKKKKKKKKEEEEEEEELfii;,,,,,,,,,::::::::...................::::::::,,,,,,;;iitfLEEKKKWWEfti;,,,:;tDEEKKKKKKKEEEDDGfj,:............:ijLDEKEji,:.
jLEEKDLtti;,,,:::::.............................................;tLLLDEEDDEEKEDDDEDDGGDEEEEEKWKEDDEKKKKKWKKKKDEEEEEEGti;;,,,,,:,:::::::::.....................:::::::::::,,,,,;;itjGDKKKKKKGf;;,,,,:,LEKKKKKKKKEDDDEDGj;,............:ijLDEEEji,:.
jLEEEDLtti;,,::::::.......................................::,:,,jfGGDEEKKKKKKEEEEEDDGLDEKEDEKKKKKKKKKKEKWWKKEDDEEEDDfii;,,,,,,:::::::::::......................::::::::::,,,,,,;iitLDKWKEEEDLi;;,,,;iDKKKKKKKKKEDDDDDGft;............:ijLGEEDji,:.
jLDEEDLtti;,,::::::.:..................................:;iittfLGDDDEKKKKKKKEEEEKKEDGLLEEEEEEKKKKKKKKEEKKWWKKKDDEEEEDfii,:,,,::::::::::::::::::......:::::::::..::::::::::,,,,,;;iitGDKKEGGGLftiiiitGEKKKKKKKKKKEDEDDDGLji:............ijLGEEDji,:.
jfDEEDLtt;;,::::::::::..............................::;;;itjLDDDGDDEEEEEEEEEKKKEEEGfjfGEEEEKKKWKKKKKEKKKKKWKKDDEKKKEfii,,,,,,,,::::::::::::.:::::::::::::::::::::::::::,,,,,,,;;;tfDEKEDLLLfjttjfLDKKKKKKKKKKKKEEEDDGGLft,:...........ijLGDEDji,:.
jfDEEDLit;;,:::::::...........................:::...,;;;itjGDEDDDDDEEKEKKKKKKKKEEGLLLLDEEEEKKKKKKKKKKKKKWWWWKDDEKKWKf;;;,:::::::::::::::::::::::::::::::::::::::::::::::,,,;;;;;tfGEKKGLfffjjjLLDEKKKKKKKKKWKKKKKEEGjtffji,..........:ijLGDEDji,:.
jfDDEDLtti;,:::::::::::.:::......................::,tjtttLGDDDEEDDDEEKKKKKKEKKEDGGDDDEEEEEEKKKKKEKKKEKWWWKKKKDDEKKKKDi;;;::::::::::::::.::::....::::::::::::::::::,,,,,,,,,;iiitfGDKKDLfjjjjfLDDDDKKKKKKKKKKKKKKKEEGjt;itti,.........:ijLGDEDji,:.
jfDDEDLtti;,,::::::::::::::::..::..::...::,,,iittjjLDDGGDDDEEEEDGGDEEEEEEEEDEEDGGDEEEEEEEEEEKKKEEEEEEEWWWWKKKEDDKKKWEji,,,:::::::::..::::.........::::::::::::::::,,,,,,,;;;iitjLEEKEGffffffLDEDGGKWKKKKKKKKKKKKKKDLjft,,ii,:........:ijLGDEDji,:.
jfDDDDLtti;,,:::::::::::::::::.::::..:,;iijffffLLGGDEEDDEEEEEEDGDDEEEEEEEEDDEDGLGEEEEEEEEDDEKKEEEEEEEEKWWKEEEKKEKKWWKLt:,,:::::::::::::::::..:::..::::::::::::::::,,,,,;;;;iitjfGKKEDLjjffLLGDDDDEKWKKKKKKKKKKKKKELt;itiiii;::.......:ijLGDEDji,:.
jfDDDDLtti;,,::::::::::::::::::::::.:;ii;ijjtfLDDDGGDEDDDEEDDDDDEEKKKKKKEEEEEEDDEKEEEEEEEEEEKEEEEEEDDDKEDGDKKKKKKWWWWDLii;;;;;;,,::::::::::::::::::::::::::::::,,,:,,,,;;;;ittjfDKKEGjjfLGDEDLffDEKKKKKKKKKKKKKKKDfji;,,;tti::.......:ijfGDDDji,:.
jfGGDGLtti;;,,,:,:::,:::::::::::::.:,ttitjLGDEEGGGGDEEEEEEEDDEEEEEEKKKKKKEEEKKKKKKKKKKKKKKKKKEEEEEEDGDDGGDKWKWKWWWWWWKELji;;;;;ittji;;,,::::::::::::::::::::::::::::::,,,;;itjfLEKEGLfGDKKWKEfiifGKKKEKKKKKKKKKKKDfi,,;:.,;t;:........ijfLGDDji,:.
jfGGDGLtti;,,,,,::::::::::::::,:,::,ifjjLDEDGGDDEEEEEEEEEEEDDEKKKKKKWWWWKKKKKWWKKKKKKKKKKKKKKEEEEEEDGGDDEKEEKWWWKKWWWKELLjii;;,,;tjfLLfji;;,,,,,,,::::::::::,,,::::::,,,;;;itjLGKEDLLGEKKWWEDt;;fDKDDEKKKKKKKKKEEEfi::;,::;j;:.......:ijfLGDGji,:.
jfGGDGftti;,,,,,,::,:::::::,,,,,,,;jfffLDDDGjjLDEKKKKKEEEEEDDEKKKKKWWWWWWWWWKEEEEEEKKKKKKKEEKKEEEKEEDDDDEEEEEWWWWWWWKGLLLfjjtti;;iitfLGDDGLfji;;;;;,,,,,,,,,,,,,::,,,,;;;iitjfDEEDGLGEKKWWKEGi,;LDEDDEEKKKKKKKKEEDfi:::::;tt:........:ijfLGDGji,:.
jfGGDGLtti;,,,,,,:,,,,,:,,,,,,;tjjLGDGGEDDGGGGDEEEKKKKKKKEEEEKKKKKWKKKKKWKKKEDDEEKKKKKKKKKKEEEEEKKEEEEDDEEDEEWWWKKWWGtijLfttttttiittttjfGDDDGGfjtii;;;;,;;;;,,,,,,;;;iiiitjfLGEEEDDDEKKKKWKDf;,;LDEEDDEKKWKKKKKEEEGj,,::,jf;.........:ijfLGDGji,:.
jfGGDGLjjtii;,,,,,,,,,,,,,,;ijjLDEEEEDDEEEDDEEEEKEEKKKKKKEEKKKEEEKKKKKKKKWWKEGDEKKKEKKKWWKEDGGLLDKKKKEDDEEEEEKWWWWWEt,,ijGft;;;iittttttjfffLLLLLffjiiii;;;;;;;;;;iiiittjjfLLDEKKEEEEKKKKKKKGj,,;jLEEEEEEKWKKKKKEEEDL;,::;ff:.........:ijfLGDGji;:.
jjLGDGLttii;;;iii,,,;;iitjfGGGDDDDGLGDEKEEEDDDDGGEEEKKWWKEEEEEDDEEKKKWWKKKKEGGEKEEEEEKWKKKKEDDDDDKWKKDDDEEEEEKKWWWGj,:::,tGDLfiiiiitttjjffLLfLLfffjttiiittiiiitjjjfLGGGDDEEKKKEEEEEEEEEEEEEEDt::ijGEEKKKKKKKKKKEEDEDfi:;tj;..........:ijffGGGji,:.
jjLGGGLjjtii,;;tjtiitttjffLLGDDEEDGDDEEEEDGGGGGLLDDEKKKKKKEEEEEEDDEKEKKKKKEDGDEEDEEEEEKKKKKEDDGGDKWKEDDDEEDEKKWKDLi,.::::,ijDDGfjtjjtjfLLLLffjjjtttii;iiitjjfLLGGDEEEEEEEEEEEEEEEDDGGGDDEDDDDGjtjfLGDKKKKKKKKKKEEDGDDGifLt:..........:tjffGGGji,:.
jjLLGGLjfjtttttfLGLLLLfffLLGGEEEEEEEEEEEEDGGGLLGGGGGGGDEEEEKKKEDGLDEEGGGGDEEDEEDDEEEEKKKKKKEDDGGDKWKEDDDEEEEDGft;;:::::::::,itGDDGGGGGLfjttiiii;;;,,,,,;ijGDEEEDDDDDDDDDDEEEEEEEDGLLffLLGGGGGGGGGGffGKKKKKKKEDDDDEGLLGLGf;::.........:tjffLGGti,:.
jjLLGGLjjtttjjjjfGGfjjffLDDDDDDGLLffLEKDEEEEDDDDDGGLfjjfGEDDDDEEDDKKEGLfLLDDDEEEEEEEKKKKKKKKDGGDKKKKEEDEEEEDfi;,,,::..:...:::,;itjjti;;,,;;;;;,,:::::::;fGKKKDDGGGGGGGDDDEKKEEDDGGLLffffLLLLLLLLGGLDEKEEEEEKDftfLDDGDEELt::,::.......:tjffLGGti,:.
jjfLGGLjjtiitjjfffjitjffGGLfjjjjtttttGDftjGDEEEEEEEEEEDGDEEDDDEEKKEDDEEEEEKKEEEEEEEKKKKKKKKKDGDEKKKEKEEEEEEDGti;,,::......::::::,,:::::::::::::::::::::iGDEEKKEDGLLLGGDEKEEEEEDGLLffjjjjjjfffffffLDEKKEEDGDDLi;tfGEEEEELt,,,,,:......:tjffLGGti,:.
jjfLGGLffjjjLGLfffLffLGLt;;,,;tfGGKEDGGfLLGGftittjjjjjffffLGDKKKKWKEDDDEKKKKKEEKKKKKKKKKKKKKKKKKKEEEEKEKKEDGGDGt,:::::....::....::::::..:::::.......:::tLLLLLGDEKKEEKKKEDDEEDDGLffjtttttttttjjjjjjfGDKKDGDGLjjjjfDDEEDLGLi;;;;,,:,,,:,tjffLGLti,:.
jjffGGLLLffffffffGGGLft;,;;itLDDGLjti;;:,;ii;,,;,,,,,,,,,,;itjfLDEKKKKKKKKKKWKKKKKKKKKWKKWWKWKKKKEEEEEEEKKELLGDDi,:::::..::::....:.::::...............:tffjjjjfLGDEEEEDGGDEEGGLfjjtiiiiiiiitttttjjjfLDEDGGGLjfLDDDDEDLfGDfjitt;;,;;,,,tfffLLLti,:.
tjfLGGLGGDLjttfLLGLji;,,ijfLLti;::::::::::::::::::::::,:::::::::;ifDDEEEEEKKKKKKKKKKEKWKKKKWKKKKKEDEEEEEKKKGLLLGLj,:::::::::::::::::::::::...........:;jffttiittjjjfLffLGDEDGLfjtttiiiiiiiiiiittttjjfGGDGGDGfLGEEGDGjitfLLLGLj;;;,,,,;tffffLLti,:.
tjffLGGGGDGLttfGGft;,;tjfjt;,::::::::::::::::::::::::::::::::::::::,;LDKKKKKKKKKKKKKKKWWKKKWKKKKKEEEEEEEEKKDGLLffft;:::::::::::::::,,:::::...........,iLfjiiiiiiiiiitjjLGKKEGLfjtii;;;;;;;;iiiittttjjfLGGDDDGDEEEDLf;;ijfffGGLi;;;,,,;jffffLLti,:.
tjffLGLLGGGGGGGLji;ijffj;:::::::::::::::::::::::::.:::::::::::::,,,,,,;GKWKKKKKKKKKKKKKKKKKKKEKKEEEEEEEEEKKKEDGLjjfj,,,,::::,,,,,,,,,::.:::.........:ijLjtiiiii;iiiittfDEEGLGLfjtii;;;;;;;;iiiiiiitttjjLGDEEEEEEEDjiiiitjfLGfffji;;;;;jffffLLti,:.
jjffLGGDDLjjffftttti,:...:::::::::::::::::::.........:.....::::::::,,,,;fDWWKKKKEEKWWWKKKKKKKKKKKKKKKKEDGDEKKKKDGGDGi;;;;;;;;;;,,,,,::...::.........:ijLftii;;;;iiiijjGWWELtGDLjtii;;;;;;;;;;;;;iiiitttjLGDDEEKKELjtiiitjfffLfLLjii;;;jffjfLLti,:.
jjjfLGGDGffji;::::.:::::::::::::::..:::::::...................::::::,,,;;tDKWKKKEDKKWKKKKKKKEEKKKKWKKKDGLGEEEKKKEEEDjiiii;;;,,,::.::::...::::......::,ijjttiiiiiiittfGKWWKKEEKGLtiii;;;;;;;;;;;;;;iiiitjfLGDEKKKELtttttjjtttttjffi;;;;jffjfLLti,:.
ttjfLGGGGfti,:::::::::..::::::::....:::::::........................::::,,,jGKKKEDGEEKKKKKKKEKEKKKKWKKKEDDDEEEEKKKKEGtiii;;,,,::::..:iti;:.:::::...:::;ittttttiittjfLEKWWWWKKKWEDftiii;;;;;;;;;;;;;;iiiitjfGGDEKKKDLffftiiiiiiitjfi;;;;jfjjjLLti,:.
ttjjLGGLLji,::::::::...............::::::::...........................::::,tDKKEEGDEEKKKKEEEKKKKKKKWWKKKKKEDDDEKKKDLiiiiii,,:::::::.,ifLfti,::::::::,tjjttttttjjjLDEWWKWWWKKWWWKGjtii;;;;;,,,,,;;;;;iiiijjLLDEEKKKEEGLtttiiiiitjj;;;;;jfjjjffti,:.
tttjLLLfft;,:.....................:::::::::.............................::::;LGKEGDDEEKEEEEEDDEKKKKKKWKKKKKDDDEKKEGfttjfft;,,:::::::::;ifLLfti;,,:,;tGGftttjfffLGEWWWWWWWKEKWWKWELftii;;;;;,,,,,;;;;;;iitjffGDEKKKKKKEGLfjttitfft;;;;;jfjjjffti,:.
jttjfLLjj;,::.....................::::::..................................::::,tjLDDEEEEEGGGGDKKKEKKKKWWKKKEEEEEEDLfjffLLGGLi;:::::::::,;jfDDDGLLGDEEDGftttjLGDKWWWWWWWWKEEKWWWWWDGfji;;;;;,,,,,,,,,;;;;iijfLGDDEEDGGDDDDDDEDGfj;;;;;ijfjjjffti,:.
tttjfLfti,:::....::::::.:.......::::::::....................................:::::;jLDDDGGDGGDEEEDEEEEKKKKKKKKKKEEEGLjttiiijfLLji;,,:::::,itLLDEEKKKEEDDGfjfLDKKWWWWWWWKEEKWWWKWWWKELftii;;;;;,,,,,,,,,,;;ittfLGDDDGGGLLGDKKEKKLj;;;;;;jfjtjffti,:.
tttjffjti;,::..::::::::::...:....:::::::......................................:::::,tfLGDDDGDDDDDKKKKKKKKKKKKWKEEDGftii;;;;ijjfffffttiiiiiitjfDDEEEEEEDGLLGDKWWWWWWWKKDEEWWWWWWWWWKDGjti;;;;;;,,,,,,,,,,;;iijfLGGGGGDGGGGEEEDEGf;;;;;;jfjtjffti,:.
ttttffjti;,:..::::::::::::...:...:::::::::.....................................:...:.:iLGEEDGGDDKKKKKKWWKKKKKKKKEDLjiii;;;;itjjtittjfLLLGLLLGDEEEKKKEDGLGDKWWWWWWWWKEDEWWWWWWWWWWWWKELttii;;;,,,,,,,:,,,,;;itffGGGGGGGDGGGGGGGGfiii;,;jfjttffti,:.
ttttjfjti;,:::::::::::::::.:::.:::::::::::.........................................::::,;LGDGDEEEEKWKKKKKKKWWKWKEDfjiii;;;iiiiffjt;,;ijfLGGGGEEEKKKEDDDEKWWWWWWWWWKKKKWWWWWWWWKKWWWWKDfjtiii;,,,,,,::::,,,;;itjLLGGGGGGLLffLLLLfii;,,;jfjttffti,:.
ttitjfjti;,::::::::::::::::::::::::::::::::::.......................................:::::,,jDKEEEKKEEEEEKKKKWWWWKDfjtii;;;;iiijLLLLjtttttttjfLDDEEDDEKWWWWWWWWWWWWWWWWWWWWWWKKKKKKWWWKDLjtii;;,,,,:::::,,,;;ittjfLGGGGLLLffLGDLfi;,,,;jfjttffti,:.
ttitjfjtt;,::::::::::::::::::::::::::::::::::::........................................::::.:;LDKKEEEEEEKKKKKWWKKKEGjiii;;;;;;ijjLGGDDDGGLGGDEEEDDEWWWWWWWWWWWWWWWWWWWWWWWWWWWKKKKKKKWWKGftii;;;;;,,::::,,,,;iitjfLLLLfffLGEEDGfi;;;,,jfjttjfti,:.
ttitjfjtt;,:::::::::::::::::::::::,,,::::::::::::.........................................:::::,LKKEEEEEKKKKWWWKKWKELtii;;;;,,,,;itjLLGGDEEEEDDDEKWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWKKKKKKWWEDftii;;;;,,,,::,,,,,;ittffffffffLDKDDGLt;;,,;jfjttjfti,:.
tiiijfjtt;,,::::::::::::::::::::::,,,,,:::::::::::::::......................................::..:tLKKEEEEEKWWKKKKKWWEGfti;,;,,,,,;;;iitjfLLGGDEEWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWKKKWKKWWKGjti;;;;,,,,,:,,,,,;;itjLLffjffGDKEEDLj;;;;;jfjtijfti,:.
tiiijfjtt;,,::::::::::::::::::,,,,,,,,,,::::::::::::::............................................:tLEEEDDEKKKKWWWWWWKELfi;;,,;;;;;;iiiitjfGDEWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWKWKKWKKKWWKGfti;;;;,,,,,:,,,,,;iijfffjjjfGEKEEDGjiiiiiffjtijjti,:.
ti;ijfjtt;,,:::::::::::::::,,,,,,,,,,,,,,,:::::::::::::.........................................:::::tDEDDEKKWKWWWWWWWWKEGjt;;;;;iiiiiiitLGEKWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWKKKKKKKKWWEDjii;;;,,,,:,,,:,,,;itjjjjjjjLDKKKEDfiiiiiLLjtijjti;:.
ti;ijjjtt;,,::::::::::::::,,,,,,,,;;,,,,,,,,:::::::::::::..........................................::.:iGEWWKWKKWWWWWWWWWWWKEDLffffffLGDKWWWWWWWWWWWWWWWWWWWWWWWWWWKKKWWWWWWWWWWKKKEKKKKKKWWKDfti;;;,,,,,,:::,,;;tttttjjjfLEKEEDj;,::,fLjtijjti;:.
ti;ijjjtt;,,::::::::::::::,,,,,,,;;;;,,,,,,,::::::::::::::::.........................................::.,tEWWKKKKKKWWWWWWWWWWWWKKKKKKWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWKKKWWKWWWWWWKKEEEKKKKKKWWKGLti;;;,,,,:,,;itjjfLfjtjjjfLDKKDGji;,,,jfjiitjti;:.
ti;itjjtt;,,::::::::::::::,,,,,,,;;;;,,,,,,,,::::::::::::::::.........................................::..iDKWKKEEKWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWKKKWWKWWWWWWKKKEEKKKKKKKWWEDfti;;;,,,:,;iitjjfLLffLLGGGEEDfjtii,,;jftiitjti,:.
ti;itjjtt;,,::::::::::,,,,,,,,,,,;;;;;;;,,,,,,,::::::::::::::..:...................... .................::.,tEWWKKKWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWKKKKWWKWWWWWWWKKKKKKKKKKKKKKKGLt;;;,,,:,,;;;;;iiiiittjfLLfftttti;,;jjtiitjti,:.
ti;;tjjtt;,,::::::::::,,,,,,,,,;;;;;;;;;;,,,,,,,,:::::::::::::...........................................::.:ifKWKKWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWKWWKKKKKKKWWKWWWWWKKKKKKKKKKKKKWWEDfii;;;,,,,,;;,,;;;iiiiitttjjtttjti;,tjt;;tjti,:.
ti,;tjjtt;,:::::::::::,,,,,,,;;;;;;;;;;;,,,,,,,,,,,,::::::::::::::........................................::...;DKWWKKWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWKKWWWWKKKKKWWKWWWWWWWWKKKKKKKKKKWKKWWKDjt;;;,,,,,,,,,;;;;;iiittttttttjjti,tji;;tjti,:.
ti,;tjjtt;,:::::::::::,,,,;;;;;;;;;;;;;;,,,,,,,,,,,,:::::::::::::::::......................................::::.,tEWKKKWWWWWWWWWWWWWWWWWWWWWWWWWKKWKKKKWWWWKKKWWWKKKKKWWKKKWWWWWWWKKKKKEEKKKKWKKKKELjii;;;,,,,,,,,,;;;;;iiitttttitjti,tji;;ttti,:.
ti,;tjjtt;,:::::::::::,,,,;;;;iiiii;;;;;;,,,,,,,,,,,:::::::::::::::::::........................................:..iLWWKKKWWWWWWWWWWWWWWWWWWWWWWWWKWKKKKKWWKKKKWWKKKKWWWWWKKWWWWWWWKKKKKKKKKKKKKKKKKDLjti;;,,,,,,,,,,,,;;;iiittttitti;,tji;;ttii,:.
ti,;tjjtt;,::::::::::,,,,,,;;iiiiiiii;;;;;,,,,,,,,,,,,,,,::::::::::::::.::......................................::.,fKWWKKKKWWWWWWWWWWWWWWWWWKWWKKWKKKKKWWWKKKWWKKKKKWWWKKKWWKWWWKKEKKKEKKKKEDEEKKKDGfji;;;;,,,,,,,,,,,;;;iiiiiiiiti;,tji;;tti;,:.
ti,;ijjtt;,::::::::,,,,,,,,;;iiiiitttiii;;;;,,,,,,,,,,,:::::::::::::::::::::::..................................:::..ifKWWKKWWWWWWWWWWWWWWWWWKWWWKWWWKKKKWWWKKWWWKKKKKWWKKKWWWWWKKKKKKKKKKKEDLGDKKKEGLfti;;;;,,,,,,,,,,,,;;iiiiiiiti;,tji,;ttti,:.
ti,;ijjtt;,,,:::::,,,,,,,,;;;;iiittjjjttiiii;;,,,,,,,,,,,::::::::::::::::::::::....................................::..,tEWWKKKWWKWWWWWKWWWKWWWWKKKKKKKKKKWWKKWWWKKKKKKKWWWWWWWKKEEEKKKKKKEGGLLGEKEDGLftii;;;,,,,,,,,,,,,;;;;;;iiiii;,tji,;ttii,:.
ti,;ijjjti;,,,,,,,,,,,,,,;;;;;iiiitjjjjjjjttii;;;;,,,,,,,:::::::::::::::::::::::....................................::::.,LDWWKKKKWKKKKWWKKKWKWWKKWWKKKKWWWWKKKKKKKKWWWKWWWWWWWKKEEEKKKKKKDGLffLDEEGGffjti;;;;;,,,,,,,,,,,,;;;;;;ii;;:tji,,itii,:.
t;,,ijjjti;,,,,,,,,,,,,,;;;;;iiiiitttjjffffjjtiiii;;,,,,,:::::::::::::::::::::::....................................:..::..,fDWWKKKKKKKKKKKKKKKKKWWWKKKKWWWWKKKEKKKKKKKKKWWKKKKKKEKKKKKKKKDGLfjfDDDGLfjtti;;;;,,,,,,,,,,,,,,;;;;;ii;,:tji,,itii,:.
ti,,ifLffii;,,,,,,,,,,;;;;;iiiiiittttttjffffffjttii;;;,,,,,,,::::::::::::::::::..............................................:jEKWKKKKKKKKKKKKKKKKWWKEEKWWWWKKEEEKKKKKKKKWKKKKKKKKKWKWWWKKDGLfttLGLfffjttiii;;;,,,,,,,,,,,,,;;;;;iii;,tji,,itii,:.
t;:,ifGEDLji;;;;;;;;;;;;;;;iiiiitttttjjjjjfffLLffjti;;;;,,,,,:::::::::::::::::::............................................:..,iLDWWWKKKKKKKKWKKKKKKKEKWWWWKKKKKKKWKKKKKKKKKKKKKKKWKKKKKKDGGLttLLjtjfjttiii;;;;;,,,,,,,,,,,;;;;;iii;,tji,,itii;:.
t;:,ifGKWKEGjti;;;;;;;;;;;iiiiittttjjffffffLLLLLLLLfttii;;,,,,:::::::::::::::::::..................................................iLDKWKKKKWKKKKKKKKKEKWWWWKKKKKKKKKWWKKKKKKKKKKWWKKKKKKEDGGffLGf;;tjjiiiiii;;;;;,,,,,,,,,,;;;;;;iii,tji,,itii,:.
t;:,ifGKWKKKKEDLftti;;;;;iiiiiiitttjjffffLLLLLLGGGGLLfttii;;,,,,,:::::::::::::::.....................................................:tfEKKKKKKKKKKKKEEKWWWKKWWWWKKKKWWKKKEEKKKKWWWKKKKKKKEDGLGGjt,,;tttiiii;;;;;;,,,,,,,,,,,,;;;;iti;tji,,itii,:.
t;:,ifGKWKKKKKKKKEDGLLjjiiiiiiiiiittjjjffffLLLLLGGGGGGLftiii;;,,,,,::::::::::::::.......................................................;LDKKKKKKKKKKKKKKKKKKKWWWKKKKKWKKKEEKKKWWKKKKEKKKKEDDGLfi;:::itti;;;;;;;;;;;,,,,,,,,,;;;;;itt;jji,,iti;,:.
t;:,ifGKWWKKKKKKKKKKKKEEDGLfjjtttttjjjjfffLLLLLLLLLGLGGLfjjiii;;,,,,,,::::::::::::::.::...................................................,jLEKKKKKKKKKKKKKKKWWWKKEEKKKKKKKKKKKWWKKKKEEKKKEDGLjt;;:::,;tti;;;;;;;;;;;;,,,,;,;;;;;;ijjijfi,,iii;,:.
t;:,ifGWWWWKKKKKKKKKKKKKKKKKEEDGGLLLLLLLLGGGGGGGGGGGGLLLLLfjjtii;;;,,,,,::::::::::::::......................................................:;LDKKKKKKKKKKKKKKWKKEEEKKKWKKKKKKKKKKKKEEEEKKEDLjii;,:::.:itti;;;;;;;;;;;;;;;;;;;;;;;ijfjffi,,;ii;,:.
t;:,ifGKWKKKKKWWWKKKKKKKKKKKKKKKKWKKKKKKEEEEEEEEEEEEDGGLLLLLLfjjtii;;;,,,,::::::::::::::::::....................................................;tGKKKKKKKKKKKKWKKEEKKKWKKKKEEKKKEEEEEEEEEEDGtii;,::::::;itti;;;;;;;;;;;;;;;;;;;;;ijLGLfi,,iiii,:.
t;:,ifGKKKKKKKKKKKKKWWKKKKKKKKKKKKKKKKKKWWKKKKKKKKKKKEEDDGLLLLLfjjtii;;;,,,,,,,:::::::::::::..................................................:...:tfEKKKEEEEKKKKKKKKKKKKWKEEEEEEDDEEEEEDDDDDfti;;,::::::,iitii;;;;;;;;;;;;;;;;;iiijfLLfi,,;ii;,:.
t;:,ifGKWKKKKKKKKKKKKKKKKKKKKKKKKKWWWWKKKKKKKKKKKKKKKKKKKEEDDGLLLfjttii;;;;;,,,::::::::::::::.......................................................:;tGEKEEEKKKKKKKKKKKWKKKEEEDDGGGDDDDGGLLGGLfi;,,::::::,,ittii;;;;;;;;;;;;;;iiitttijji,,iii;;:.
t;:,ifGKWWKKKKKKKKKKKKKKKKKKKKKKKKKKWKKKWWWKKKKKKKKKKKKKKKKKKKEEDDGLftttiii;;,,,,,:::::::::::::........................................................:tLEKKKKKKKEKKKKKKKKKEEEEDGGLGEDDLLLfjfGDGLi,:,,:::::,ittii;;;;;;;;;;;;iii;;,::jji,,iii;;:.
t;:,ifGWWWWWKKKKKKKKKEEEKKKKKKKKKKKKKKKKWWWKKKKKKKKKKKKKKKKKWKKKKKKKELfjtttii;;,,,,,,,:::::::::::.........................................................;tDKWKKEEKKKKKKKKKKKKKEGGLLGDDLLfjjttjLGDft,,:,,:::,;tttii;;;;;;;;i;;;;,:::,jji,,iii;,:.
t;:,ifGWWWWWWWWWWWKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKWKKDLfjttiii;;;;,,,,,,::::::::...........................................................,tGDKKKKKKKKKKKKKKKKKKEDGLLLLLjjtttiijDELj,,,,::::,;iiiiiiii;;;,,:::::::,jji,,;ii;,:.
t;:,ifGKWWKKWKWWWWWWWWWWKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKWWWKELfjjjtii;;;;,,,,,::::::::::::::::::..............................................:...:,jDEKKKEEEEKKKKKKKKEEDDGGGGGLfjjjjjLDEGi,,,,,,::,;ii;;,,,::::::::::::,jfi,,;iii,:.
t;:,;fGKWKKKKKKKKKWWKKWWWKWKWKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKWKKKWWWKKWWKEGfjtttiii;;;;;,,,::::::::::::::::::..............................................:....,;fGEKEEEEKKEEEKKEDDDDDDEEEDGGLLLGEEGt;;;;,,,,,,:::::::::::::::::::,jfi,,iiii,:.
t;:,ifGKKKKKKKKKKKKKKKKKKKWWWWKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKWWWWWKEGffjttiii;;;;,,,:::::,:::::::::::.....................................................::iLGEEEEEKEEEEEEEDDDDEEEKEEEEDEEGfiii;,,::::::::::::::::::::::::,jfi,,iiii,:.
t;::;fDWWKKKKKKKKKKKKKKKKKKKKWWKWWWWKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKWWWWWWWWWKEDLjjttiii;;;,,,,,,,,:::::::::::........................................................:,ijLGDEEEEEEEEEEEEEEEKKKKKEDGji,:::::.....::::::::::::::::,,:,ffi,,iti;;:.
t;::,tLWWWKKKKKKKKKKKKKKKKKKKKKKKKKKKKKWKKKKKKKKKKKKKKKKKKKKKKKKKKKKWWWWWWWWWWWWWWEDGfjttttiii;;;,,,,,:::::::::.............................................................:,itfDDEKEEEEEEEEDGLti,:...................:::::::::::::,iLf,:,tti;;:.
i;,:,,iGEWWWWWWKWKKKKKKKKKKKKKKKKKWWWWWWWWWWWWWKWKKKKKKKKKKKKWWWWWWWWWWWWWWWWWWWWWWWWKDGLfffjjtttttiiiii;;;;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ijLLDEKKKKEGj;;,,;;;;;,;;;,;;;;;;;;;;;;;;;;;;;;;iittfji::;jti;,:.
;;;,,,,;ijfLGGDDDDDDDDDDGDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDEEEEEEEEEEEEEEEEEEEEEEKKEEDGGGGGGLLLLLLLLLffffffffffffffffffffffffjfjfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjttjjjjttttjjffLLLfjtttttttttttttttttttttttttttttttttttttjti;::,;tjt;;,..
:,;iiii;;,,,,,,,,,,,,,,,,;;;;;;;;;;;;;iiiiiiiiiiiitttttttttttjjjjjjjffffffffLLLLLLLLGLGGGGGGGGGGGDDDDDDDDDDDDDDDDDEEEEEEEEEEEEDDDDDDDDDDDDGGGGGGGGGGGLLLLLLLLfffffffffjffjjjjjjjjttttttttttiiiiii;;;;;;;;;,,,,,,,,,,,,,,,::,,::,:::,,,;itjjiii;,..
.:,;itttttttiiiiiiiiiiiiiiiiiiiitttttttttttttjjjjjjjjjffffffffffffLLLLLLLLGGGGGGGGGGDDDDDDDDDDDEEEEEEEEEEEKKKKKKKKKKKKKKKKKKKKKKKKKKKKEEEEEEEEEEEEDDDDDDDDDDDGGGGGGGGGGGLLLLLLLLffffffffffjjjjjjjjjjttttttttttttttiiiiiiiiiiiiiiiiiittjjtttii;,:.
.::;;iitttttttttiiiiiiiiiiiiittiitiiiiittttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttiiiiittttiiiiiiiiiiiiiiittttiittttt;;::.
..:,,;;iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttiii;,::..
..::,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,::..
...............................................................................................................................................................................................................................