float
float
float
EN / FR
................................................... urban / architecture / interior / scenographie / design / art / infrastructure
................................................................. current / competition / research / built / in construction ......
................................................................. ................................................................


We're delighted to announce that the Água Carioca project will be exhibited at the 11th São Paulo Architecture Biennial, being held in the city this October until December.

The theme of the Biennial for 2017 is ‘In Project’, proposing a series of experimental actions in the city to generate collaborative knowledge about the territory and its forms of transformation. They challenge participants to reposition the architect in front of the community and foster collective awareness through direct action. They see the biennial as a catalyst to invigorate the city with projects - approaching real issues and challenges, working across disciplines and valuing the importance of the local.

We're really happy that Agua Carioca has been recognised for its social commitment and action and are looking forward to it being part of this exciting event.

 
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••=••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%••%%%%%%%%==================|||||||||====||:::::::::::::::::::::::::::::::::::::::::::::::::::::........................
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%••%%%%%%%%==================||||||||||===||:::::::::::::::::::::::::::::::::::::::::::::::::::::........................
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%••%%%%%%%%==================||||||||||||=|::::::::::::::::::::::::::::::::::::::::::::::::::::::........................
•••••••••%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%••%%%%%%%%==================||||||||||::||::::::::::::::::::::::::::::::::::::::::::::::::::::::........................
•••••••%%%%%%%%%%•%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%••%%%%%%%%====================||||||||::|||:::::::|:::::::::::::::::::::::::::::::::::::::::::::::......................
••%%••%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%••%%%%%%%%====================||||||||::::::::::::|:::::::::::::::::::::::::::::::::::::::::::::::......................
••%%%%%••%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%•••••%%%%%====================||||||||||::::::::::::::::::::::::::::::::::::::::::::::::::::::::::......................
••%%%%%%•%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%•••••%%%%%====================||||||||||:::::::::::::::::::::||:::::::::::::::::::::::::::::::::::......................
••%%%%%%%%••••%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%•••••%%%%%==================||||||||||||::::::::||||::::::::::::::::::::::::::::::::::::::::::::::......................
•%%%%%%%%%••••••••••••%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%•••••%%%%%==================||||||||||||::::::::||=|:::::::::::|::::::::::::::::::::::::::::::::::......................
%=%%%%%%%%••••••••••%%%%%%%%%%%%%%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%•••••%%%%%==================||||||||||||::::::::||||:::::::::::|::::::::::::::::::::::::::::::::::......................
%%%%%%%%•••%••••••%%%%%%%%%%%===%=%%%%%=%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%================||||||||||:::::::||||||||::::::::::|:::::::::::::::::::::::::::::::::::::...................
%%%%%%%%•%•••••••%%%%%=====%=======%%====%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%================||||||||||:::::::||||||||::::::::::|:::::::::::::::::::::::::::::::::::::...................
••%%%%%%%••••%%%%%==%%======================•%••••••%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%===============|||||||:::::||||||||::::::::::::::::::::::::::::::::::::::::::::::::...................
%%%%%%%%%%%%%%%=========|||==================%%%%%%%%%•%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%===============|||||||:::::||||||||::::::::::::::::::::::::::::::::::::::::::::::::...................
%%%%%%%%%===%=====||||||:::||||||||||||=|=%%===%%%%%=%%%%•%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%•••%%%%%%%%%%===============|||||||:::::||||||||::::::::::::::::::::::::::::::::::::::::::::::::...................
%%%%%=========|||||::::::::::::::::::|||:==%||===========%%%%%%%%••••••%•%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%=================|||||:::::||||||||::::::::::::::::::::::::::::::::::::::::::::::::::.................
%%%%==|=====|||:::::::::::::::::::::::::|:||||||||||============%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%=================|||||:::::||||||||::::::::::::::::::::::::::::::::::::::::::::::::::.................
=========|||::|||:::::::::::::::::::::::|:•|||=|||||====||||===========••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%==================|||||||||||||||:|::::::::::::::::::::::::::::::::::::::::::::::::.................
=========|||::::::::::::::::::::::::::::::::|::|||||==||||||==|||||=====•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%==================||||||||||||||||||:::::::::::::::::::::::::::::::::::::::::::::::.................
====|===:|||::::::::::::::::::::::::::::::::::::::::||::::::||:::::::||%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%=============||||||||::|||||==|||::::::::::::::::::::::::::::::::::::::::::::::::::............
==||:|=|%:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|=•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%•••%%%%%%%===============|||||:::|||||==|||::::::::::::::::::::::::::::::::::::::::::::::::::............
==::::|:•:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%•••%%%%%%%===========%%==|||||:::|||||==|||::::::::::::::::::::::::::::::::::::::::::::::::::............
=|::::::%::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%•••%%%%%%%==========%%%====|||::::::::|||||:::::::::::::::::::::::::::::::::::::::::::::::::::::.........
=|:::::::::::::::::::::::::::::::::::..:::::::::::::::::::::::::::|%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%•••%%%%%%%=================|||::::::::|||||:::::::::::::::::::::::::::::::::::::::::::::::::::::.........
=::::::|::::::::::::::::::::::::::::::::::::::::::::::::::::.:::::•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%•••%%====%===============|||||:::::::::::|==|:::::::::::::::::::::::::::::::::::::::::::::::::::::.......
=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|::.=••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%•••%%%%%%%===============|||||:::::::::::|=||:::::::::::::::::::::::::::::::::::::::::::::::::::::.......
:|:::::||:::::::::::::::::::::::::::::::::::::::::::::::::::.:.••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%•••%%===============%====||||||||:::::::::||::::::::::::::::::::::::::::::::::::::::::::::::::::::.......
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%•••%%===============|====||||||||:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......
:::::::::::::::::::::::::::..:::::::::::::::::::::::::::::::•••••••••••••••••••••••••••••••••••••••••••••••%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%••%%===============%•===||||||||:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::.%•••••••••••••••••••%••••••••••••••••••••%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%••%%=================||||||||||||||::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......
::::::::::::::::::::::::::::::::::::::::::::::::::::::::=••••••••••••••••••••••••••••••••••••••••••••%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%===============||||||||||||||||::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......
::::::::::::::::::::::::::::::::.........:::::.::::::::••••••••••••••••••••••••••••••••••••••••••••%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%•%%%====================|||||||||||::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......
::::::::::::::::::::::::::::::::........:::|::.:::..:•••••••••••••••••••••••••••••••••••%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%•=%%====================|||||||||||::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......
:::::::::::::::::::::::::::.............:::|::....:%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%•%%•••%%====================|||||||||||::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......
:::::::::::::::::::::::::::............::::::::.:%••••••••••••••••••••••••••••••••••••••••••••••%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%•••%%%%=====================||||||||::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......
:::::::::::::::::::::::::::................::.:•••••••••••••••••••••••••%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%•••%%%%%====================||||||||::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......
::::::::::::::::::::::::....................:••••••••••••••••••••••••••%•••••••••••••••%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%======================||||||||::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......
::::::::::::::::::::::::..................=••••••••••••••••••••••••%==•••••••••••%••••%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%=======================||||||||::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.......
::::::::::::::::::::::::.......::....::•••••••••••••••••••••••••••%%%••%••••••%%%%•%%••%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%======================||||||||:::||||:::::::::::::::::::::::::::::::::::::::::::::::::::::.......
:::::::::::::::::::::::::::.....:...|••••••••••••••••••••••••••••••••••••••%==%=%%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%====================||||||||::|||||:::::::::::::::::::::::::::::::::::::::::::::::::::::.......
:::::::::::::::::::::::::::......=••••••••••••••••••••••••••%••••=%••••••••=••=%%%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%====================||||||||::|||||:::::::::::::::::::::::::::::::::::::::::::::::::::::.......
:::::::::::::::::::::::::::.:|%•••••••••••••••••••••••••••••••••%%%•••••••%••%=%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%====================|||||||||||||||::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..
::::::::::::::::::::::::=%•••••••••••••••••••••••••••••••%%=••••%••••••%=•••=|%=%%%%%•%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%====================|||||||||||||||::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..
::::....::::::::::==••••••••••••••••••••••••••••••%||||==%%%%%%%%%%%%=%•••===|=|====%%%•••%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%===%%============|%||=|||||||||||::::::::::::::::::::::::::|:::::::::::::::::::::::::::::::::::..
::::........:|=%•••••••••••••••••••••••••••••••••%:::::==%=======%%==%%%=%====%======%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%===%%==============••||||||||||||:::::::::::::::::::::::::|::::::::::::::::::::::::::::::::::::..
.|===%••••••••••••••••••••••••••••••••••••••••••••::::|%%=||=||||%%•••|=%||========%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%=======================|=|||||||||||||:::::::||:::::::::::|::::::::::::::::::::::::::::::::::::..
•••••••••••••••••••••••••••••%%%•••••••••%%==|:|•=:====••=|==||||%===:|==||=======%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%=========================|||||||||||||::::|:|:::::::::::::|::::::::::::::::::::::::::::::::::::::
••••••••••••••••••••••••••%%==%•••••====••:|:::::=====|•%==%==|==:==|=||=|=========%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%=========================||||||||||||:::::::••::::::::::::::::::::::::::::::::::::::::::.:.::::::
•••••••••••••••••••••••%••••••%•%==||||||:||:|:::||=:::::|||==||||||||==========%%%%•%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%=========================|||||||||||||::|:=%|::::::::::::::::::::::::::::::::::::::::::::::::::
•••••••••••••••••%%••••••••••%|||:||||||:|||||::::||:::::::|==||||||||==========%%%%•%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%=========================|||||||||||||::||:::::::::::::::::::::::::::::::::::::::::::::::::::::
••••••%•••%%%%%••••••••••%%=||||::|||||||||||::::::::::::::||||||===============%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%%%=======================||||||||:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
••••%•••%=%%%••••••%%%=|||||||||||||||||||||:::::::::::::::||||||======%========%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%%%%======================||||||||:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
%•%•=%%•••••%%========|||||||||||||==||::::::::::::::::::::|||||==|===|=========%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%=========================||||||||:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
%%•%%%%===|||||||||||||||===|:::|||::::::::::::::::::::::::|||==================%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%=%%%%=======================||||||||||:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
%|=|===||||::::::::|||||====|:::||::::::::::::::::::::::::::||===============%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%=======================||||||||||:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|||||||%||:=||||||||||||||||||||:::::::::::::::::::::::::|||=======|====%%%%%%%=%••%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%=====================|||||||||||||::::::::::::::::::::::::::::::::::::::::::::::::::::::
||||:::=:|:==|||||||||::|||||::::::::::::::::::::::::::::||==|=======%%%%%%%%=%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%=====================|||||||||||||::::::::::::::::::::::::::::::::::::::::::::::::::::::
%||||||=|===||=|||||::||::::::::::::::::::||:::::::|:::::|||====||===%%%••••••%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%===========================|||||||||||::::::::::::::::::::::::::::::::::::::::::::::::::::::
|=|||||==|==|=:|:|||::::::::::::::||||||:::|:::::::|:::::|||=========%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%==========%%===============|||||||||||::::::::::::::::::::::::::::::::::::::::::::::::::::::
%||||||==|:::%•:||||:::::::::::::::::::::::::|:::::|:::::|||======%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%==========%%===============|||||||||||::::::::::::::::::::::::::::::::::::::::::::::::::::::
|||||||||::::=•=||||::::::|||:||::::::::::::|||||:::::||||||====%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%%%%%%%==============||||||||:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|||||||||:::==|::|||::::::|:::::::::::::::::||||||::::||||||===%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%%%%%%%==============||||||||:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
||:::::::||||||||::|||=|::::::::::::::::::||||=================%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%=====%%=============||||||||:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::||||||||:::::::::::::::%:::::::::||||================%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%%====%%=============||||||||:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::||:::::|||||||::::::::::::::::=|:::||||||||================%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%%%%==%%=============|||||=|||||||::::::::::::::::::::::::::::::::::::::::::::::::::::
:::|::::|=||:::::::::::::::::::::::::||||||||===%%==========%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%%%%==%%=============||||==|||||||::::::::::::::::::::::::::::::::::::::::::::::::::::
||||:::::|||:::::::::::::::::::::::::||||||||===%%%%========%•%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%%%%==%%=============||||==|||||||::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::=:::::|||||:|||||||•||===%%%%======%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%%%%==%============||||||===|||||||||:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::|::::::|||||:|:|||||=|====%%%=======%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%%%%==%============||||||===|||||||||:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::||||||||||||========%%=====%%•%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%%%%===============|||||||===|||||||||||||||::::::::::::::::::::::::::::::::::::::::.:
::::::::::::::::::::::::::::::||||||||||||=======%%%=====%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%%%%===============|||||||===|||||||||||||||::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::||::::::::|||||||||||||=|========%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%%%%===============|||||||===|||||||||||||||::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::|||||||||||||||||||||||=|||======%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%=======================||||||||====|||==||||||||::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::|||||||||||||||||||||||||||===%%%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%=======================||||||||===||||==||||||||::::::::::::::::::::::::::::::::::::::::::
||::::::::::::||||||||||||||=|||||||||||||======%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%====================||||||||||||===||||||==|||||::::::::::::::::::::::::::::::::::::::::::
|||:::::::::::||||||||||||||||||||||||||||=====%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%====================||||||||||||===||||||==|||||::::::::::::::::::::::::::::::::::::::::::
||||||||||||||||||||||||=======================%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%====================|||||||||||||===||||||||||||::::::::::::::::::::::::::::::::::::::::::
||||||||||||||||||||||||=======================%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%====================||||||||||||||====||||||||||::::::::::::::::::::::::::::::::::::::::::
|||||||||||||||||==|||||=======================%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%====================|||||||||||||||===||||||||||::::::::::::::::::::::::::::::::::::::::::
||||||||||||=||=||||||||==================%%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%=================||||||||||||||||====||||||||::::::::::::::::::::::::::::::::::::::::::
||||||||||||||=|||||||||==================%%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%=%%%%%%%%%=================||||||||||||||||====||||||||::::::::::::::::::::::::::::::::::::::::::
||||======|||==================%%%%%%%%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%=%%%%============||||||||||:|:=:=|====|::::::|||:::::::::::::::::::::::::::::::::::::::
||||=====|||||================%%%%%%%%%%%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%============%%%%%%============|||||||||||:=•=:|====|::::::|||:::::::::::::::::::::::::::::::::::::::
||||=====|||||==============%%%%%%%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%==============================|||||||||||:=%=:|||==|||||::||::::::::::::::::::::::::::::::::::::::::
||||=====|||||====%•=======%%%%%%%%%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%===========================||||||||||||||||::||||||||::::::::::::::::::::::::::::::::::::::::::::
===================%=.......|%%%%%%%%•••%%%%•••••••=.......%•••••••••••:::::::::::::::::::::::::=•%::::::::::::::::::::::::::•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%••••%%••%%%%%%•••••%%%%%===========================|||||||||||||:::::::||||||::::::::::::::::::::::::::::::::::::::::::::
=========%%%%%%%%%:............%%%%%%••••••••••••.............•••••••••.........................|•=..........................••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••==%%•%%%%%%%%%%%%%%%%==========================|||||||||||||::::::::|||||::::::::::::::::::::::::::::::::::::::::::::
=========%%%%%%%=................%%%%••••••••••................|•••••••.........................|•=..........................••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%======================|||=======|||||||||||||::::::::::|||::::::::::::::::::::::::::::::::::::::::::::
============%%•...................%•••••••••••...................••••••.........................|•=..........................••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••=%••••%•%%••••%%•==%====||||||||=======||||||====|||:|:==|||||:::::::::::|||||:::::::::::::::::::::::::::::::::::::::::
============%=.....................%•••••••••.....................•••••.........................|•=..........................•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%=%%•••••%%=%===|||||||||||||||||||||=====|||=:|:||||||::::::::::::||||:::::::::::::::::::::::::::::::::::::::::
===========%%:......................••••••••.......................••••.........................|•=..........................••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%=%%%%%••%%%===||||||||||||::::||||||====|||:••%:|||||::::::::::::||||:::::::::::::::::::::::::::::::::::::::::
%%%%%%%%%%%%=........................••••••........................=•••.........................|•=..........................•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%====%====|||||||||||||||||||||||||||||=%•=|::::::::::::::::::|=|||:::::::::::::::::::::::::::::::::::::::
%%%%%%%%%%%%.........................:••••%.........................•••.........................••=..........................•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%||====||||||:|:||||||||||||||||||||==||:::::::::::::::::::|=|||:::::::::::::::::::::::::::::::::::::::
%%%%%%%%%%%%..........................••••..........................:••||||||||||||||..........%••=..........................•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%•••••••••%•••••••••••••%%=|:===||||||::::::::|||||:::::||||||||||::::::::::::::::::|==||:::::::::::::::::::::::::::::::::::::
%%%%%%%%%%%...........•••••|..........=•••..........:•••••...........•••••••••••••••%..........•••=........•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%•%%%%%%%%•••••••••••%••••%%=|:==|||||::::::::|||||:::::|||||||||||::::::::::::::::::||||:::::::::::::::::::::::::::::::::::::
%%%%%%%%%%%..........••••••••..........••:.........%•••••••..........•••••••••••••••..........••••=........•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%=%%||=====%%%%%%===%•%%•••••••%••••••%%=:::=|::|:::::|||||||:::::|||||:||||:::::::::::::::::::::||||:::::::::::::::::::::::::::::::::::
%%%%%%%%%%%.........•••••••••|.........••..........•••••••••.........%•••••••••••••:.........:••••=........•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%=====|==||:|||||||%|====%%%%%%•••••••••••=%%%%=::|=|::::::::::::::::::|||||::::::::::::::::::::::::::|==|:::::::::::::::::::::::::::::::::::
%%%%••••••%.........••••••••••.........••.........••••••••••|........|•••••••••••••..........•••••=........••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%======||||:||=::::::::::=::|==%=%%==%%%%%•••••••%•••%%|:||=:::::::::::::::::|||||::::::::::::::::::::::::::|=||:::::::::::::::::::::::::::::::::::
••••%•••••=........|••••••••••.........••.........•••••••••••........:••••••••••••..........%•••••=........•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••====||||||||||::::::::::::::|::||===%%%%•••%%•••••%•••••%•%|:::||::::::::::::::::::::::::::::::::::::::::::::::::||||:::::::::::::::::::::::::::::::::
••••%•••••=........•••••••••••.........••.........•••••••••••........:•••••••••••%..........••••••=........••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%=|||:::::::::::::::::::::::::::::|===%=%%•••%%•••••%•••%%•%%=||::|:::=::::::::::::::::::::::::::::::::::::::::::::||||:::::::::::::::::::::::::::::::::
••••••••••|........•••••••••••.........••.........•••••••••••.........•••••••••••..........•••••••=........••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%=|=|:::::::::::::::::::::::::::::::||||||=|==%%%•%%%%%•••••%••%=%=|:::||=|:::::|::::::::::::::::::::::::::::::::::::::::||::::::::::::::::::::::::::::::::
••••••••••|........•••••••••••:........••.........•••••••••••.........••••••••••..........|•••••••=.......................•••••••••••••••••••••••••••••••••••••••••%=|||||::::::::::::::::.:::::::::::::::::::::|=|%==%%%%••%•%•••••••=||:::::||::::::::::::::::::::::::::::::::::::::::::::::||::::::::::::::::::::::::::::::::
••••••••••|........•••••••••••:........••.........•••••••••••.........••••••••••..........••••••••=.......................•••••••••••••••••••••••••••••••••••••••%==|||||::::::.......:.....:::::::::::::::::::::||=======%%%%%••••••%||:|::::%=|=::::::::::::::::::::::::::::::::::::::::::::||||::::::::::::::::::::::::::::::
••••••••••|........•••••••••••:........••.........•••••••••••.........•••••••••..........•••••••••=.......................•••••••••••••••••••••••••••••••••••••%=|||||::::::..........:.....::::::::::::::|:::::::||========|==•••••%=|||||||:||::%=|:::::::::::::::::::::::::::::::::::::::::::|||:::::::::::::::::::::::::::::
••••••••••|........•••••••••••|........••.........•••••••••••.........••••••••=..........•••••••••=.......................••••••••••••••••••••••••••••••••••••%|||||::::::............:.....:::::::::::::::::::::::||=====||=%%•••••%%%==||||::=•|•||:::::::::::::::::::::::::::::::::::::::::::|||:::::::::::::::::::::::::::::
••••••••••|........•••••••••••|........••.........•••••••••••.........••••••••..........••••••••••=.......................•••••••••••••••••••••••••••••••••••|||||::::::...........................:::::::::::||||||||=======%%%%•••••••%=|:::|:•:====%:::::::::::::::::::::::::::::::::::::::::::|:::::::::::::::::::::::::::::
••••••••••|........•••••••••••:........••.........•••••••••••.........•••••••..........=••••••••••=.......................••••••••••••••••••••••••••••••••••%||||::::..............................::::::::::::|:|||||=====%=%%%•%••••••%%||::::::::::|:::::::::::::::::::::::::::::::::::::::::::|:::::::::::::::::::::::::::::
••••••••••|........•••••••••••:........••.........•••••••••••.........••••••%..........•••••••••••=.......................•••••••••••••••••••••••••••••••••%||||:::::..............................:::::::::::::||:::|====%%%=%%••••••••%%==|||:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
••••••••••|........•••••••••••:........••.........•••••••••••.........••••••..........••••••••••••=.......................•••••••••••••••••••••••••••••••••|||||:::::..............................::::::::::|:||||||=====%%%%%%•••••••%••%===|:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
••••••••••|........•••••••••••.........••.........•••••••••••.........•••••|.........:••••••••••••=........•••••••••••••••••••••••••••••••••••••••••••••••%||:|::::::..............................::::::::::|||:||||===%%%%=•%%•••••••••••%%=|:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
••••••••••=........%••••••••••.........••.........•••••••••••........:•••••..........•••••••••••••=........•••••••••••••••••••••••••••••••••••••••••••••••%|||::::::...............................:::::::::||::::||===%%%%%%%%••••••••••••••%=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
••••••••••%........|••••••••••.........••.........••••••••••%........|••••..........%•••••••••••••=........•••••••••••••••••••••••••••••••••••••••••••••%%=|||::::::...............................::::::::::|::::|====%%%%%%%%•••••••••••••••%=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
•••••••••••.........••••••••••.........••.........••••••••••.........=•••%..........••••••••••••••=........••••••••••••••••••••••••••••••••••••••••••••••%||||:::::::..............................:::::::::::::::===%%%%%%•••••••••••••••••••%%=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
•••••••••••.........%••••••••..........••..........•••••••••.........••••..........•••••••••••••••=........••••••••••••••••••••••••••••••••••••••••••••••=||:::::::::..............................:::::::::::::::===%%%%%%•••••••••••••••••••••%=::::::::::.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
•••••••••••..........•••••••:..........••|..........•••••••..........•••..........|•••••••••••••••=........•••••••••••••••••••••••••••••••••••••••••••••%||::::::::::::..:..............................:::::::::||||=%%%%%%••%•••••••••••••••••••%|=::.::::::::::::::::::::::::|:::::::::::::::::::::::::::::::::::::::::::::::
•••••••••••...........:••••...........%•••...........%•••|...........•••..........••••••••••••••••=........••••••••••••••••••••••••••••••••••••••••••••%=||:::::::::::::::..............................:::::::::||||=%%%%•%••%%••••••••••••••••%•%|=::::::::::::::::::::::::::.•:::::::::::::::::::::::::::::::::::::::::::::::
••••••••••••..........................••••..........................=••.........................|•=..........................••••••••••••••••••••••••••%=||:::::::::::::::...................................:::::|||==%%%•%••••%•••••••••••••••%•=||::::::::::::::::::::::::::|::::::::::|:::::::::::::::::::::::::::::::::::::
••••••••••••.........................%•••••.........................••=.........................|•=..........................••••••••••••••••••••••••••%=||:::::::::::::::....................................:::::=|===%%%%••••••••••••••••••••••==|:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
•••••••••••••........................••••••........................•••|.........................|•=..........................••••••••••••••••••••••••••=||||::::::::::::::......................................:::|:|==%%•%•••••••••••••••••••••••%|::::::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
•••••••••••••%......................••••••••......................|•••|.........................|•=..........................•••••••••••••••••••••••••%|||||::::::::::::::.....................................:::::||==%%%•••••••••••••••••••••••••::::::...:...........:::::::::::::::::::::::::::::::::::::::::::::::::::::::
••••••••••••••=....................••••••••••.....................••••|.........................|•=..........................•••••••••••••••••••••••••%|||||::::::::::::::........................................::::|==%%••••••••••••••••••••••••=::::::....:.........::::::::::::::::::::::::::::::::::::::::::::::::::::::::
•••••••••••••••%..................••••••••••••..................|•••••|.........................|•=..........................•••••••••••••••••••••••••%|||||||::::::::::::.....................:||||||:...........::::||==%%%••••••••••••••••••••%%||:::::....:..........::::::::::::::::::::::::::::::::::::::::.::::::::::::::
•••••••••••••••••...............|••••••••••••••=...............•••••••|.........................|•=..........................••••••••••••••••••••••••••=|||||||:::::::::...................:=%%%%%%•%%%=%=|.........::::||=%%•••••••••••••••••••••%=||::::....:.........•|::::::::::::::::.::::::::::::::::::::::.::::::::::::::
•••••••••••••••••••...........:••••••••••••••••••|...........%••••••••|.........................|•=..........................••••••••••••••••••••••••••=|||||||:::::::::................:|=%%•••••••••••••%==:.......::::|=%•••••••••••••••••••••••%=|::::...:::..........:::::::::::::::.|:::::::::::::::::::::::::::::::::::::
••••••••••••••••••••••|:..:=••••••••••••••••••••••••%:..:|•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%==|||::::::::::::.............|=••••••••••••••••••%=|:........::|=%%•••••••••••••••••••••%||||::..........=......::::::::::::::::::::::::::::::::::::::::::::::::::::::
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%=|||:::::::::::............=%••••••••••••••••••••%%=::.......::=•%%•••••••••••••••••••••||:::...........=......:.::::::::::::::::::::::::::::::::::::::::::::::::::::
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%=|||:|::::::::............=••••••••••••••••••••••••%=::......::|%%%%••••••••••••••••••••||:::...........:......:::::::::::::::::::::::::::::::::::.::::::::::::::::::
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%=||||::::::::..........:=%••••••••••••••••••••••••%=|::.....:::=%%%••••••••••••••••••••||:::..................:::::::::::::::::::::::::::::::::::.::::::::.:::::::::
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%==|||:::::::...........|%••••••••••••••••••••••••%%=|::.:.....:|=%•••••••••••••••••••••|||:::...................:::::::::::::::::::::::::::::::::.::::::::::::::::::
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%===|:::::::..........:=%••••••••••••••••••••••••%==|:::.:....::=•••••••••••••••••••••=|||:::.......:...................:::::::::::::::::::|:::::.::::::::::::::::::
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%===|::::::..........|%••••••••••••••••••••••••%==||::::......:=%%•••••••••••••••••••%|||:::.......:...................:::::::::::::::::::::::::.::::::::::::::::::
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%=||||::::..........|%•••••••••••••••••••••••%==||::::::.....::%•••••••••••••••••••••|||:::.......:.............................:::::::::::::::.::::::::::::::::::
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%=||||:::.........:|%•••••••••••••••••••••••%=||:::::.|.....::%••••••••••••••••••••%|||:::.......:.............................:::::::::::::::.::::::::::::::::::
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%=||::::.........:|%%•••%%%%••••••••%•••%%%%=|::::::.......::%••••••••••••••••••••%||:::::::.......................................::::::::::.::..::::::::::::::
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%=|:|::.........:|%%%%%%%=%%%••••••••%••=%=||::::::...|=...:%••••••••••••••••••••==|::::::::...:..................................:::::::::::::::::::::::::::::
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%=||::.........::===========•••••%••••|%%=::::::::......:.:%••••••••••••••••••••==|::::::::......................................::::::::::.::::::::::::::::::
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%=|:::........::%=====|:||=%•%•%%%%•%%==|::::::..........:••••••••••••••••••••%=||:::::::...:.....................................::::::::.::::::::::::::::::
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%|::........::||||||::::||••======|=||::::::.........|.:••••••••••••••••••••%=||:::::::...|.....................................::::::::.::::::::::...:::::
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••=|:.........:::::::::::|%•%|=•%%:|=|::::::............:•••••••••••••••••••%=||::::::.....|.............................................:::::::::::.:::::::
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%=|.........:::::::::::|:=%•••%•:||::::::.............|•••••••••••••••••••%|||::::::.....=..............................................::::::::::.:::::::
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%=:........::::::::::::::|||%=•:::::::::.............:•••••••••••••••••••=|||::::::.....:..............................................::::::::::.:::::::
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••|.........:::::::::::::::::::::::::.::.............%•••••••••••••••••••|||:::::::....................................................::::::::::.:::::::
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%...............:::::::::.::::::::.::............:•••••••••••••••••••%|||::::.::....:...............................................::::::::::.:::::::
•••••••%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%........::...:::::::::::::..:::::............=.•••••••••••••••••••%=|||:::...............................................::...........:::::::::.::::
•••••••%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••=...............::::..:::..::::............|.••••••••••••••••••••%=||:::.............................................................:::::::::.::::
%%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%...........:::::::::::..::......:......|•••••••••••••••••••••%=||::::..................................................................:::::::::
%%%%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••=........:::...:::::..:::::........:••••••••••••••••••••••%=||:::::..................................................................:::::::::
%%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%:....::....:::::::.........:=•••••••••••••••••••••••••=||:::::..........................................................................::
%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%=|:....:.:::::...:|=•••••••••••••••••••••••••••••=|||:::............................................................................::
%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%••••••••••••••••••••••••••••••••••%|||:::.............................................................................::
%%%%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%=||:::..............................................................................::
%%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%=||::::..............................................................................::
%%%%%%%%%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%===|||:::..................................................................................
%%%%%%%%%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%=|||||:::....................................................................................
%%%%%%%%%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%••==|||||:::.....................................................................................
%%%%%%%%%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%=||||||::::.....................................................................................
%%%%%%%%%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%==|||||::::::................•:...................................................................
%%%%%%%%%%%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%==||||||||:::.::....::...........•%•..................................................................
%%%%%%%%%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%•••••••••••••••••••••••••••••••••••••••••••••••••••••••%%•••••••••••••••••••••••••••%=|||||||:|:::::::::...::...........=|%..................................................................
%%%%%%%%%%%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%•••••••••••••••••••••••••%%=|||||||:::::::::::::..::...........===::................................................................
%%%%%%%%%%%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%•••••%%%%%•••••••••••••%=|||||||:::::::::::::::::.............=:..:...............................................................
%%%%%%%%%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%••••••••••••••••••••••••••••••••••••••••••••••••••%====%%%••%%%%%•••%%%•%%%•••==||||||:::::::::::::::::...............|:::...............................................................
%%%%%%%%%%%=%%%%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%••••%%%•%%•••••••••••••••••••••••••••••••••••••••••••••••%%•••••%%%%%%%%•%=======||||||:::::::::::::::::...................:.................................................................
%%%%%%%%%%%%%%%%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%••%%%•••••••••••••••••••••••••••••••••••••••••••••%%•••••%%%%%%%%%%====||||||::::::::::::::::::::.....................................................................................
%%%%%%%%%%%%%%%%=%%%%%%%••••••••••••••••••••••••••%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%•••••••••••••••••••••••••••••••%•••••••••••••%••••%%•••%%%%%%%==||||||||::::::::::::::|::::......................................................................................
%%%%%%%%%%%%%%%%=%%%%%%%••••••••••••••••••••••••••%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••%%••••••••%%%%%%==|||||||||:::::::::::::::::::......................................................................................
%%%%%%%%%%%%%%%%%%%%%%%%•••••••••••••••••••••••%%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••••••••%%=====||||:::::::::::::::::.|::..........................................................................................
%%%%%%%%%%%%%%%%%%%%%%%%%%••••••••••••••••••••%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%••••%%%%%%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••%=||||:||||::::::||:::::::::::::..........................................................................................
%%%%%%%%%%%%%%%%%%%%%%%%%•••••••••••••••••••••%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%••••%%%%%%%%%%%%%%•••••••••••••••••••••••••••••••••••••••••••••••%%%==|||::|||:::::::||::::::::::.............................................................................................
%%%%%%%%%%%%%%%%%%%%%%%•••••%%••••••••••••••••%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%••••%%%%%%%%%%%%%%%•••%%••••••••••••••••••••••••••••••••%%•••••%•%%=%=|||::||:||||:|:||:::::::::::............................................................................................
%%%%%%%%%%%%%%%%%%%%%%%%••••%••••••••••••••••%%%%%%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%••••%%%%%%••%%%%%%%••••••••••%••••••••••%%%%%•%•%•••••••••••••••%%%===••=====|%%=|||:::::::::::::.............................................................................................
=======%%%%%%%%%%%%%%%%%%%%%•%%%%%%%%%%%%%%%%%%%%%%%%%%%%••%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%••••%%%%%%••%%•%%%%%%••••••%%%%%%%%%%%%•%%%=•%••••••%%%%%%••••••••%%%%•%•%==|||||:::::::::::::................................................................................................
=======%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%•••%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%••••%%%%%%••••••••••%•••••%%%%%%%%%%%%%%%%%••%%•=••%•••%%%==•••••%=====•%=||||||::::::::::::..................................................................................................
=======%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%•••%%%%%••••••••••••••••••••••••••••••••••••••••••••••••••••%%%%%%%%%%%%%••••%%%%%%••••••••••%••••%%%%%%%%%%%%%%%%%=••=%%=%==%•%|||||%%%%=||||||:||::::::::::::::::::..................................................................................................
==========%%%%%%%%%%==%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%••••••••••%%%%%%%••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%••%%%%%%%%%%%%%%%%%%%%%%%%%========%•|====||||||||||||||||:::::::::::::::...................................................................................................
==========%%%%=%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%••••••••••%%%%%%%••••••••••••••••••••••••••••••%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%••%%%%%%%%%%•%%%%=======%=%===||===|•||||||||||||||||||:=|::|::::::::::::.....:.............................................................................................
=======%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%•••••%%%%%%••••%%%%••••••••••••••••••••••••%%%%%%%%%%%%%%%%%%%%%%%=%%%%%%%%%%%%%%%%%%%%%%%%=====%%%%%=====|||========|=|•|||||::|||||||::::%=::::::::::::::.....................................................................................................
=======%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%•••••%%%%%%•••••%%%••••••••••••••••••••••••%%%%%%%%%%%%%%%%%%%%%%%=%%%%%%%%%%%%%%%%%%%%%%%%=====%%%%%=====||||||||||====•|||||:::::||||::::||::::::::::::::.....................................................................................................
=======%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%•••••%%%%%%%•••••%%•••••••••••••••••••••••••%%%%%%%%%%%%%%%%%%%%%%%=%%%%%%%%%%%%%%%%%%%%%%============||||||||||||||||||==|||||::::::::::::|::::::::::::::::.....................................................................................................
=======%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%••••••%%%%%%%%•••••%%••••••••••••••••••••%%%%%%%%%%%%%%%%%%%%%%%%%%%%=%%%%%%%%%%%%%%%%%%%%%%======|=====||||||||||||||||||||||::::::::::::::::|:::::::::::::::.....................................................................................................
========%%%%%%%%%%%%%%%%%%%%%%%%%%=====%%%%%%%%%%%%%%%%%%%%%%••••%%%%%%%%%%••••%%%••••••••••••••••••••%%%%%%%%%%%%%%%%%%%%%%%%%%%%=====%%%%%%%%%%%%%%%%%%============|||||||||||||||||:::|||:::|:::::::::::::::::::::::::::.....................................................................................................
====%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=%%%%%%%%%%%%%••••••••%%%%%••••%%•••••••••••••••••••%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=====%%========|||||||||||:|||:::::::::::::|::::::::::::::::::::.....................................................................................................
====%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%••••••••%%%%%•••••%•••••••••••••••••••%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=====%%========|||||||||||||||::::::::::::::::::::::::::::::::::.....................................................................................................
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%••••%%%%••••%%%%%%%%••••••••••••••••••••••%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%===%%%%%%%=======%|======|||||||||||||||::::::::::::::::::::::::::::::::::.....................................................................................................
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%••••%%%%••••%%%%%%%%••••••••••••••••••••••%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%======%%%%%=======%|======|||||||||||||||::::::::::::::::::::::::::::::::::..............................:......................................................................
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%••••%%%%%%%%%%%%%%%%%••••••••••••••••••••%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==================|======||||||||||||||||:::::::::::::::::::::::::::::.........................................................................................................
%%%%%%%%%%%%%%%%%%%%%%•••%%%%%%%%%%%%%%%%%%%%%%==%%%%%%%••••%%%%%%%%%%%%%%%%%%%%%%•••••••••••••••%%%%%%%%%%%%%%%%%%%%===%%%%%%%%%%%%%%%%%%%%%%%%%=================|||=======||||||||::|||::::::::::::::::::::::::::::.......................................................................................................::::
%%%%%%%%%%%%%%%%%%%%%%••%%%%%%%%%%%%%%%%%%%%%%%==%%%%%%%••••%%%%%%%%%%%%%%%%%%%%%%•••••••••••••••%%%%%%%%%%%%%%%%%%%%===%%%%%%%%%%%%%%%%%%%%%%==%=================|||=======||||||||::|||::::::::::::::::::::::::::::..................................................................................=:...................::::
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%====%%%=%%%%••%%%%%%%%%%%%%%%%%%%%%%%•••••••••••••••%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%======%%===============|=========|||||:::::::::::::::::::::::::::::::::::.............................................................................................::.:::::::::
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%====%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%•••••••••••••••%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%======%%===============|=========|||||:::::::::::::::::::::::::::::::::::.............................................................................................::.:::::::::
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%••••%%%••%%%%%%%%%=%%%••••%%%%%%%%%%%%%%%%%%%%%%%%%%•••••••••••••%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==================||||||||||::::::|:::::::::::::::::::::::::.::::::...........................................................................................::::::::::::
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%••••%%%•••%%%%%%%%%%%•••••%%%%%%%%%%%%%%%%%%%%%%%%%%•••••••••••••%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==================|||||:|||::::::::::::::::::::::::::::::::::::::::...........................................................................................::::::::::::
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%••••%%%•••%%%%%%%%%%%••••%%%%%%%%%%%%%%%%%%%%%%%%%%%•••••••••••••%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==============%===|||||:||||:::::::::::::::::::::::::::::::::::::::...........................................................................................::::::::::::
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%•••••••%%%%%%%%%%%%%•••••%%%%%%%%%%%%•••%%%%%%%%%%%%•••••••••••••%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==================|||||:|||||:::::::::::::::::::::::::::::::::::::::::......................................................................................::::::::::::::
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%•••••••%%%%%••%==%%%•••••%%%%%%%%%%%%•••%%%%%%%%%%%%•••••••••••••%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==================|||||:|||||:::::::::::::::::::::::::::::::::::::::::......................................................................................::::::::::::::
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%•••%%%%%%%%%%%%•••%%%%%%%%%%%%%%%%%•••••%%%•••••••••••••••••%%%%%%%%%%%%%%%%%%%%%%%••%%%%%%••••%%%%%%%%%%%%%%%%%%%%%%%==================|||||:||||||||::::::::::::::::::::::::::::::::::::::.........................................................................::::::::.......::::::::::::
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%•••%%%%%%%%%%%%•••%%%%%%%%%%%%%%%%%•••••%%%•••••••••••••••••%%%%%%%%%%%%%%%%%%%%%%%••%%%%%%••••%%%%%%%%%%%%%%%%%%%%%%%==================|||||:||||||||::::::::::::::::::::::::::::::::::::::.........................................................................::::::::.......::::::::::::
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%••%%%%%%%%%%%••••%%%%%%%%%%%%%%%%%%•••••%%%•••••••••••••••••%%%%%%%%%%%%%%%%%%%%%%%••%%%%%%%%••%%%%%%%%%%%%%%%%%%%%%%%=================|||||||||||||||:::::::::::::::::::::::::::=::::::::::..................................................................:......::::::::............:::::..
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%••%%%%•••••%%%%%%%%%%%%%%%%•••••%%%%%••••••••••••••••••••%%%%%%%%%%%%%%%%%%%%•%%%%%%%%%•••••%%%%%%%%%%%%%%%%%%%%=========%=====||||||||||||||||||||::::::::::::::::::::::::%:::::::::::::................................................................::::::::::::::.............::::..