⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣤⣤⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⣫⣷⣶⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⢉⡤⢰⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⡿⠿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢋⡼⠋⠀⠀⠻⠿⠿⠿⠛⢉⣩⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⡤⠈⠙⠻⢿⣿⡿⠋⠰⠿⠇⠀⠀⢀⣄⠀⠀⣀⠴⠿⠿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠁⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⠟⠁⠀⠀⠀⠈⢿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠉⠀⠀⠀⠀⠀⠀⠘⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⢀⡠⠔⠒⣊⣉⣉⣉⣉⡒⠒⠒⠠⠤⠤⠤⠄⠀⡀⠀⠀⠀⠀⠀⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⠁⣀⡤⢚⡥⣐⡺⠭⠍⠁⠠⣤⠄⠉⠉⠁⠀⢀⣀⣀⣉⣉⡉⠓⠀⠀⠀⣸⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣾⣁⡔⡱⠋⠁⠀⠀⠀⠀⠀⠈⡇⠀⠀⠀⠀⢩⠆⠀⠀⠀⠈⢣⠀⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⢸⠛⠛⢛⣛⡛⡿⠋⢁⡈⣠⡴⣾⣿⣿⡟⠓⠶⣤⡁⠀⠀⠀⠀⠼⣀⣤⣤⠤⣤⡈⠁⠀⠀⠘⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⢀⣼⢶⠞⢙⣛⣛⣧⣈⠋⠀⠛⠒⠛⢛⣿⠛⠶⢤⣨⠟⠀⠀⠰⠶⣾⠿⠛⠓⠒⠚⠋⠈⠙⠋⢑⡮⣻⣆⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⡿⠁⠇⣰⠟⠁⠀⡆⠉⠛⠷⠤⠤⠶⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡀⠀⠀⢠⣄⣠⡶⠾⠲⢶⢹⠘⣿⡇⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⢸⡇⠀⡀⣿⢀⣠⣴⠛⠶⢤⣄⡀⠀⠀⡠⠤⠤⠴⣴⠖⠂⠀⠀⠀⠀⠉⠻⣦⡄⠀⠉⠉⠁⣷⡀⠀⡸⢠⣱⡇⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠈⢿⣄⢇⠸⡆⠀⠘⣧⣀⠀⠉⣿⠳⠶⣤⣀⡀⠈⢧⡼⠟⠛⠓⢀⡀⢀⣼⠟⠋⠓⠢⢀⣠⡿⣧⠨⠔⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠈⠻⣷⣍⠃⠀⠀⠘⣿⡻⢶⣾⣦⡀⠀⠀⠉⡿⠲⠶⠦⣤⣄⣀⣉⣉⣁⣀⣀⣠⠶⠛⡇⢷⣿⠀⢰⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⠀⠈⢳⡀⠀⠀⠀⠘⢷⡄⣸⠙⠻⠿⣶⣦⣧⣀⣀⠀⠀⢸⠀⠀⢹⡏⠉⣀⣸⣇⣀⣷⣾⣿⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⠀⠀⠈⢷⡀⠀⠀⠀⠀⠹⢯⣀⠀⠀⠀⣹⠛⠛⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⠀⠀⠀⠈⢿⣄⠀⠀⠀⠀⠀⠙⠳⣦⣠⠏⠀⠀⠀⠀⣿⠀⠈⠉⣹⠿⢄⣴⠟⠿⡇⡼⣹⠃⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠳⣦⡉⠒⠭⣓⠦⣀⡉⠙⠲⠶⠦⢤⣿⣤⣤⣠⣏⣀⣴⣯⡶⢄⡈⢙⣧⣀⠀⠸⡇⠀⢀⣤⣶⣶⣤⣀⠀⠀
        ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⡏⠉⠓⢤⣀⠉⠲⢭⣒⡦⠤⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣉⠿⢤⣈⣳⣄⡇⢀⣿⣿⣿⣿⣿⣿⡆⠀
        ⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⣿⣧⠀⠀⢀⠈⠙⠲⣦⣀⠈⠉⠉⠒⠲⠿⠯⣍⣉⣉⣁⡉⠉⠉⣀⣀⠴⠋⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀
        ⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣿⣿⡄⠘⣦⠓⢤⡀⠀⠉⠛⠶⣤⣤⣤⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡞⠁⠉⠛⠿⣿⣿⡿⠟⠀⠀
        ⢀⣤⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠈⣷⣤⡙⢦⡀⠀⠀⠀⠉⠉⠉⠙⠛⠶⠦⠤⣤⣀⣤⣤⣤⠴⠞⠋⠀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀
        ⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⣈⠻⣝⢦⡙⢦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣶⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠈⠳⣌⡳⣌⠲⣬⡓⠦⡄⠀⠀⣀⡤⠄⢠⣄⢠⣟⡄⢸⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⢀⡈⠳⣌⠳⢌⡙⠢⡀⢀⣼⡋⠀⠀⠀⢹⠀⠟⣡⢸⣿⣿⣿⣿⣿⣷⣦⣄⡀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣮⠳⢄⠈⠳⣄⠙⠆⣰⡟⠈⢷⡄⠀⠀⢸⡇⠀⢃⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣄⡀⠀
        ⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⡙⠢⡈⠓⠂⣿⡇⠀⠈⢿⣦⣄⠸⣝⢦⠈⠀⣿⣿⣿⣿⣿⣿⣿⣧⠀⠉⠙⠛⠿⠂
        ⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠙⠂⠀⣀⢀⣿⠇⠀⠀⣸⠛⣿⠀⠹⣷⡑⠀⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠘⢁⡾⠋⠀⠀⠀⣿⠀⠘⠇⠀⠈⢿⣆⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⡿⢻⣿⣿⣿⣿⣿⣿⣆⠉⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⠛⠛⠁⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠁⠀⠀⠛⢿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠘⣿⠻⠿⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⣿⣿⣿⣿⣿⣦⡀⠀⢸⣇⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
        ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠛⠿⢿⣿⢆⣸⡿⠀⠀
        
 _   _  _____  _   _     ___  _____    ___  _ 
| | | ||  __ \| | | |   /   ||  _  |  /   || |
| | | || |  \/| |_| |  / /| || |/' | / /| || |
| | | || | __ |  _  | / /_| ||  /| |/ /_| || |
| |_| || |_\ \| | | | \___  |\ |_/ /\___  ||_|
 \___/  \____/\_| |_/     |_/ \___/     |_/(_)
                                              
                                              
d8888b. d8888b.  .d88b.  d8888b. db      d88888b .88b  d88. 
88  `8D 88  `8D .8P  Y8. 88  `8D 88      88'     88'YbdP`88 
88oodD' 88oobY' 88    88 88oooY' 88      88ooooo 88  88  88 
88~~~   88`8b   88    88 88~~~b. 88      88~~~~~ 88  88  88 
88      88 `88. `8b  d8' 88   8D 88booo. 88.     88  88  88 
88      88   YD  `Y88P'  Y8888P' Y88888P Y88888P YP  YP  YP 
                                                            
                                                            
 .d8b.  d8888b. .88b  d88. d888888b d8b   db .d888b. 
d8' `8b 88  `8D 88'YbdP`88   `88'   888o  88 VP  `8D 
88ooo88 88   88 88  88  88    88    88V8o 88    odD' 
88~~~88 88   88 88  88  88    88    88 V8o88   8P'   
88   88 88  .8D 88  88  88   .88.   88  V888   oo    
YP   YP Y8888D' YP  YP  YP Y888888P VP   V8P   VP