╔═══╦═══╦╗╔╦══╦══╗╔══╗╔══╗
║╔══╣╔═╗║║║║╔═╣╔╗║║╔╗║║╔╗║
║╚══╣╚═╝║║║║║─║╚╝║║║║║║╚╝║
║╔═╗║╔══╣║╔║║─║╔╗║║║║║║╔╗║
║╚═╝║║──║╚╝║║─║║║╠╝╚╝╚╣║║║
╚═══╩╝──╚══╩╝─╚╝╚╩════╩╝╚╝
─╔══╦╗╔╦╗╔╦╗╔╗╔╦╗╔╦╗╩╔╗
─║╔╗║║║║║║║║║║║║║║║║─║║
─║║║║╚╝║╚╝║║║║║║║║║║─║║
─║║║╠═╗╠═╗║║║║║║║╔║║─╔║
╔╝║║║╔╝║─║║╚╝╚╝║╚╝║╚═╝║
╚═╝╚╝╚═╝─╚╩════╩══╩═══╝
╔╗╔══╗╔══╦══╦╗╔╗
║║║╔═╝║╔╗║╔╗║║║║
║╚╝║──║║║║╚╝║╚╝║
║╔╗║──║║║║╔╗║╔╗║
║║║╚═╦╝║║║║║║║║║
╚╝╚══╩═╝╚╩╝╚╩╝╚╝
╔╗╔══╦════╦══╗╔╗╔╦═══╗
║║║╔═╩═╗╔═╣╔╗║║║║║╔══╝
║╚╝║───║║─║║║║║╚╝║╚══╗
║╔╗║───║║─║║║║║╔╗║╔══╝
║║║╚═╗─║║─║╚╝║║║║║╚══╗
╚╝╚══╝─╚╝─╚══╝╚╝╚╩═══╝
╔══╦══╦══╗╔══╦══╦══╦═══╦╗╔╗
║╔═╣╔╗║╔═╝║╔╗║╔╗║╔═╣╔══╣║║║
║║─║║║║║──║║║║╚╝║║─║╚══╣╚╝║
║║─║║║║║──║║║║╔╗║║─║╔══╣╔╗║
║╚═╣╚╝║║─╔╝║║║║║║╚═╣╚══╣║║║
╚══╩══╩╝─╚═╝╚╩╝╚╩══╩═══╩╝╚╝
╔════╦══╦════╗
╚═╗╔═╣╔╗╠═╗╔═╝
──║║─║║║║─║║
──║║─║║║║─║║
──║║─║╚╝║─║║
──╚╝─╚══╝─╚╝