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