-
-
Save WitherOrNot/5512f02546e790af94d84f5b5e004241 to your computer and use it in GitHub Desktop.
| # -*- coding: utf-8 -*- | |
| from PIL import Image | |
| import sys | |
| THRESH = int(sys.argv[2]) if len(sys.argv) > 2 else 200 | |
| col = Image.open(sys.argv[1]) | |
| col.thumbnail((128, 128), Image.ANTIALIAS) | |
| w, h = col.size | |
| if w%6 != 0 or h%6 != 0: | |
| wgap = (6-(w%6))%6 | |
| print(wgap) | |
| hgap = (6-(h%6))%6 | |
| print(hgap) | |
| col = col.resize((w+wgap, h+hgap), Image.ANTIALIAS) | |
| w, h = col.size | |
| gray = col.convert('L') | |
| bw = gray.point(lambda x: 255 if x>THRESH else 0, '1') | |
| bw.save("result_bw.png") | |
| braille = "" | |
| bdata = " A1B'K2L@CIF/MSP\"E3H9O6R^DJG>NTQ,*5<-U8V.%[$+X!&;:4\\0Z7(_?W]#Y)=" | |
| truebraille = u"⠀⠁⠂⠃⠄⠅⠆⠇⠈⠉⠊⠋⠌⠍⠎⠏⠐⠑⠒⠓⠔⠕⠖⠗⠘⠙⠚⠛⠜⠝⠞⠟⠠⠡⠢⠣⠤⠥⠦⠧⠨⠩⠪⠫⠬⠭⠮⠯⠰⠱⠲⠳⠴⠵⠶⠷⠸⠹⠺⠻⠼⠽⠾⠿" | |
| for j in range(h)[::3]: | |
| for i in range(w)[::2]: | |
| cr = bw.crop((i, j, i+2, j+3)) | |
| cd = [1-(x/255) for x in list(cr.getdata())] | |
| cd = (int(''.join([str(x) for x in cd[0::2]+cd[1::2]][::-1]),2)) | |
| cd = truebraille[cd] | |
| braille += cd | |
| braille += "\n" | |
| out = open("braille.txt","wb") | |
| out.write(braille.encode('utf8')) |
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠶⠶⠿⠟⠛⠻⠷⠶⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠴⠿⠛⠉⠁⠀⠀⠀⠀⠀⠙⠿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠴⠿⠋⠀⠀⠀⠀⠀⠀⠐⠦⠄⠀⠈⠿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠠⠾⠟⠁⠀⠀⠀⠀⠀⠤⠀⠀⠈⠿⠆⠀⠹⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠾⠏⠀⠀⠀⠀⠀⠀⠀⠉⠻⠦⠀⠘⠿⠄⠸⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠴⠶⠾⠿⠿⠿⠿⠿⠿⠷⠶⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠸⠟⠀⠀⠀⠀⠐⠶⠤⠀⠀⠈⠿⠦⠴⠿⠿⠿⠿⠦⠀⠀⠀⠀⠀⠀⠤⠶⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠿⠇⠀⠀⠀⠀⠀⠀⠹⠷⠄⠀⠾⠟⠋⠁⠀⠀⠈⠻⠧⠀⠀⠠⠶⠿⠿⠿⠿⠿⠿⠿⠿⠋⠉⠀⠤⠀⠈⠉⠻⠿⠿⠿⠿⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠿⠀⠀⠀⠀⠤⠀⠀⠀⠹⠷⠾⠏⠀⠀⠀⠀⠀⠀⠸⠿⠤⠾⠿⠿⠿⠿⠿⠿⠿⠿⠟⠁⠠⠶⠟⠙⠧⠠⠴⠆⠈⠿⠿⠿⠿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠿⠀⠀⠀⠠⠇⠀⠀⠀⠀⠿⠿⠀⠀⠀⠀⠀⠀⠀⠸⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠧⠤⠬⠅⠀⠀⠈⠉⠀⠿⠄⠘⠿⠿⠿⠿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠿⠆⠀⠀⠈⠿⠀⠀⠀⠀⠿⠿⠦⠤⠤⠴⠊⠀⠀⠾⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠶⠦⠄⠸⠓⠀⠿⠿⠿⠿⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠹⠧⠀⠀⠀⠙⠷⠦⠤⠾⠟⠉⠙⠛⠋⠁⠀⠀⠼⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠶⠄⠴⠿⠿⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠈⠻⠦⠀⠀⠀⠈⠉⠋⠉⠀⠀⠀⠀⠀⠀⠠⠾⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠟⠛⠻⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠈⠻⠷⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠴⠿⠿⠿⠿⠿⠿⠿⠁⠀⠈⠙⠁⠀⠀⠀⠙⠯⠀⠀⠉⠙⠻⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠿⠏⠛⠶⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠿⠉⠻⠿⠿⠿⠀⠀⠀⠀⠴⠛⠋⠛⠆⠉⠀⠀⠀⠀⠠⠾⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠿⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠾⠇⠄⠼⠿⠿⠿⠀⠀⠀⠾⠁⠀⠤⠦⠽⠄⠀⠀⠀⠀⠋⠉⠉⠉⠙⠿⠿⠿⠿⠿⠿⠿⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠻⠷⠄⠀⠀⠀⠀⠀⠀⠀⠀⠠⠴⠿⠏⠀⠻⠿⠿⠿⠿⠀⠀⠸⠃⠀⠞⠡⠶⠽⠇⠀⠀⠀⠠⠶⠛⠛⠦⠀⠻⠿⠿⠿⠿⠿⠿⠿⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⠷⠶⠶⠶⠶⠶⠶⠿⠿⠿⠿⠧⠀⠾⠿⠿⠿⠟⠀⠀⠿⠀⠸⠡⠿⠉⠿⠁⠀⠀⠰⠟⠁⠲⠄⠘⠇⠈⠻⠿⠿⠿⠿⠿⠿⠧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠀⠿⠿⠿⠡⠶⠆⠀⠻⠀⠸⠼⠿⠿⠿⠶⠦⠤⠿⠟⠿⠄⠇⠀⠿⠀⠀⠉⠉⠿⠿⠿⠿⠿⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠷⠿⠛⠡⠿⠿⠷⠄⠈⠷⠟⠉⠀⠀⠀⠀⠉⠛⠿⠶⠿⠁⠇⠠⠏⠀⠀⠀⠠⠿⠿⠿⠿⠿⠧⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠾⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠃⠀⠸⠿⠿⠿⠿⠶⠿⠁⠀⠀⠀⠀⠀⠀⠀⠈⠿⠏⠜⠀⠼⠁⠀⠀⠠⠾⠿⠿⠿⠿⠿⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠿⠇⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠀⠀⠀⠙⠿⠿⠿⠿⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠯⠠⠞⠁⠀⠀⠴⠿⠿⠿⠿⠿⠟⠘⠿⠇⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠰⠿⠇⠸⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠧⠀⠀⠀⠀⠿⠿⠿⠿⠿⠄⠀⠀⠀⠀⠀⠀⠀⠀⠠⠿⠉⠀⠀⠠⠀⠿⠿⠿⠿⠉⠛⠿⠆⠿⠇⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠸⠿⠇⠀⠻⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠀⠀⠀⠀⠙⠿⠿⠿⠿⠿⠦⠀⠀⠀⠀⠀⠀⠀⠼⠷⠶⠶⠶⠿⠇⠼⠿⠿⠿⠤⠀⠸⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠸⠿⠇⠀⠈⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠇⠀⠀⠀⠀⠀⠿⠹⠿⠿⠿⠿⠶⠶⠤⠴⠶⠿⠿⠿⠿⠿⠿⠿⠇⠿⠿⠿⠋⠀⠀⠸⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠈⠿⠇⠀⠀⠘⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠄⠀⠀⠀⠀⠿⠦⠙⠛⠛⠛⠻⠿⠿⠿⠿⠿⠿⠿⠿⠟⠛⠋⠀⠿⠟⠋⠀⠀⠀⠼⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠿⠧⠀⠀⠀⠹⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠄⠀⠀⠀⠿⠿⠿⠶⠤⠀⠈⠛⠿⠿⠛⠿⠿⠿⠟⠁⠀⠀⠀⠿⠃⠀⠀⠀⠴⠿⠳⠿⠃⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⠿⠀⠀⠀⠀⠻⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠆⠀⠀⠻⠿⠿⠿⠿⠿⠷⠶⠦⠤⠾⠋⠈⠀⠀⠀⠀⠀⠰⠿⠀⠀⠤⠾⠟⠁⠼⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⠇⠀⠀⠀⠀⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠄⠀⠈⠿⠿⠿⠿⠿⠿⠿⠿⠿⠃⠀⠀⠀⠀⠀⠀⠴⠿⠿⠿⠿⠟⠋⠀⠀⠿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⠿⠀⠀⠀⠠⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠷⠄⠀⠈⠻⠿⠿⠿⠿⠟⠋⠁⠀⠀⠀⠀⠀⠤⠾⠟⠃⠀⠀⠀⠀⠀⠀⠼⠿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠿⠧⠀⠀⠾⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠦⠄⠀⠈⠉⠉⠁⠀⠀⠤⠶⠶⠶⠾⠿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠠⠿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⠆⠸⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠷⠶⠦⠴⠶⠶⠿⠿⠿⠿⠿⠿⠿⠿⠦⠀⠀⠀⠀⠀⠀⠠⠿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⠿⠿⠿⠿⠿⠿⠿⠛⠻⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠷⠄⠀⠀⠀⠠⠾⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⠿⠿⠿⠿⠟⠁⠀⠀⠹⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠷⠄⠀⠠⠿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠿⠿⠿⠟⠀⠀⠀⠶⠸⠿⠿⠿⠿⠿⠿⠟⠛⠻⠿⠟⠛⠉⠉⠉⠉⠉⠉⠛⠻⠿⠿⠿⠿⠷⠴⠿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⠧⠀⠠⠼⠃⠾⠿⠿⠿⠿⠿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠿⠿⠿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⠷⠮⠴⠾⠿⠿⠿⠿⠿⠏⠀⠀⠀⠠⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠠⠾⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⠿⠿⠿⠿⠿⠿⠃⠀⠀⠀⠟⠀⠀⠰⠇⠀⠀⠸⠀⠀⠀⠀⠾⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⠿⠿⠿⠆⠀⠀⠸⠇⠀⠀⠸⠇⠀⠀⠿⠀⠀⠀⠀⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠻⠷⠤⠴⠿⠧⠀⠀⠿⠇⠀⠀⠻⠄⠀⠀⠀⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠋⠙⠿⠀⠀⠸⠇⠀⠀⠘⠷⠄⠀⠰⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠧⠀⠈⠿⠦⠀⠰⠿⠛⠛⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⠿⠟⠛⠿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠤⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠶⠾⠿⠶⠶⠦⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠴⠞⠛⠉⠽⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠾⠻⠿⠿⠿⠿⠿⠿⠿⠿⠶⠤⠀⠀⠀⠀⠀⠀⠀⠴⠞⠋⠁⠀⠀⠰⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠿⠿⠷⠶⠦⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠶⠟⠵⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠷⠄⠀⠀⠀⠴⠞⠋⠀⠤⠔⠀⠀⠸⠧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠿⠿⠉⠉⠉⠙⠛⠷⠦⠄⠀⠀⠀⠀⠀⠰⠿⠋⠼⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠷⠀⠠⠾⠋⠀⠴⠾⠯⠴⠤⠄⠸⠿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠾⠃⠀⠀⠀⠀⠀⠀⠉⠛⠷⠤⠀⠀⠴⠟⠁⠾⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠧⠟⠁⠠⠞⠋⠉⠩⠼⠋⠁⠘⠏⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠠⠟⠀⠀⠐⠛⠶⠶⠤⠀⠀⠈⠙⠷⠄⠿⠻⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠟⠀⠀⠈⠛⠶⠤⠈⠩⠷⠀⠀⠀⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠸⠇⠀⠀⠀⠴⠞⠛⠝⠳⠄⠀⠀⠈⠙⠿⠄⠻⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠧⠀⠀⠀⠀⠀⠉⠛⠯⠅⠀⠀⠰⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠾⠁⠀⠀⠾⠷⠤⠀⠀⠀⠙⠆⠀⠀⠀⠘⠧⠸⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠏⠈⠳⠄⠀⠀⠀⠀⠀⠈⠙⠳⠄⠾⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠀⠀⠀⠀⠤⠟⠁⠀⠀⠀⠈⠀⠀⠀⠀⠙⠷⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠋⠀⠀⠀⠈⠢⠀⠀⠀⠀⠀⠀⠀⠙⠳⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠀⠀⠀⠼⠿⠶⠖⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⠿⠿⠿⠿⠿⠿⠿⠛⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠀⠀⠈⠀⠠⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⠦⠈⠉⠛⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⠄⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠀⠀⠀⠴⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠻⠳⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠹⠄⠀⠴⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠈⠧⠘⠇⠳⠄⠀⠀⠀⠢⠀⠀⠀⠀⠀⠀⠀⠳⠀⠀⠀⠀⠘⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠄⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠸⠇⠰⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠼⠀⠀⠿⠄⠿⠀⠻⠄⠀⠀⠘⠆⠀⠀⠀⠀⠀⠀⠈⠧⠆⠀⠀⠀⠹⠾⠃⠀⠀⠀⠀⠀⠀⠀⠀⠻⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠇⠀⠀⠿⠇⠸⠄⠀⠻⠄⠀⠀⠳⠀⠀⠀⠀⠀⠀⠀⠹⠽⠄⠀⠴⠟⠷⠀⠀⠀⠀⠀⠀⠀⠀⠄⠘⠧⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠼⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⠇⠀⠀⠏⠇⠸⠇⠀⠀⠳⠄⠀⠸⠆⠀⠀⠀⠀⠀⠀⠸⠏⠧⠞⠁⠀⠿⠆⠰⠀⠀⠀⠀⠀⠀⠹⠄⠻⠄⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠿⠦⠄⠸⠇⠇⠸⠇⠀⠀⠈⠧⠀⠸⠇⠀⠀⠀⠀⠀⠀⠸⠷⠿⠀⠀⠀⠿⠳⠈⠇⠀⠀⠀⠀⠀⠈⠧⠸⠇⠀⠀⠀⠀
⠀⠀⠀⠀⠸⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⠇⠈⠙⠾⠤⠇⠼⠀⠀⠀⠀⠸⠆⠸⠿⠀⠀⠀⠀⠀⠀⠾⠻⠿⠀⠀⠠⠏⠸⠆⠇⠀⠀⠀⠀⠀⠀⠻⠈⠇⠀⠀⠀⠀
⠀⠀⠀⠀⠸⠁⠀⠀⠀⠀⠀⠀⠠⠆⠀⠀⠀⠀⠞⠀⠀⠰⠏⠹⠷⠏⠀⠀⠀⠀⠀⠷⠸⠻⠄⠀⠀⠀⠠⠺⠇⠤⠿⠶⠶⠾⠀⠈⠷⠇⠀⠀⠀⠀⠀⠀⠸⠆⠇⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠀⠀⠀⠀⠀⠀⠀⠼⠀⠀⠀⠀⠼⠃⠀⠠⠞⠀⠾⠞⠉⠳⠄⠀⠀⠀⠿⠞⠘⠧⠞⠛⠛⠳⠫⠾⠟⠛⠛⠛⠻⠿⠦⠿⠄⠀⠀⠀⠀⠀⠀⠸⠷⠇⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠀⠀⠀⠀⠀⠀⠠⠏⠀⠀⠀⠴⠋⠀⠤⠟⠵⠾⠿⠿⠿⠶⠍⠀⠀⠀⠛⠁⠀⠈⠀⠀⠀⠀⠾⠁⠴⠾⠿⠷⠤⠉⠻⠿⠇⠀⠀⠀⠀⠀⠀⠿⠿⠁⠀⠀⠀⠀
⠀⠀⠀⠀⠟⠀⠀⠀⠀⠀⠀⠼⠃⠀⠀⠴⠯⠴⠞⠿⠿⠟⠉⠤⠶⠶⠦⠍⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠼⠁⠸⠿⠿⠿⠆⠀⠻⠷⠀⠀⠀⠀⠀⠰⠇⠟⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠇⠀⠀⠀⠀⠀⠰⠏⠀⠀⠼⠋⠟⠁⠼⠿⠃⠠⠞⠻⠿⠿⠿⠿⠦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠿⠶⠿⠿⠿⠿⠿⠀⠀⠿⠀⠀⠀⠀⠠⠞⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠇⠀⠀⠀⠀⠀⠾⠁⠴⠞⠁⠼⠁⠰⠿⠁⠀⠾⠀⠾⠿⠿⠿⠿⠿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠿⠿⠿⠿⠿⠿⠿⠆⠀⠸⠇⠀⠀⠐⠾⠥⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠰⠇⠀⠀⠀⠀⠾⠷⠞⠋⠀⠀⠟⠀⠿⠏⠀⠀⠿⠿⠿⠿⠿⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠿⠿⠿⠿⠿⠿⠀⠀⠀⠻⠀⠀⠀⠀⠉⠻⠦⠀⠀⠀⠀⠀
⠀⠀⠀⠸⠇⠀⠀⠀⠘⠋⠁⠀⠀⠀⠠⠟⠶⠿⠁⠀⠀⠿⠿⠿⠿⠿⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⠿⠿⠿⠿⠏⠀⠀⠀⠘⠧⠀⠀⠀⠀⠀⠙⠆⠀⠀⠀⠀
⠀⠀⠀⠸⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠃⠈⠻⠄⠀⠀⠹⠿⠿⠿⠿⠿⠿⠿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠦⠀⠀⠈⠙⠛⠛⠉⠀⠠⠀⠄⠀⠈⠳⠀⠀⠀⠀⠀⠿⠀⠀⠀⠀
⠀⠀⠀⠸⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠄⠀⠀⠙⠿⠿⠿⠿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠴⠠⠟⠼⠱⠣⠆⠈⠷⠀⠀⠀⠀⠿⠀⠀⠀⠀
⠀⠀⠀⠾⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠧⠀⠠⠠⠄⠠⠠⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠔⠇⠾⠱⠣⠏⠼⠁⠀⠹⠀⠀⠀⠀⠿⠀⠀⠳⠄
⠀⠀⠰⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠿⠰⠣⠞⠰⠏⠞⠱⠃⠀⠄⠀⠀⠀⠀⠤⠴⠶⠶⠶⠶⠤⠶⠶⠿⠇⠀⠃⠋⠘⠐⠃⠀⠀⠼⠀⠀⠀⠀⠿⠀⠀⠀⠷
⠀⠀⠞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⠋⠞⠠⠏⠾⠁⠋⠀⠠⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠾⠿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠟⠀⠀⠀⠀⠿⠀⠀⠀⠿
⠀⠸⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠾⠈⠀⠊⠀⠁⠀⠀⠀⠸⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠃⠀⠀⠀⠀⠀⠀⠀⠼⠃⠀⠀⠀⠀⠙⠦⠤⠾⠟
⠀⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠿⠀⠀⠀⠀⠀⠀⠀⠀⠸⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠀⠀⠀⠀⠀⠀⠀⠴⠋⠀⠀⠌⠢⠄⠀⠈⠩⠞⠁
⠸⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠀⠀⠀⠀⠀⠀⠀⠀⠸⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠃⠀⠀⠀⠀⠀⠠⠾⠃⠀⠀⠀⠈⠛⠛⠛⠿⠉⠀⠀
⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠦⠀⠀⠈⠢⠀⠈⠳⠤⠤⠾⠀⠀⠀⠀⠘⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠏⠀⠀⠀⠀⠀⠴⠟⠁⠀⠀⠀⠀⠀⠀⠠⠾⠃⠀⠀⠀
⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠀⠀⠀⠈⠙⠶⠤⠭⠶⠋⠀⠀⠀⠀⠀⠙⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠋⠀⠀⠀⠤⠶⠛⠁⠀⠀⠀⠀⠀⠀⠴⠶⠋⠁⠀⠀⠀⠀
⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠧⠀⠀⠠⠤⠤⠴⠟⠷⠦⠤⠀⠀⠀⠀⠀⠙⠻⠿⠿⠿⠿⠿⠿⠟⠋⠡⠤⠴⠶⠛⠉⠀⠀⠀⠀⠀⠀⠰⠶⠼⠇⠀⠀⠀⠀⠀⠀⠀
⠷⠀⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠷⠄⠈⠉⠛⠛⠻⠿⠋⠙⠻⠶⠶⠄⠀⠀⠀⠈⠉⠩⠉⠭⠴⠶⠿⠿⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠾⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀
⠈⠳⠾⠧⠸⠦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠻⠛⠿⠿⠟⠛⠿⠉⠁⠾⠛⠶⠤⠄⠠⠤⠾⠀⠈⠙⠯⠙⠛⠿⠦⠀⠀⠀⠀⠀⠀⠀⠠⠞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠈⠻⠈⠳⠤⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠠⠾⠟⠁⠀⠀⠸⠆⠀⠘⠦⠄⠉⠉⠉⠡⠼⠤⠀⠀⠈⠧⠀⠈⠻⠷⠄⠀⠀⠠⠴⠞⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠉⠉⠛⠛⠻⠠⠤⠶⠄⠀⠀⠼⠾⠀⠀⠀⠀⠀⠷⠀⠀⠈⠻⠟⠛⠛⠛⠉⠽⠃⠀⠀⠸⠆⠀⠈⠿⠿⠶⠶⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠋⠁⠀⠙⠛⠻⠿⠇⠀⠀⠀⠀⠀⠸⠀⠀⠀⠀⠽⠁⠀⠀⠀⠙⠲⠄⠀⠀⠷⠀⠠⠞⠁⠻⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠴⠋⠉⠛⠒⠶⠤⠤⠤⠼⠃⠀⠀⠘⠷⠄⠀⠀⠀⠰⠏⠀⠀⠀⠸⠟⠉⠀⠀⠀⠻⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀