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