````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/////////////////////////////////////////////////////////////////////////`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/////````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;///````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;[;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/////////////````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````///;;;;;;;;;;;;;;;;////`````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;///```//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````//////////////````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;///;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``````````````///;;;;;;;;;;;;;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/```````////;;;;;;;;;;;;;;;;;;;;;;;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;]>;;;[;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]<>;;++;++++;;;++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;[<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++;;++++@@>;-]@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++.@@@@@@@>+++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++[<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++;;;;;+++@@@@@@@@@@@@@@@@>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@<.>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++[@@@@@@@@@@@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++@>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]<;-@@@@@@@@@@@@@@@@@@@@@..>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++[@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++@@@@@@@@@@@@@@@@@@@@@@@@>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@<.>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++++++++[@@@@@@@@@@@@@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;------;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;---@@@@@@@@@@@@@@@@@@@@@@>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;--------@@@@@@@@@@@@@@@@@@.>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++[@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++;;++@@@@@@@@@@@@@@@@@>-]@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+@@@@@@@.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-@@@@@@@@@@@@@@@@@@@@@@.>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;[@@@@@@@@@@@@@@@@@@@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++++@>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@@@@@@@@@@@@@@@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++@@@@@.>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++[@@@@@@@@@@@@@@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;---@@@@@@>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@@@@@@@@@@@@@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;---@@@@@@.>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++++[@@@@@@@@@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;--------@@>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@@@@@@@@@@@@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;--------@@.>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++++[@@@@@@@@@@<;+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++++++@@>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@@@@@@@@@@@@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++@@@@@@@@.>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++[@@@@@@@@@@@@@@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++@@@@@@@>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@@@@@@@@@@@@<--.>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++[@@@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++@@@@@@@@@@@@@@@>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@@@@@@<.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++@@@@@@@@@@@@@@@@.>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++[@@@@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;---@@@@@@@@@@@@@@>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;---@@@@@@@@@@@@@@@@@@.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;----@@@@@@@.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;---@@@@@@@@@@@@@@@@@@.>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++++[@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++++@@@@@@@@@@@@@@@@@>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-@@@@@@@@@@@@@@@@@@@.>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++++++++;;;;[<;;;;;;;;;;;;;;;```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;--------->;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-;]@@@@@@@@@@@@@@@@@@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-;;-------@@@@@.@@>;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++++++[@@@@@@@@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++++++@@@@@@@@@@@@>;;;;;;;;;;;;;;;``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@@@@@@@@@<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++@@@@@@@@@@@@@@@@@@@@@@.>;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++[@@@@@@@@@@@@@@@@@@@@@@@<++;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@>;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;---@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.>;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;----@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@>;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;---@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.>;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@>;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.>;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@>;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.>;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;----@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@>;;;;;;;`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@>;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@>;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;---@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.>;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;---@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@>;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;---@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.>;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@>;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.>;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+;;;;;;;;;;;;;;++[@@@@<+++@@@@@@@@@@@@@@@@@@@@@>-]@<;;-.>+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++++[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````////////;;;;;;;;;;;;;;;;;;;;;;;;;;;;-;;;;;;-------->-]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;----@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````///;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;@@@;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;@@;@@@;;;;;;;;;;@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@;;;;;;;;;;;;;@@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/////////////////////////////////////;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;//////////////////////////////////////////////////////;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/////////////////////////////////////////////////////////////////;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;////////////////////////////////////////////////////////////////////////////;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/////////////////////////////////////////////////////////////////////////////////////;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/////////////////////////////////////////////////////////////////////////////////////////////;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;///////////////////////////////////////////////;;;;/;///////////////////////////////////////////////;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;/;;@@@@@@@;;;;//////////////////////////////;;;;;;/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;///////////////////////////////////////;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;///``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@/``//;;@;;;//////////////////////////////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//;;;;//////////////////////////////////;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;//////````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;/`````/;////////////////////////////;;//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;///////////////////////////////////;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;//////``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;/``///////////////////////////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/////////////////////////;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;/////`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;/////////////////////////;//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//////////////////////////;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/////````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;//////////////////////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/////////////////////////;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/////```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@;;/////////////////////;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@;@;;@@@@@@@@@@@@@@@@;@@@;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;/;////////////////////////;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;///`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@;;;////////////////////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;;;;;@@;;;;;;@@;@@@;;;;;@@@@@@@@@@@;@;;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/////////////////////;;;;;;;;;;//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@;;@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@;;;/////////////////;;;;;;;;;;;;;;;;;;;;;@;;;;@;;@;@;@;@;;@@@@@@@@;@@;;@@;;//`//;;@@;;;@@@;@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;///////////////////////;;;;;;//```````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@;;////////////////;/;;;;;;;;;;;;;;;;;;;@@@@@@@;;;;;@@@@@@@;;@@@@@;@@;;@;@@;/```````/;@@;@@@@;@@@@@@@@@@@@@@@@@@;;@;;;;;;;;;;;;;;;;;;;;;;/;///////////////////;;;@@;;//````````````````````````/;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@;;////////////////;;;;;;;;;;;;;;;;;;;@@@@@@@@@;;@@@@@@@@@@@@;;;;;;;;;;@;;;@;/``````````;@;@@@@;@@@@@@@@;;;;@;;@@@;;@@;;;;;;;;;;;;;;;;;;;;;;///////////////////////;@@@@;;/``````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@;;///////////////;;;;;;;;;;;;;;;;;;;@;;@@;;;;;;@;;;;;;;;;@@@@@@@@;;;;;;;;;;@;/```````````/;@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;/;///////////////////;;;@@@;;//```````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@;;///////////////;;;;;;;;;;;;;;;;@@@@;;@;;;@@@@@@@@@;;;@;;;@@;;;@@;;;@;;;;;;@@;`````````````/@@@;;@;;;@;@@@@@@;@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;///////////////////;;;@@@;;//````````````````/;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@;;//////////////;/;;;;;;;;;;;;;;@@@@;@@@@@;;;@@@@@@@@@;;;@;;@;;;;@;@@@@;@@@@;;@;/`````````````/@@;@@@@@@;;@@;@@@@@@@@@@@@@@@@@@@@@@@@;@@;;;;;;;;;;;;;;;;;;///;///////////////;;@@;;;;//``````````````/;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;/////////////;;;;;;;;;;;;;;;;@@@@;;;@@@@@@;;;@@@@@;;@@;;;@;@@;;;;;@;@@@@@@@@@@@;``````````````/;@@@@@@@@@;@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;////////////////////;;@@;@;;;/````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;@@;;///////////////;;;;;;;;;;;;;@@;;;;;@;;;@@@@@;;;;;;;@;;;@;;;;;@@@@;;@;@@;;;;;;;@@@;``````````````/;@@;;;@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;///////////////////;;@@;;@;;//`````````/@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;@;;////////////;//;;;;;;;;;;;;;@@@;;;;;@;@@@@@@@@;;;;;;;;;;;;;;;@@@@;;;@@@@;/`````/;@@;``````````````/@@;//////;@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;///////////////////;;@@;;@@;//```````;;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;@;;///////////////;;;;;;;;;;;@@@@@@;;;;;@@;;;;;;@@@;;;;;;;;;;;;;;;@@@@@;;@;@@;```````;@@;``````````````;@@/``````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;;;;;;;;;;;;;;////////////////;;;@;;;@@;//`````;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;;;//////////////;;;;;;;;;;;@@@@@@@@@;;;;;@@;;;;;;;;@;;;;;;;;;;;;;;;@@@@@;@@@;@;/``````;@@;/````````````/;@;/``````/@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;//////////////////;;@@;;;@@;//```;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;/////////////;;;;;;;;;;;@@@;;;@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;@;/``````;@@;/````````````;@@;/``````;@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;/////////////////;;@@;;;@@;///;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;;;////////////;;;;;;/;;;;;@@@@;;@@@;;@@@@@@@;;;;@@@@@@;;;;;;;;;;;;;;;;@@@@;;;;;;@@/``````/;@;;/``````````;@@@/``````/;@@;;@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;;;;;;;;;;;//////////////////;;@@;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;/////////////;;;;;;;;;;@@@@@;;;;@@@;;;@@@@@@;;;;@@@@;@@@;;@;;@;;;;;;;;@@@@;;@@@@@@/``````/;@;@;/```````/;;@@;/``````/@;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;/////////////////;@@@;;@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;;;;///////////;;;;;;;;;;;;@@@@;;;;;@@@@;;;;;;;@@;;;;@;@@;@@@@;@;;@;;;;;;;;@@@@@@@@;;;@;```````;@@;;;//```//;;@@@/``````/;@;;;@@@@@@@@@@;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;//////////////////;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;@;;////////////;;;;;/;;;;@@@;;;;@;;@@@@@@;;;;;;;@@;;;@@;;@;;;;;;;;@;;;;;;;;;@@@@@;;;;;@@;/``````/;@;;;;;;;;;@@@@;/```````/@;;@;;@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;//////////////////;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@;;;;;;;;;;;;;;;;;//////////;/;;;;;;;;;@@@;;;@;;;;;@;@@;;;;@@;;;;;;;@;;;@@@;;;@@;@;@@@;;;;;;@@@@@@@;;;@@;/```````/;@@@;;@@@@@@@;/```````/;@;@;;;@@@@@@@@@;;@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;/////////////////;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;////////////;;;;;;;;;;@@;@@@@;@;;;;;;@@;;;;@@;;;;;;;;;@@@;;@;;@@;@@;@@@@;;;;@@@@@@@@@@@@;/`````````;;@@@@@@@@;//````````;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;/;//////////////;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;///////////;;;;;;;;;;@@;;@@@;;@@;;;;;;@@;;;;@@@;;;;;;@;;;;@@@;;@;;@@;;;;;@@@@@@@@@@@@;@@@@/``````````/;;;;;;//``````````/;@;@;;@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;///////////////;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;///////////;;;;;;;;;;@@@@;;@@;//;@;@;;;;@@;;;;@@@@@;;;;;;;;;;;;@@@@@;;@;@@@@@@@@@@@@@@;;;@@@/``````````````/``````````````/@@@;@@@@;;@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;////////////////;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;//////////;;;;;;;;;;@@@;@@@@@;```/@;;@@;;;@@;;;;@;;@@@@@;;;;@@;@@@;;;@;@@@@@;;;@@@@@@@@@;@@@@;````````````````````````````/;@@;@@@@@@@@@;@@@;;@@;@@@@@@@@@@@@;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;///////////////;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;//////////;;;;;;;;;;@@@;;@;;;@;/```/;@@@;;;;;;;;;;;;;@@@@@;;;;@@;@;///;@@@@@@@;;@@@@@@@@@@@@@@@;/```````````````````````````/@@@@@@@@@@@@@;@@;///;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;////////////////;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@;;;;;;;;@;;///////////;;;;;;;;@@@@@@;;;;@@/`````;@@;;@@;;;;;;;;;;@@@@@@;;@@@@@;```/@@;@@;;;@@@@@@@@@@@@@@;;;;;;;;;;;////////////////////;@;@@@@@@@@@@@@@@/```;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;///////////////;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;@;;;//////////;;;;;;;;;@@@;;@@@;;@@;``````/;;@@;;;;@;;;;;;;;@@@@@@;@@@@@;```/;@@@@@;@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@;@@;/```;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;////////////////;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;//////////;;;;;;;;;@@;;@@;;;@;@@;/```````;;;@@;;;@@@;;;;;@@@@@;;@@@@;@;```/;@@;@@@;@@@@@@@@@@@;@@@;@@@;;@;@@@@@@;;;@@;@;;@@@@@@@@@@@@@@@@@@@@@@@;```/;@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;///////////////;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;@;;//////////;;;;;;;;@;@@@@;;;@;@@@@/````````/@;@;;@;;@@;;;;;@@@@@;;@@;@;@;/``/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@/```/@@@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;///////////////;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;@;;///////;//;;;;;;;@@@@;@@;//;@@;;@@/````````/;@@@;@;;@@;;;;;@@@@@;;@@;@;@;///;@@;@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/`/;@@@@@@@@@;@@;///;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;//////////////;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;@;/////////;;;;;;;;;@@;;;@@;/``/;@;;@@;;;;;/````;@@;;@@;@@;;;;;@@@@@;;@@@;;@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@@@@@/```;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@;@@@@;;;;;;;;;;;;//////////////;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;@;;////////;;;;;;;;;@@@;@;@@@/````;@;@;;@@@@@/````/;@@@@@@;;@@@@@@@@@@;;@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@;//;@@@@@@@;;;;;;;;;;////////////////;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@;;;;;/////////;;;;;;;;@@@;@@;;@;`````/;@@@@;;;@@;````/;@@@@@;@@@@;;;;@@@@;;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@;@@@@@@@@@@@@@@@/```/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;```//;@@@@@@@;;;;;;;;;;///////////////;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@;@@;/////////;;;;;/;;@@@@;;@;@@;```````;@;;;;;@@@;/````/@@;;@@@@@@;;;@@@@@;@@@;;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@;/```;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/`````;@@@@@@@@@;;;;;;;;;////////////////;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@;;;/////////;;;;/;;;@@@@@;;;;@;/```````/@@@;;;;;;@;````/;@;@@@@@@@;@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@;///;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/``````;@@@@@@@@@@;;;;;;;;;;;//////////////;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@;//////////;;;;;;;@@@@@@;;@@;/````````/;@;@;;@;;@;/````;@@@;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@;;@@@@@@@@@@@;@@;;;@;@@@@@@@@@@@@@@@;``````/;@@@@@@@@@@@;;;;;;;;;;;//////////////;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@;;/////////;;;;;;;@@@;@@@@;@@@;/`````````;@@;;;;@;@@/````/;@;;@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;``/;@@@@@@@@@@@@@@@;/`````/;@@@@@@@@@@@@@@;;;;;;;;;;//////////////;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@;;////////;;;;/;;;@@;@;;@@@@;@@;/////`````/;@;;;;@;;@;````/;@;@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;;@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;/```/;@@@@@@@@@@@@@;/``````;@@@@@@@@@@@@@@@;;;;;;;;;;;//////////////;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;/////////;;;;;;;@@;;;;;;@@@@@;@;;;@;/`````;@@;;;;;;@;/````;@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@;````;@@@@@@@@@@@@@@/``````;@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/////////////;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;////////;;;;;;;@@@@@@@@;@@@@@@;@@@@@@/`````/@@;@@;;;@@/``//;@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;@@@@;;;@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@/```/;@@@@@@@@@@@@@;``````/;@@@@@@@@@@@@@@@@@@@;;;;;;;;;;//////////////;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;///////;;;;/;;;@@@@@@@@@;@@@@@@;;;@;@@;`````/;@;@@;;@;@;//;@@;;@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;@@@@@;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@/```;@@@@@@@@@@@@@;``````/;@@;@@@@@@@@@@@@@@@@@@;;;;;;;;;;//////////////;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;///////;;;;;;;@@@@@@@@@@@;@@@@@@;;;@;@@;/`````;@@@;;;@;;@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@;//;@@@@@@@@@@@@@@/``````;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;//////////////;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;@@@@;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/////////;;;;;;;;@;@@;;;@@@@;@@@@@;;@;@@@@@/`````/;@;;;;;;@@@@@;@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@/``````/;@@@@@@@@@@@@@@@@@@@@@@@@;@;;;;;;;;;;////////////;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;@@@;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//////;/;;;;;;;;@;;;@;;@@@@@@;;;;;;;;;;@;@@;`````/;@;@@@;@@;;@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;``````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//////////////;;@@@;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@;;;;;;;;;;;;;;;;@@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````////////;;;;;;;@@;@@;;;;@@@@@@;;;;;;;;;;;;;@;/`````/@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@;/``````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;////////////;;@@@;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@;;;;;;;;;;;;;;;;@@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//////;/;;;;;;;@@@;@@@;@@;;@@@@;;;;;;;@@@@@;;@;`````/;@;;;;@@@@@@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@;/``````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/////////////;;@@@;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@;;;;;;;;;;;;;;@@@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````///////;;;;;;;;@@@@;;;@@@@;;@@@@;;;;;;@@;@;;;;@;/```/;@@;;@@@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;/;;@@@@@@;@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@/``````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/////////////;;@@@;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@;;;;;;;;;;;;;@@@@@;;;;;``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/////;;;;;;;;@@@@@;@@@@@@;;@@@@;;;;@@@@@@@@@@@@/`//;@@;@@@@@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/;;;;;@@;;;@;/;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;@@@@@@@@@;/`````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/////////////;;@@;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@;;;;;;;;;;;;;@@@@;;;;;;``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//////;;/;;;;;@@@;@;;;;;;;;;;;@@@@;;;;@@@@@@@@;@;@;;;@@;;@@@@@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//;;/;/;;;@@;//;;///;@;;;;;;;;;@@@;;@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@@@@@@@@;;/````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;;;;;;;/////////////;;@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@;;;;;;;;;;@@@@@;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//////;;;;;;;;@@@;@@;;@;;;;;;;;@@@@;;;;@@@@@@@@;@;@@@@@;@@@@@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@;;;;;@;//;;///;;;;@;`/;;///;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@@;;/`/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/////////////;;@@;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@;;;;;;;;;@@@@;;@;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````///////;;;;;;;;@@;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;@@@@@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@;;;;;;;;;;@;`/;;;//;;;;;;`/;////;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@;;;;;;;;;;;@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;//////////////;;@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/////;;;;;;;@@@;;;@@@@@;;;;;;;;;;;;;;;;;;;@;;;;@@;;;@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/;@;;;;;;;;;;;;;@;`/;/;//;;;;;/`/;////;;;;;;;;;;;;;;;;;;;/;;;;;;;;;@@@@@@@@@@@;;;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/////////////;;@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//////;;;;;;;;@@@;;;;@@@@@;;;;;;;;;;;;;;;;;;;@@@;;@@;;@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@;@;/;@;;;;;;;;;;;;;@/`/;////;;;;;/`/;////;;;;;;;;;;;;;;;;;@;/;;;;;;;;;;;;;;@@@@@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;;;;;;;/////////////;;@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@@;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````///////;;;;;;;@@@;@@@@@@@@;;;;;;;;;;;;;;;;;;;;@@@@;;@@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@;;;@;/;@;;;;;;;;;;;;;;/`;;////;;;;;/`;;////;;;;;;;;;;;;;;;;;@;/;;;;;;;;;;;;;;;;;@@@@@@@;;;;;;/;;;@@@@@@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/////////////;;@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//////;;;;;;;;@@@;@@@@@@@@;;;;;;;;;;;;;;;;;;@;;;;;;;@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@;@;;;;;;;/;;;;;;;;;;;;;;;;/`;;////;;;;;/`;;////;;;;;;@;;;;;;;;;;;//;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;/;;;@@@@@@@@@@@@@@;/`/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/////////////;;@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;///;;;;;;;;@@;;;;;@@@@@;;;;;@@@@@@@@@@@@@@;@;;;;;@@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/;@;;;;;;;;;;;;;;@;;;;;;;;;;;;;/`;;////;;;@;/`;;////;;;;;;;;;;;/;@;/;;/;;;;;;;;;;;;;;/;;;;;;;;@@@@@@;;;;;/;;@@@@@@@@@@@@@;```/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/////////////;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@;;;;;;;;;;;;`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//////;;;;;;;@@@;@;;@@@;;@;@@@@@@@@@@@@@@@@@@;@@@;;@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/;@;;;;;;;;;;;;;;;;;;;///////;;//;;//`/;;;;;//;;////;;;;;/;/;;;/;@;;@;/;@;;;;;;;;;;@;/;;;;;;;;;;@@@@@@;;/;;/;;@@@@@@@@@@;````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;;;;;;//////////////;@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/////;;;;;;;;@@@;;;;;@;;;;@@@@@@;;@@@@@@@@;@@@@@;;@@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@;/;;;;;;;;;;;;;/////////;;;;;;;;`/;;//`/;;;;;`/;;//`/;;;;;///////;;/;;;/;@;;;;;;;;;;@;/;;;;;;;;;;;;;;@@@;;;;/;;;@@@@@@@@;/````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;////////////;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/////;;;;;;;;@@@@@;;@;@;@@@@;@@@@;;@@@@@@@@;;@@@@;@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@;;;;;/;;;;;;;;;/////;;;;;;;;@@;;;;;`/;;//`/;;;;;`/;;//`/;;;;;;;;;;;/////;//;;;;@;/;@;;;;/;;;;;;;;;;;;;;;;;;@@;;;;/;;;@@@@@@;/```;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/////////////;;@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/////;/;;;;;;@@;;;;@@@;;;@@@@@@;@@@@@@@@@@@@@@@@;@@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@;;;;@;/;;;;;////;;;;;;;;;;;;;;;;;;@;`/;;//`;;;;@;`/;;//`/;;;;;;;;;;;;;;;///////;;;;;;/;@;/;;;;;;;;;;;;;;;;;;;;@;;/;;;;;@@@@@@;/`/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/////////////;;@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/////;/;;;;;;@@@;@;;@@@;;;@@@;@@;;;;;@@@@@@@@@@@;@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@;;;;;;;;//////;;;;;;;;;;;;;;;;;;;;;;@;`/;;//`;;;;@;`/;;//`;;;;;;;;;;;;;;;;;;;;//////;;;;;;//;;;;;;;;;;;;;;;;;;;;@@;;;/;;;;@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;//////////////;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//////;/;;;;;;@@;;@@@@@@;;;@@@@@@@;;;;@@@@@@@@;;;@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@;;;;;;;;;;////;;;;;;;;;;;;;;;;;;;;;;;;;@;`/;///`;;;;;;`/;;//`;;;;;;;;;;;;;;;;;;;;;;;;/////;;;/;;;/;;;;;;;;;@;/;;;;;;;@@;;;/;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//////////////;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;////;;;;;;;@@;;;;;@@@@;;;@@@@;;@@@;;@@@@@@@@;@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/;@;;;;;;;///;;;;;;;;;;;;;;;;;;@@@@@@@@@;;;/`/;///`;;;;;/`/;;//`;;;;;;;@;;;;;;;;;;;;;;@;;;;//////;@;;;;;;;;;;;;/;;;;;;;;;;@;;;/;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//////////////;@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;@@;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````////;;;;;;;;;@@;;;;@@@;;;;;;;;@@@;@;;@;;;;;;;;;;@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@;/;@;;;;///;;;;@;;;;;;;;;;;;@@@@@@@@@@@@@;;;/`/;///`;;;;;/`/;;//`;;;;;;;@@@@@@;;;;;;;;;;;;@;;;;///;;/;@;/;;;;;;;/;@;;;;;;;;;@@;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;//////////////;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;///;;;;;;;;@@;;;;@@@;;;;;;;;;@@;@;//;@@;@;@;;@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@@;;;;/;;///;;;;@;;;;;;;;;;;@@@@@@@@@@@@@@@@@;;;/`/;///`;;;;;/`/;///`;;;;;;;@@@@@@@@@@@;;;;;;;;;;;;;;;///;;;;;;/;@;//;;;;;;;;@@;;;@;;/;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/////////////;;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//////;;;;;;;@@;@;;;@@@;;;;;;;;;@;@;/``/@@@;;@;@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@;@@@@@;;;;;;////;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;/`/;////;;;;;/`/;////;;;;;;;@@@@@@@@@@@@@@;;;;;;;;;;;@;;////;;;/;@;/;;;;;;;;;;;;@;;@;;/;;;;@@@@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/////////////;@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//////;;;;;;;@@@@;;;;@@@;;;;;;;;;;@@/````;@@;;;@@@@@@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/;;/;@@;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;;;;;/`/;////;;;;;/`/;////;;;;;;;@@@@@@@@@@@@@@@@@;;;;;;;;;;@;;;////;@;/;;;;;;;;@;/`;;@;;;;;;/;;;;@@@@@@@@@@@;``/;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;////////////;;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;///;;;;;;;@@@@@;@@@@@@@@;;;;@@@@@@;````/;@;@@@@@@@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;/;;//@@;;;;;;;;;;@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/`;;////;;;;;/`/;////;;;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;;;;@;;;///;;/;;;;;;;;@/``;;;;;;;;;;/;;;;@@@@@@@@@/````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/////////////;;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;////;;;;;;;@@@@;;@@@@@@@@;;;;@@@@;@@/```/;@;@@@@@@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@;;;/`;@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;/`;;//`/;;;;;/`;;////;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@;;;;;;;;@;;;///;;;;;;;;@;/`/;;//;@@;@;;/;;;;@@@@@@@/`````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;//////////////;;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//////;;;;;;;@@;;;;;;@@@;;;;;;;;;;;@@@@;/`/;@;@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/;/`/@@;;;;;;;;;;;;;@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;@;/`;;//`/;;;;;/`;;//`/;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@;;;;;;;;;;;/;;;;;;;@;/`/;;////@@;;@;;/;/;;@@@@@@/```/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/////////////;@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````////;//;;;;;;@@@@;;;@;;;;;;;;;;;;;;;;;;@@;/;@@;@@@@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//;;;;`/;@;;;;;;;;;;;@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;@;/`;;//`/;;;@;`/;;//`/;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@/``/;;//`;;;;;;@;;;/;;;@@@@@/``/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;////////////;;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@@@;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;////;;;;;;@@@;;@@@@;;;;;;;;;;;;;;;;;;@;@@@@@@@@@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@//;;/;/`/;;;;;;;;;@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;@;``;;//`/;;;@;`/;;//`/;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@;;;;;;;;;;;;;@;/`/;;//`/;;;;;;;@@;;/;;;@@@@@;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;///;;;;;;;@@@;;;@@;;;;;;;;;;;;;;;;;;@;;;;@;@@@@@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@/`/;/;/`/;;;;;;;@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;`/;;//`/;;;@;`/;;//`/;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@;;;;;;;;;;;;/`/;;////;;;;;;;;;;@;//;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/////////////;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/////;;;;;;;@@@@@;;@;;;;;;;;;;;;;;;;;;;@;;;;;@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@;;@;`/;;///`/;;;;;;@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;`/;;//`;;;;@;`/;;//`/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@;;;;;;;;@;``/;///`;;;;;;;;;;;;@;;/;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;////////////;;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;/;;;;;;;;@@@;@@;;;;;;;;;;;;;;;;;;;;;@;;@;;@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@;;@;/`/;///`/;;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;`/;;//`;;;;;;`/;;//`;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@;;;;;@;/`/;;////;;;;;;;;;;;;;@;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;//////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;//;;;;;;;;@@;;;;;@;;;;;;;;;;;;;;;;;;;;@@;;@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@;;;;@/`/;;//``/;;;;;;@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;`/;///`;;;;@/`/;;//`;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@;;;;;/``;;////;;/;;;;;;;;;;;@;;;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;//////////////;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;///;;;;;;;@@;;;;;@@;;;;;;;;;;;;;;;;;;;;@;;@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@;;;;;@;``;;///`/;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@/`/;///`;;;;@/`/;;//`;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@;;@;``/;///`/;/;;;;;;;;;;;;;;@;;/;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;////////////;;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;///;;;;;;@@;;;;;;;;@;;;;;;;;;;;;;;;@@@@;@@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/;@;;;;;;;/`/;;//``/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`/;///`;;;;;/`/;///`;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@;;;;;/`/;;////;;;;;;;;;;;;;;/;;;@;;/;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;//;;;;;;;;@;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/;;;;;;;;@;``;;///`/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`/;///`;;;;;/`/;///`;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;/``;;///`;;/;;;;;;;;;@;//;;;;@;;;;;;@@@@@@@@@@@;/;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/////////////;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/////;;;;;;;@@;;@@@;;;;;;;;;;;;@@;;;;;;;;;;@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//;;;;;;;;;/`/;///``;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`/;////;;;;;/`/;///`;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;;;``/;;//`/;;;;;;;;;;;;;//;;;;;;@;;/;;;@@@@@@@@@/``/;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/////////////;;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/////;;;;;;;@@;@@;;;@;;;;;;@;;;;@;;;;;;;;;;@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;/;;;;;;;;;;/``;;///`/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`/;////;;;;;/`/;///`;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`/;;////;;;;;;;;;;;;;//;@;;;;;;;;//;;@@@@@@@;/````/@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/////////////;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;///;;;;;;@@@@;;//;;@;;;;;@;;;;;;;;;;;@;@@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@;;//;@;;;;;@@;;;``/;///``;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`/;//`/;;;@;/`/;////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``/;////;;;;;;;;;;;;;;/;;;;;;;;;;@;//;;@@@@@@/`````;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/////////////;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````////;;;;;;;;@@;;;````/;;@;;;;;;;;;;;@;;@@;;@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@;;/;;;;;;;;@@@;;;/``;;///`/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;/`;;//`/;;;@;/`/;////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;/`/;;//`/;;;;;;;;;;;;;/;;;;;;;;;;;@;;//;;@@@@@/````/;@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;;;;;;////////////;;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;//;;;;;;;@@@@;``````/;;@;;;;@;;;;;;@@;;;@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@;;/;;@;;;;@@@@@;;;;/`/;///``;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@;/`;;//`/;;;@;/`;;//`/;;;@;@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`/;;////;;/;;;;;;;;;;//;@;/;;;;;;;;;;;//;;;@@@;/`/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/////////////;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;///;;;;;;@@;@;/````````/;@;@;;@;;;;;@@;@@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@;//;;;;;;;@@@@@@@;;@/`/;////`/;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@;@;@@;/`;;//`/;;;@;/`;;//`/;;;@;@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``/;///`/;/;;;;;;;;;;;//;;/;;;;;;;;;;;;;//;;@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/////;;;;;;;@;@@/``````````/;;@@;;@;;;;@;;@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@;/;;;;;;;;@@@@@@@@;;@;``/;///`/;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@;@;;@;``;;//`/;;;@;`/;;//`/;;;@;@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;@;/`/;;////;;;;;;;;;;;;;;;///;;@;;;;;;;;;@;;/;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/////////////;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;//;;;;;;;@@@@;```//````````/;@@;;;;;;;;@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/;;;;;;;@@@@@@@@@;;;;;/`/;////`/;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@;;@;`/;;//`/;;;@;`/;;//`/;;@@;@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;/``/;////;;/;;;;;@@@;;;;@;//;;;/;;;;;;;;;;;;/;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@@;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/////;;;;;;;@;@;/``/;;/````````/;@@;;;@@;@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;///;;@;;;;@@@@@@@@@;;;;;;;``/;///`/;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;@;@;`/;;//`/;;@@;`/;;//`/;;;@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;``/;///`/;;;;;;;;@@@;;;;;;;//;/;;@;;;@;;/;@;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;////////////;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;///;;;;;;@;@@/``/;@@;;/```````/;@;;;@;;@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//;@;;;;;@@@@@@@@;;;;;;;;;/`/;///``;@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;@@@;`/;;//`/;;@@;`/;;//`/;;;@@;;@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@;/`/;;////;;/;;;;;;@@@@@;;;;;;///;;;/;;;;/;;;;;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;///////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````////;/;;;;;@@;@;```;@;;@@;/```````/;@;;;;@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;/;@;;;;@@@@@@@@;;;;;;;;;;@/``/;///`;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;`/;///`/;;;@;`/;///`/;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;/``/;///`;;/;;;;;;@@@@@@@;;;;;;//;;/;;;;/;;;;;;;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@@;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````////;;;;;;;;@;@;/``/;;;;;;;;/``````/;@@;;@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/;;@;;;;@@@@@@@@;;;;;;;;;;;;;/`/;////;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;;@;`/;///`/;;;@;`/;///`/;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;``/;/////;;;;;;;;;;@@@@@@@;;;;;;;//;@;;/;;;;;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;////////////;;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;//;;;;;;;@;@@;```/;@@;@;@@;;/`````;@@;@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@;/;;@;;;;@@@@@@@@;;;;;;;;;;;;;;/``;;//;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;``////`/;;;@;``;///`/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/``;;///`;;;;@;;;;;;;@@@@@@@;;;;;;;/;;;/;;;;;;;;@;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/////////////;@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/////;;;;;;@@;@;/````/;@@;;;;@@;/```/;;;@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@;/;;@;;;;@@@@@@@;;;;;;;;;;;;;;;;;/`/;;;;;;;;;@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@;/////////;@@;/`////`//;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@;;;;;;;//;///`/;/;;;;;;;;;;;@@@@@@@;;;;;;;////;@;;;;;;;;;//;;@@@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@;;;;;;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;;@;@@;``````/;@@;;;@;@;/``;@;;@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@;/;;;;;;;@@@@@@@@;;;;;;;;;;;;;;;;;//;;;;;;;;@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@;;/;;;///;;@;;@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@;;;;;;/////`;;;;;;;;;;;;;;;@@@@@@@@;;;;;;//;@;/;;;;;;;;;//;;@@@@@@@;/``/;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;////////////;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````////;;;;;;;@@;@@;/``````/;;@;;;;@;/`/;@@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@;/;;;;;;;@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@@@;;@@@@;;@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;//`/;;;;;;;;;;;;;;;;@@@@@@@@;;;;;;/;;/;;;;;;;;;;;/;;@@@@@@;/````;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;////////////;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;/;;;;;;;;@@;;@;/````````/;@;;@@/``;@@;@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@;/;@;;;;;@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;;;//;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@;@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@;@;;;;;;////;;;;;;;;;;;;;;;;;@@@@@@@;;;;;;//;;@;;;;;;;;;;/;;@@@@@/`````;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````////;;;;;;;@@;@@;@;/````````/;@@@;``/@@;@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/;;;;;;@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;///;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;//;;;;;;;;;;;;;;;;;;@@@@@@@;;;;;;/;@;/;;;;;;;@;/;;@@@@@/````/@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````///;;;;;;;;@;;@@;@@;/````````/;;;/``;@@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//;;;;;;@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;@@@;@;//;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@;;;;;;/;/;;;;;;;;;;;/;;@@@@;///;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;////////////;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;/;;;;;;;@;;@;;@;;@;//````````//``;@@@@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/;;;;;;@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;@;/;////;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//;;@;@@;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@;;;;;;/;;@;;;;;;//;;/;;@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;//;;;;;;@@;@;//;@;;@@;/``````````/;@;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;//;@;//;;;/;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/////;@;@@@@;;;;;;;;;;;;;;;;;;;;;;;;@@;@@@;;;;@;//;;/;;@;//;;;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/////////////;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;/;;;;;;@;@;/``/;@;;@@;/````````/;@;@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/;;;;;;@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;@@@;//;;;;@;;@@;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;//;@;//;@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@;;;;;///;;@;//;;@;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;//;@@@@@@;;;;;;;////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;;;;@;````//;@;;@;;/``````;@;;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/;;;;;;@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;@@@@@;/;;;//;;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@//;@@@//;;;;@@;@;;;;;;;;;;;;;;;;;;;;;;;;@@@@;@@;;;;;//;;;//;@;;;;//;;@@@@@@@@@@@@@@@@@@@@@@@@;/```/@@@@@@;;;;;;;;;///////////;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;//;;;;;;;@;;@/``````/;@@;@@;/```//@@;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@;//////;@;///;;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/;@;@;/;;///;@@;@@;;;;;;;;;;;;;;;;;;;;;;@@@@@@@;;;;;;/;;//;@;;;;;;/;;@@@@@@@@@@@@@@@@@@@@@;;/`````/;@@@@@@;;;;;;;;///////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;/;;;;;;;@@;@;/```````/;;;;@@;;//;@@;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@;/;@;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@;/;@@//;;//;@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/;@@;//;;////;@@@@@;;;;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;;///;@;;;;;;;;/;;@@@@@@@@@@@@@@@@@@;;/````````;@@@@@@;;;;;;;;////////////;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;/;;;;;;;@@@@;/`````````/;@;;@@@@@@;;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;;@@@@@@;/;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;;@@@@@@;@@@;;;@@;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;//;@;/;;//;;//;@@@@;;;;;;;;;;;;;;;;;;;;;;;;@@;@@@;;;;;//;@;;;;;;;;;//;;@@@@@@@@@@@@@@@;;/``````````/@@@@@@@;;;;;;;////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````///;;;;;;;@@;;@;/``````````/;;@;@@;;;;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;;;@@@@;/;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@;;;;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;////;@;///;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;//;//;;;;;;;;/;;@@@@@@@@@@@@@;;/```````````/;@@@@@@@;;;;;;;;////////////;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````////;;;;;;;@;;;@;````````````/;@;;;;@;@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;@;/;;;;;;@@@@@@@;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@;////;@;@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@;;/;;;;@;//;@@;@@@@@@;;;;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;//;;@;;;;;;;//;;@@@@@@@@@@;//```````````//;@@@@@@@@@;;;;;;;////////////;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;@@;;;@;````/`````````/;@;;;@@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@;;;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;@@@;@;//@@;/;@@@@;@@@@@;;;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;;/;@;/;;;;;;;/;;@@@@@@@@;//```````````/;;@@@@@@@@@@@;;;;;;;////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@@@;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````///;;;;;;;;@;;;@@;```/;;/````````/;@;;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;/;;;;;;@@@@@@@;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@;//;@;/;@@@@@@@;@@@;;;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;//;/;;;;;;@;;/;;@@@@@;/````````````/;;@@@@@@@@@@@@@;;;;;;;;////////////;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@@@;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;@@;;;;@;///@@@;/````````;@;@@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@@@;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;/////;@@@@@@;@@@@@@;;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;//;@;;;;;;;;/;;@@@@@/``````````//;@@@@@@@@@@@@@@@@@;;;;;;;////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@@;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;/;;;;;;;@;;;;@;@@;@@;;@;/```````;@;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@;@@;///;@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;/;@;;;;;;;;;/;;@@@@/````````//;@@@@@@@@@@@@@@@@@@@;;;;;;;/////////////;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;@;@;;;;;;@@;;;;;@;;/````/;;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@;@;@@@;@@;@@@@@@@@@@@;@@;;;;;;;;;;;;;;;;;;;;;@@@@@@@;;;;;/;/;;;;;//;/;;@@@@;/`````//;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////////////;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@;;;;;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;/;;;;;;;@@;;;;;;;;;;;;;;;@@;/```;@;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;//;;@;///;;;/;;@@@@/```//;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;/;;;;;;@@;;;;;;;;;;;;;;@;;;@;//;@@@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;/;;;//;;;;;/;;@@@@;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/////////////;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````///;;;;;;;;@;@;;;;;;;;;;;;;;;;;;@@@@@;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@;;;;;/////;;;;;;;/;;@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;@@@;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@;;@@@@@@@@@@;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;//;;;;;;;;;/;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;@;;;;;;;;;;;;;;;;;;;@@;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@;;;;@@@;;;@@;;;;;;@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;;;;;;;;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;////////////;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;@;;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;@@;///;;@;;;;;;@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;@@@@@@@;;;;;;;;;;;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;@@@;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;/;;;/``//;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;;;;;;;;;@;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////////////;;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;/;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;@@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;/``//;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//;@@@@;;@;@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@;@@@@;;;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;;;;;;;;;//;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;/;;/```//;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//;@@@@@@;@@;@;@@@@@@;;;;@@@@@;;@@@;@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;;;;;;//`/;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;/;;/```///;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//;@@@@;;@@@@@;;@@@@@;@@@@@@@;;@@;@@;@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;@@@;@@;;;;;;;;;/`/`//;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;///////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;/;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;//;;;;;//``////;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;//;;;;@@;@@@@@@@;@@@@@@@@@@;;;@@;;@;;@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;@@@@@;;;;;;////``/;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@/``/;;/;//```///;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@//;;//;;/;@@@@;@@@@@;@;@;@@@@@@;;@@@@@@;@@@@@@@@@@@@@@@@@;@@;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;@@@@;;;;;///```/;;///;;@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/;///////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;/``//;////```////;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;;;/;;//;;/;@@@@;;;;;;@;;@@@;;;;;@;;@@@;@@@@@@;;@@@@@;;@@;@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;///```/;;;////;;@@@@@@;//`/@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;///////////;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````///;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/``////////```///;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;//;;;;;//;;;;;;;;;;///;@@@@@;;//;;;;;;;;;;@;;;;;;;;;;;@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;//````/;;;//////;;;@@@;/`````;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////////////;@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;@@;@;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;/```///////```////;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;////;;;;/;;;;;///;@;///;@@;@@;///;;@;;///;@@;//;;;;///;@@;;@@;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;//````//;;/////`///;;@@@;/`````;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/```////////```///;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/////;;;/;;;;////;@;;;/;;@@@;/;//;@@@@;//;@@;;;@@@;;//;;@@@@;////;;@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;//````//;;/////``/;;/;;@@@;/```//;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////////////;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@;@@@@@@@@@;;;;@;/````///////```/;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;////;;;/;;;/////;@;;;//;@@@;;;//;@@@@;;/;@;;;@@@@;;;//;@@@@;///;@@@;@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;////``//;;/////``/;@@;/;;;@@@;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;///////////;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@;;;@@@@@@@;;;;;;;;/```////////`/;;;;;;@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//;;;;;/;;/;;//;;@;;;;/;;@;/;;//;@@;@@;//;;;@@;@@;;;//;@@@;;;;/;@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;///````/;;;/////`//;@;;;;/;;@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////////////;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;/;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;;;@@@@;;;;;;;;;;/````///////`/;;;;@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/;@;;;/;;;@;//;@@;;@;/;;@;;;;//;@@;@@;;//;;@@@@@;;;;/;;@@;;;;/;@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@;;;;;;;;//;/`````/;;;/////``/;@;;/;;;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////////////;;@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;;;;;@;;;;;@;;;;;/````///////;;;;;@@;///;@@;@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@;;@@@@;;@@;;//;@@;/;@@@;;@;//;;;;@;//;@@;@@@;//;@@;;@@;;;;//;@@;;;;/;@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@;;;;/////;/``/;;;/////``/;@@;/;;;@;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;///////////;;@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;@@@@;;;;;/```/////;;;;;@@;/;;//;;@;@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@;;;@;;;/;@;///;@;/;@@@@;;@;;/;;;;@;//;@@;@@@;///;@@@@@;;;;//;@;/;;//;@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@;;//`////;@//;;;////``/;@;;;;;;;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;////////////;;@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;/;;;;;@@@@@;;;;;/```//;;;;;;;@;//@@;//;;@@@@@@@@@@@@@@@;;;@@;;;@@@@@@@@@@@@@@@@@@@;@;;/;@;/////;;//;@@@;;@@;///;@@;/;;@@@;@;;;//;@@;@@;;@@;/;;;;@;//;@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;////////`/@@;;/////`/;@@;/;;;;;;;;;;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////////////;@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@@;;;;;;//``/;;;;;@@@;/;@@@@//;@@@@@@@@@@@@@@;;@@;;@@@@@@@@@@@@@@@@@@@@@;;;@;;;@;/////;;/;;@@@;;@@;//;@@;;/;;@@;@;;;;;//;@@@@;;;@;//;;;@;//;@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@;/////////////;;;////`/;@@;;;;;@;;;;;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;///////////;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;@;;@@;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;/;;;;;@@@@@;;;;;;;;;/`/;;;;;;@@;/;@@;@;/;@@@@@@@@@@@@@@;@@;;/;@@@@;;@@;;;@@@@@@@@@;;;@@@@@@;;/;;@@;;@@@;;;@@;//;@@@;/;;@;@@;;;@;//;@@@@;;;@;///;@@;//;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;@@@@@@;;////////////;;;;;//`//;@;;/;;;;;;;;;;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//////////;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;@;;;;;;;;;;;;;;;;@;;@;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;//;;;;;@;@;;//;@;//@@@@@@@@@@@@@@;@@;////;@@@;@;;@@@@;;@@@@@@;@;;@@;;;@;;;@;@@@@;;;;;;@@;/;@@;;/;;@@;;/;@@@;//;@@@;;@@;;//;@@;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@;;//////////////;@@;@/`/;@;;/;;;;;;;;;;;;;;@;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;///////////;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;/;;;;;;;@;;;;;;;;;;;;;;@;;;;;;;;;@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;/;;;;;@@@@@;;;;;;;;;;;;;;;;;;@;;@@;//;//;@;@@@@@@@@@;@@;@@;``/`/;@@@;@@@@@@;;;@;@@@;@;;@@;;;;;/;;/;@@@;;;;;;;@;;@@;;//;;;;;/;;@@@;//;;@@;;@@@;/;@@@;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@;;;/////////////////;@@@;;;@;/;;;;;;;;;;;;;;;;;;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;///////////;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@@;;;;;;;;;;;;;;@;``//;@;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;;;@@;/;;;;;///;@@@@@@@@@@@;@;;@@;/`//``//;@@;;@;;@;@@@@@@@;@;;;@@;;;/;;;;;@@@@@;@;;;@;;@@;;;;;;;;;;;;@;;;;;;;;;;;;;@;;;@;;;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@;;;///////////////////;@@@@@;/;;;;;;;;;;;;;;;;;;;///;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;///////////;;@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;@;/````;;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;/;;;;;@@@@@;;;;;;;;;;;;;;;;;@@//;;//;;;;@@@@@@@@@@@@@@;@@;///;///`//;@@@;;@;@@@;@@@@@@;;;@@@@;;;;@;@;@@@@@@@@;;@@@@@@@@@@@@@@@;@;;;;;;;;;;;;;@;;@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@;@@@@@@;;//`/////////////////;@@@;;;;;;;;;;;;@@;;;;;;;////;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;///////////;;@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;@;/```/;@@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@@;;;;;;;;;;;;;;;;;@;/;;////;@@@@;@@@@;;;;;@@;@;//;;/////``/;@@@;@;@@@;@@@;@@@@;;@@@@;;@@@@@@@@;;;;@@@;;;@;;;;;;@@@@@@;;@@@@@@@@@@@@@@@@@;;@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;@@@@;;;////////////////////;@@@;;;;;@;;;;;;@@@@;;;;;////;@;;/;@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////;//////;;@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;/``/;@@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@;;;;;;;;;;;;;;;;;@@//;//;;//;;;@@@@@@;@@@@;@@;/`/;///////``/;@@@@@@@;;@;;;@@@@;;@@;@;;;@;;@@;@;;@@@@;;@@@;@@@@;;@@@@@@;@@;@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;;;//`/////////////////;@@@;;/;;@@;;;;;;@@@@@;;;;;//;@@;;;/;;@@@@;//``/;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;///////////;@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;;;;;;;;;;;;;;@;;;@@;;;;;;@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@;@@@@@@@;;;;;;@@@@@@;;;;;;;;;;;;;;;;;@@;///;@@//;@@@@@@@;;@@@@;@;/``///////////`/;;@@@@;;@@@;@@;@@@;;@;@@@;;;;;;;@@;;@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@;;;@@@@;;@@@;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@;@;;;////////////////////;;@@;;;;;@@@;;;;;;;;@@@@@;;;;/;;;;;;;/;;@@@;/`````;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;///////////;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;/;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@;;;;@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;;;@@@@;//;;;/;@;@@@@@@@@@@@@@@;``/////////////`//;@@@;;;@@@@;@@;;;@;@@;;;@;;;;;@@;@@@@@;@@@@@@@@@@@@;@@@;;;@@@@;@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@;@@@@@;;//`/////////////////;;@@;;;@@@@@;;;;;;;;;;@@@@@;;;;//;//;;;//;@@@;``````;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/;/////////;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;/;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;@;;;;;;;@@@@@;;;;;;;;;;;;;;;;@@@;@@;;;//;;@@@@@@@@@@@@@@@;/``//////////////``/;@@@;;;@;;;;;;;@@@@@;;@@@@;;;;@;;@@@@;@@@@@@@@@@@@;@@@@@@@;;@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;;@@@@;;/////////////////////;@@@;;@@@@@;;;;;;;;;;;;@@@@@@;;@;//;;@;;;/;@@@;/```//@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;///////////;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;@@@@@;;;;;;;;;;;;;;;;;@@@@@;@@;/;;@;@@@@@@@@@@@@@@;/``///////////////``/;@@@;@@@@;@@;@@@@@@@@@@@@;;;;@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;@;@@;;;/////////////////////;;@@;;;@@@@;;;;;;;;;;;;;;;@@;@@;;;;/;;;;;;;/;;@@@;//;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;///////////;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;/;;;;;@@@@@;;;;;;;;;;;;;;;;;@@@@@@;@@@@@@;@@@@@@@@@@@@@;@;/``////////////////`/;;@@@;;;@;;;;;;@@@@@@@@@;;;;@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@;;;;;;;;;;;;@@@;;;//`///////////////////;@@;;;;@@@@;;;;;;;;;;;;;;;;@@@@@;;;;//;;//;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////////////;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;/;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@;@@;@@@;;;@@@@@@@@@@@@;/``////////////////`//;@@@@@@;;;@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@;;@;@@@;;//`///////////////////;@@@;;@;;;@@@;;;;;;;;;;;;;;;;@@;@@;;;;;//;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;//////////;;@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;/;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;;@@@@;@@@@@@@@@@@@@;@@@@@@@@@;;;@@;/``////////////////``/;@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@;@;;@@@@;;//`///////////////////;;@@;;;@@;;;@@@@;;;;;;;;;;;;;;;;@@@@@;;;;//;@;;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;///////////;;@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;/;;;;;@@@@@;;;;;;;;;;;;;;;;@@@@@@@;@@@@@;@@@@@@@@@@@@@@;;@;@@;/``////////////////``/;@@@;;@;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@;;@;;;///////////////////////;@@;;;;@;;;;@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;//;;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;///////////;;@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;;;@@@@@@@;;@@@@;@@@@;@@@@@@;@@;;@;;@@;/``/////////////////`//;@@@;;@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@;@@;;//`////////////////////;;@@;;;;;;;;;@@@@@@;;;;;;;;;;;;;;;;;@@@@;;;@;////;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;///////////;;@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@;/``/////////////////`//;@@@;@;;;;@@;@;@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@;@@@@;;@@@@@;;//`/////////////////////;@@;;;@@;;;;@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;@;//;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;///////////;;@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@;/``/////////////////``/;@@@;;@@;;@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@;;;;;;@@@@;;////////////////////////;@@;;;@@@@@@@@@@@@;@@@@;;;;;;;;;;;;;;;;@@@@@;;;;/;@@;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//////////;;@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@;/``/////////////////``/;;@@@;;;;@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@;;;;@;@;@;;;;//`/////////////////////;;@@;;;@@@@@@@@@@@@@@@@;@;;;;;;;;;;;;;;;;@@@@@;;;;;/;;////;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;///////////;@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;@;;;@@;/``//////////////////`/;;@@@@;@@@@;@@;;;;;;;@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@;@@;;@@@;;;;;@;@@;;//``/////////////////////;@@;;;@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@;;;;;////;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/;/////////;@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@;;;;;@;/``//////////////////`//;@@@@;@@;;@;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@;;;@@@;;@;;//`//////////////////////;;@;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;@;//;;@@;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;///////////;;@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;@@;/``//////////////////`//;@@@;@@;;@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@;;;;@;@@;;//////////////////////////;@@;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;/;;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;///////////;;@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@;;;@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@;;@;/``//////////////////``/;@@@@;@;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;@;;@;;;//`///////////////////////;;@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@;;;//;//;;;;;@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//////////;;@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@;;;;;;;;;;;;;;;;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@;;;;;@@;/``//////////////////``/;;@@@;@;;;;;;@@@@;;;;@@@@@@@@;;;;@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;//``//////////////////////;;@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;;;;;;;;;;;;;;;;@@@@;;;;;//;;;;;/;@@@@;;////;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//////////;;@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@;;;;@@@@;;;;;@@;/``///////////////////`//;@@@;@@@;@@@@@;;;;;@@@;@@@@;;;;@;;@@;@@@@@@@@@@;;;;;;;;;@@;@@;@@@;;//``///////////////////////;@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;;;;;;;;;;;;;;;;@@@@@;;;;/;@@;;;/;@@@;/`````;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//////////;;@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@;;;;@@@@;;;;;;@@;/``///////////////////`//;@@@@;;;;@@@@;;;;;@@@;@@@@;;;@;;@@@@@@@@@@@@@@;;;;;;;;@@;;;;@@;;//`/////////////////////////;@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;/;;;;;;/;;@@;``````/@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;///////////;@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@;;;;@@@@;@@;;@;;@;/``///////////////////`//;;@@@;;;@@@@;;;;;@@@@;;;;@;;;;;@;@@@@@@@@@@@@;;;;;;;;;@;@@;;;//``////////////////////////;@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;/////;;/;;@@;/````/;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;//////;////;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@;;;;@@@@;@@@@;;;;@;/``///////////////////``/;;@@@@@;@@@;;;;;;;@@;;;;;@@@@;@@@;;@@@@@@@@@;;;;;;;;;;@@;;//``/////////////////////////;@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;//;;;@;/;;@@@;///;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;//////;////;;@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;@;;@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@;@@@@;;@@@@@@@@@@@@@@@@@@;;;;;;;;;@@;/``////////////////////`//;@@@@@;;;;;;;;;;;;;;;;;;@@@;@@;;@@@@@@@@;;;@;;;@;@@@;;//`//////////////////////////;@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;/;@;;;/;;@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/;///;////;;@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@;@@@@;;@@@@@@@@@@@@@@@@@@;;;;;@@;;;@@;/``////////////////////`//;@@@@@;;;;;;;;;;;;@@;@;;;@@@;@@@@@@@@@@@;;@;@@@@@;;//``//////////////////////////;@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;/;;/;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/////;////;;@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@;@@@@;;@@@@@@@@@@@@@@@@@@;;;;;@@@;@;@@;/``////////////////////`//;;@@@;;@;;;;;;;;;;;;@;//;;;@@@@@@@@@@@@@;;;;;@;;//``//////////////////////////;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;;;;;;;;;;;;;;;;@@@@@;;;;//;;;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//////////;;@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@;@@@@;;@@@@@@@@@@@@@@@@@@;;;;;;@@;;;;@@;/``///////////////////////;;@@@;;;;;;;;;;;;@@;/``//;;@@@@@@@@@@@;@;@@;;//``///////////////////////////;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@;;;;;;;;;;;;;;;@@@@@;;;;//;@@;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//////////;;@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@;@@@@;;;;;;@@;;;;@@@@@@;;;;@;/``////////////////////////;@@@@@@@@@;;;;;;@;/`/``/;@@@@@@@@@@;;@@;;//`/`//////////////////////////;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@;;;;//;;;;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/;;////;;//;;@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@;@@@@;;;;;;@@;;;;@@@@;;@@;;;@;/``/////////////////////`//;@@@;@@;@;@@;;;@;/`/`/;@@@@@@@@@@@@@;;//``////;///////////////////////;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@;;;;////////;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;///////;;//;;@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@;;;;;;;;;;;@@@@@@@@@@;;@;;@@@@;/``/////////////////////`//;;@@@@@@;@@;;@;////`/;@@@@@@@@@@@;;//`///////////////////////////`/;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;//;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;////;/;///;;@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;@@@@@@@@@@;@@;@;;;;@;/``/////////////////////////;@@@;;;@@;;@;/`//`;@@@@@@@@@@@;//``///////`/////////////////////;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@;;;;;;;;;;;;;;;@@@@@;;;;/;@@@;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/////;;////;@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;@;@;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;;;@;/``//////////////////////`//;@@@@;;;@@@;///`/;@@@@@@@@@;//``///////////////////////////`/;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@;;;;;;;;;;;;;;;@@@@@;;;;/;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/////;;///;@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;@;;;;;;;;;@;@@@;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@;;;;;@@;;;;;;;@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@;/``/////////////////////////;@@@;@;@@;///``;;@@@@@@@;//``////////////`/;////////////`/;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@;;;;;;;;;;;;;;;;@@@@;;;;////;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/////;;//;;@@;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;@;;/////////;;;;;@;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@;;;;;;;;/;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@;;@;/``/////////////////////////;;@@;@;@;///`/;@;@@@@;;/``//////////////`/;///////////`/;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;@@@@;;;;;;;;;;;;;;;;@@@@;;;;//;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;////;;;/;;;@@;;;;@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;/`````````````//;@;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;@@@@@;;;;;;;;;;;;;;;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@@@@;@;;;;;;;@;/``/////////////////////////;;@@;;@;///`/@@@@@;;//`//////////////``/;@;////////`/;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@;;;;;;;;;;;;;;;;@@@@;;;;/;;;;;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/////;;;/;;;@@;;;;;@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;@@;@;````````````````/;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@;;;;@@@@;;;;;;;;;;;;;;;@@@@@;;;;;;;@@@@@@@@@;;;;@@;;;;;;;;@;/``/////////////////////;////;@@@;//``/;@@@;;//`//////////////````;@@;//////``/;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;//;;;;;/;@@@@;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;////;;;/;;;;@@;;;@@@@@@@@;;;;@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;/````````````````/;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@;;;;;;;@@@@@@@@@;;;;@@;;;;;;@;@@;/``///////////////////;;/////;;@;/`/`/;;;;;/``//////////////``///;;@@;////`//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;///;;;;/;@@@;/````/;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;///////;;;;@@;;@@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;@@;/````````````````/;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@;;;;;;;;;;;;;;;;@@@@@@@@@;;;;@@@@;;;;;;;;;;;;;;;@@@@@;;;;;;;@@@@@@@@@;;;;@@;;;;;;@@;;@;/``///////////////////;;/////;@;//``;;;;;/`///////////////``/////;@@;//``/;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;//;;@;;/;@@@/``````;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;//////;;;;@@;@@@@@@;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;@;/```////`````````/;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@;;;;;;;;;;;@@@@@@@@@;;;;@@;;;;;;;;;;;@;/``//////////////////;;//////;/`/`/;;@@;//////////////``/////////;///`/;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;/;;;;;/;@@@;`````/;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/;//;/;;;;;;@@;@@@@@@@@@@@@@@@@;@@@@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;/``/;;;;/``/;;/``/;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;;;@@;;;;@;;;;;;;;;;;;;;;;@@@@@@@@;@@;;;;@;;;;;@@;/``/////////////////;;;////////``/;@@;/`///////////```///////////``//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@@@;;@@@@@@@@@@@;@@@@@;;;;;;;;;;;;;;;@@@@@;;;;////;;/;@@@;/```//@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/;//;;;;;;;;@@;@@@@@@@@@@@@@@@@@@@@;@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;/`/;@@@@;`/;@@;/`/;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;@@;;;;@@;;;;;;@@@@@@@@;;;;;@@;;;;@;;;;;;;;;;;;;;;;@@@@@@@@;@@;;;;@;;;;;;;@;/``///////////`/////;;//////`/`/;@@@/`////////////////////////////;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@;;;;//;;;;/;@@@@;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/;//;;;;;;;;@@;@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;/`/;;;;@;`/;;@;/`/;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@;;;;;;;;;@@;;;;@;;;;;;;;;;;;;;;;@@@@@@@@;@@;;;;@;;;;;;;;@;/``////////```/////;;//////`/`/;@@;////////////////////////////;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@;;@;/;@@;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/;//;;;;;;;;@@@@@@@@@@@@@;;;;;;;;;@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;``/;;;;@;`/;;@/``/;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@;@@@@;;;;;;;;;;;;;@@;;;;@;;;;;;;;;;;;;;;;@@@@@@@@;@@;;;;@;;;;@;;;;@;/``///////`````///;;;;/////`/;;;;/`/////////////////////////;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@;;;;/;;;;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;//;;//;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;``/@;;;@;`/;;@/``/;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;;;@;;;;;;;;@@@@;;;;;;;;@@@@;;;;;;;;@@@@@@@@;;;;;;;;;;;@@@;;;;;;;;@;/``/////``````////;;/////``/;;;;/////////////////////////;;;@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@;;;;///////;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/;//;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@/``/;@;;@;`/;;;/``/;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;////////////////////////;;;;;;@;@;;;;;;;;@@@@;;;;;;;;@@@@;;;;;;;;@@@@@@@@;;;;;;;;;;;@@@;;;;;;;;;@;/``///`````````/////`//``//;;;;/`//////////////////////;;;@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@;;;;;;;;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/;///;;;;;;;@@@@@@@@@@@@@;;;@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;@/```/;;;;/`/;@;/``;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;//```````````````````/``////////////;;@;@;;;;@@@@@@@@@@@@;;;;@@@@;;;;;;;;@@@@;;;;;;;;;;;;;;;@@@;;;;;;;@;;@;/````````````////////```/;;;;///////////////////////;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@;;;;;;;;;;;;;;;@@@@@;;;;;;;@;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/;////;;;;;;;@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;/``````````;;@;/``;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;/`````````````````````````````////`/;;@;@;;;;@@@@@@@@;;;;;;;;@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;;;;;;;;;@;@;/`````````////////////`/;;;;/`///////////////////;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@;;;;;;;;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/;////;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;/`````````/;@@;/``;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@;@@@@;;;///////////```````````````````/````/;@;;@;;;@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;@;/```````////`////```/`/;;;/////////////////////;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@;@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@;;;;;;;;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;//;/;/;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@@;`````````/;;@;/``;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@;;;;;;;;;;;;//////////////////////////////`/;@@;@;;;@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;@;/`````////////`````/``/;;/`/////////////////;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;@@;;;;;;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;//;/;/;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;/````````;;;@;``/;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@;;;;;;;;;;//////////////////////////////////;;@;@;;;@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@;;@;/```/////////```//`/`/;@;/`//////////////;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;;@;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;//;/;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;@;//`////;;;;@;//;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//////////////////////////////;;;;@;;;@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@;;;;;;@;;@;/`///////////`/;;/`///@@/`/////////////;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;////;;;;;;;@@@@@@@@@@@@@@@@@@@@;;;;@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;@;;;;;;;@;;;;;;;@@;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;////////////////////////////////////;@;;@@@@@;@@@@@@@@@@@;;;;;@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;@;;;;;;@;///////////``/@@;//`/;@/////////////;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/////////////////////////;;;;;;;;;;;;;;;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;//;/;/;;;;;@@@@@@@@@@@@@@@@@;@@;@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;@@@@@@;;;;;;@@;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;/``````````````````````````````````//;@@;;@@@@;@@@@@@@@@@@;;;;;@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;@@@;;;;;;;@;//////////`/;@@;/``/;@////////////;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/``///``````````````/``////////////////////;@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@;;;;;;;;;;//////;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;///````````````````````````````````/;;@;;@@@@;@@@@@@@;;;;;;;;;@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@;;;;@;@;////////////`/;;///`/;@//////////;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/````````````````````````````/`//```````//;;@@@@;````/////////////;/;;@@@@@@;;;;;;;;;;////;/;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;///////////////////////``````/;@@@;@@@@;@@@;;;;;;;;;;;;;@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;@;;;;;@;/`////////`/``//``/`;@;/`//////;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;//``/```````````````````````````````````//;;@@@;/````````````````````/;@@@@@;;;;;;;;;;///;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;////;@;@@@@@@;;@@@@@@;;;;;;;;;@@@@@@@@@;;;;;;;;;;@@@@@@@@;;;;;;;;;;;;;;;;;@;;;@;/`////////////````/`/;@;/`/////;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;////////////////////////////`/``````````//;;@@@;`````````````````````/;@@@@@;;;;;;;;;///;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@;@;@@;@@@@;@@@@@@@;;;;;;;;;@@@@@@@@@;;;;;;;;;;@@@@@@@@;;;;;;;;;;;;;;;;@;;;@;/`///////////`//````/;@;/`////;;;@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//////////////////////////////////////////;;@@@;`````````````````````/;@@@@@;;;;;;;;;///;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@@;;;;;;;;;;;;;;;;;;;;;;;;@@;;@@@@@@@@@@@@@@@;;;;;;;;;@@@@@@@@@;;;;;;;;;;@@@@@@@@;;;;;;;;;;;;;;;;@;;@@;/`////////////```///;;;/`////;;@@;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//////////////////////////////////////////;;@@@;/````````````````````/;@@@@@;;;;;;;;;///;;;;;;;;@@@@@@@@@@@@@@@@;@@;;;@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;@@;;;;;;;;@@;@@@@@@@@@;@@@@;;;;;;;;;@@@@@@@@@;;;;;;;;;;@@@@@@@@;;;;;;;;;;;;;;;;;;;;;/`/////////////``//;;;//`///;;@@;///;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;//////////////////////////////////////////;;@@@;;////````````````````/@@@@@@;;;;;;;;;;//;;;;;;;;@@@@@@@@@@@@@@@@@@@;;;@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@@@;;;;;;;;;;;;;;;@@;;;;;@@@;;;@@;;;;@@@;;;;;@;;@@@;;;;;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;/`/////////////``/;;///```//;@;;;////;@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;`````````````````````/////////////////////;;@@@@@;;;;;;;;;///////```/;@@@@@@;;;;;;;;;///;;/;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;@@;;;;;@@@;@@@@;;;;@@;;;;;;@;;@@@;;;;;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;/`/////////////``;@;```/`//;;;///////;@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;````````````````````````````````````````//;;@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@;;;;;;;;;///;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@;;;;;;;;;;;;;;;@@;;;;;@@@@@@@@;;;;@;;;;;;;@;;@@@;;;;;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;/`//////////////`/;@/`/`//;;;/```//////@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;////////////````````````````````````````//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;///;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@;;;;;;;/;;;;;@@@@@;;;;;;;;;;;;;;;@@;@@@@;;@@@@@@;;;;;;;;;;;;@;;@@@;;;;;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@/////////////////`/@;/``//;;;/````//////;@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;;;;;;;;;;;;;;/////////////////////////``//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;///;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@;;;;;;;;;;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@;;;;@;;;@;/`//////////////`/;@;/`/;;;/```````/////;@@@@@@@@@;;@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;/;;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;//;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@;;;;;@;@;/`/////////////`/`/;@//;;;;/``````````///;@@@@@@@@@;;@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/;//;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;/;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@;;;;;@;@;/////////////////`/@;;;;;;`````````````//;@@@@@@@@@;;@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;///;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;@@;@@@@@@@@@@@@;;;;@@@@@@@@@@@@;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@@@;@;;///////////////`/;@@@;;;/``````````````/;@@@@@@@@@;;@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;//;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@;;;@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;@@@@;;@@;;;;;;;;/`/;@@@@;;/```````````````/;@@@@@@;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@;;;;;;;;;;;;;;;@@@@;;;;;;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;//;;;/;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@;;;@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;;;;;@@@@@@@@@@@;``;@@@@@@;/````````````````/;@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;;;;;;;;;;;;;;;;@@@@@;;;;;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;//;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@;;;@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;@@@@@;@;;@@@@@;/`/;@@@@@@@;////`````````````/;@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;;;;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;//;;/;;;;;@@@@@@@@@@@@@@@@@@@@@@;@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@;;;;;;;;;;;@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;;;;;@;@@;;@@;@;/`/;@@@@@@@@;;;;;;////////`/`/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@;;;;;;;;;;/;@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;//;;/;;;;;@@@@@@@@@@@@@@@@@@@@@;;@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@;;;;@@@@;;;@;@;@@@/``;@@@@@@@@@@@@@@@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@;;;;;;;;;;/;@@@;/////;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@;;;;@@@@;@@@;@;@@;/`/;@;@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@;;;;//////;;@@@/`````/;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@;;;@@;/`/@@;@@@@@@@@@@@@@@@@@@@;@;@;;@@@;;;@;@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@;;;;//////;;@@@/`````/@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;//;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@;;;;@@@@;;@@;;;@@/``;@@@@@@@@@@@@@@@@@@@;@@@;;;@;@@@@@;@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@;;;;;/;;;;/;;@@@/`````;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;//;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;/;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@;;;;;;;;@@@@;;;;;;;;@@@@;;;;;;;;;;;;@@@@@@@;;;;;;;;;;;;;;;@@@@@@;;;@@@@@@@@@;;;@;/`/;@@@@@@@@@@@@@@@@@@@;;;;@;;@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@;@;;;;//;;;;/;@@@@;;////;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/;//;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;;;/;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@;;;;;;;;@@@@;;;;;;;;@@@@;;;;;;;;;;;;@@@@@@@;;;;;@@@@@@;;;@@@@@@@;;;@@@@@@@@@;@;@;/`/@@;;@@@@@@@@@@@@@@@@;;;;@;;@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@;;;;//;;;;/;@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/;/;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@;;;;;;;;/;;;;;@@@@;;;;;;;;;;;;;;;;@@@@@@@@@;;;;;;;;@@@@;;;;;;;;@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@;@@@@;;;;;;;@@@@@@@@@;;;;/``;;@@;@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;;;;;;;;;;;;;;;@@@@@;;;;/;;;;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@;;;;;;@;;;;;;;@@@@;;;;;;;;;;;;;;;;@@@@@@@@@;;;;;;;;@@@@;;;;;;;;@@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@@@;@;/`/;@;@;@@@@@@@@@@@@@@@@@@@@;;@;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@;;;;/;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@;``;;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@;@@;;;;/;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;;@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@;/`/;@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;;;;;;;;;;;;;;;;@@@@;;;;//;;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;;@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@;/`/;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;;;;;;;;;;;;;;;;@@@@;;;;//;;;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;@;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;;@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@;;;@;``;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;/;;;;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;//;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;/;;;;;@@@@;;;;;;;;;;;;;;;;@@;;@@@@@@@@@@@@@@@@@@@@;;;;@@@@;;;;;;;;@@@@;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@;;;/`/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;;;;;;;;;;;;;;@@;@@;;;;/;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/;;;;;;;;;@;@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;/```/;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;/;;;;;@@@@;;;;;;;;;;;;;;;;@@;@@@@@@@@@@@@@@@@@@@@@;;;;@@@@;;;;;;;;@@@@;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@;;;@;/`/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@;;;;//;;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/;;/;;;;;;;;;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;/```/;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;@@@@@;;;;@;``;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@;;;;//;;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/;;;;;;;;;;;;@@;@@@@;@@@@@@@@@@@@@@@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@@;;;;;;;;;;;;;;;;/``/;;;@@@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@;/`/;@;;@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;//;;;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;;/;;;;;@@;;@@@;;@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;;;;;;;;;;;;/;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;/;;;;@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@;;;@@@@@;;;;@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@;;;@@;@;/`/@@;@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@;;;;//////;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;;;;;;;;@@;;;@;;;;@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;@;;;;;;;;;;;;;;;;@;@@;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;/;;;;@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@;;;@@@@@;;;;@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@;;/``;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@;;;;//;;///;@@@@;/;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;;/;;;;;@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;/;;;;;@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@;;;@@@@@;;;;@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@;;@@;/`/;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;/;;@;;/;@@@/```//;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;;;/;/;;@@;;;;;;;@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;;/;;;;;@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@;;;@@@@@;;;;@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@;/`/;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@;;;;;/;;;;/;;@@@/`````/@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;//;;;;;;;/;;@@;;;;;@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;@@@@@@@@@@@@@@@@@@@;;;/;/;;;;;@@@@@;;;;;;;;;;;;;;;;;;;@@;;@@@@@;;;;;;@@@@;;;;;;;;@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;@@@@;;;;@/`/;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;;;;;;;;;;;;;;;@@@@@;;;//;;;;/;@@@;/`````/@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;;;;;;;;@@;;;;;@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@;;;;;;;;;/;;;;@@@@@;;;;;;;;;;;;;;;;;@@;;@@@@;@;@@;;;;@@@@;;;;;;;;@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;@@@@@;;;@;/`/;@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;//;;;;/;@@@@;///``;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/;;;;;;/;;;@;;;;;;;@@@@@;@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@;;;@@@@@;/;;;;;@@@@@;;;;;;;;;;;;;;;;@@;;@;;;;@;@@;;;;;;;;;;;;;;;;@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@;@;;@;``;@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;/;;;;//;@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/;;;;;///;@@;;;;;;;@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@;;;;;;;;;;;;;;;;@@@@;@@@@;@;;;;;;;;;;;;;;;;;;@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@;@;@;@;/`/;@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@;;;;;;;;;;;;;;;;@@@@@;;;;;/;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/;;;;;//;;@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;/;;;;@@@@@;;;;;;;;;;;;;;;;;;@@;@@;;;@;;;@;@@@@@@@@@;;;@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@;@@;@;@;/`/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@;;;;;;;;;;;;;;;;@@@@@;;;;//;;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/;;;;;//;;@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;/;;;;@@@@@@;;;;;;;;;;;;;;;;;;@;;;;;;;;@;@@;@@@@@@@@;;;@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@;@@;;;@;``;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@;;;;/;;;;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;/;;;/;//;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@;;;;;;;;;;;;;;;;@@@;//////;;;;@@@@@@@@@@;;;@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@;@@@;;@/`/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@;;;;;/;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;/;;@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@;;;;;;;;;;;;;;;;@@@;//;;;//;@@;;@@@@@@@@;;;@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@;@;;;@;/`/;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@;;;;//;;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;;;;;/;;@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;@;/;;;;;@@@@;;;;;;;;;;;;;;;;@;;@;/;;;//;@@@@;@@@;;;@;;;;;;@@@@@;@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@;@@;;;;;;@;``;@@;@@@@@@@@@@@@@@@@@@;@@@;;@;;;@;@@;;;;@@@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;@@@@@@@@@@@@;@;;;;;;;;;;;;;;;;;;;@@@@@;;;;/;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;;;;//;;@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;;/;;;;;@@@@@;;;;;;;;;;;;;;;;@@@;/////;@@@;;;@@@;;;@;;;;;;@@@@@;@@@@@@@@@@@@@@@@;;@@@@@@@@@@@;@@@@;@@@;;/`/;@;;@@@@@@@@@@@@@@@@@@@@@;@@;@@@@@@;@@@@@@@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@;;@@;;;;;;;;;;;;;;;;;@@@@;;;;;/;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;//;;;;///;@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@;;;;;;;;;;;;;;;;;;@;///;@;;;;;;;@@@;;;@;;;;;;@@@@@;@@@@@@@@@@@@@@@@;;@@@@@@@@@@;;@;;@;;;;@;/`/@;@@@@@@@@@@@@@@@@@@@@@@;@@;@@;;;@@;@@@;@@@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@;@@@@;;@@@@@;@;;;;;;;;;;;;;;;;;@@@@@;;;;////;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/;;;;;///;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@;;;;;;;;;;;;;;;;@;///;@;///;@@;@@@;;;@;;;;;;@@@@@;@@@@@@@@@@@@@@@@;;@@@@@@@@@@;@@;@@;;;;@;``;@@@@@@@@@@@@@@@@@@@@@@;@@@;;@@@;;;@@;@@@@@@@@;@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@;;;;@@@@@;;@@;;;;;;;;;;;;;;;;;@@@@;;;;;/;;///;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/;;;;///;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;;/;;;;;@@@@@;;;;;;;;;;//;;;;@;;;;;/////;@@;;;@;@@@@@@@;;@@@@@@@@@@@@@@@@@;@@@@;;@@@@@@@@;@;@;@@@;@;@;/`/;@@;@@@@@@@@@@@@@@@@@@@@;@@@@;;@@@;@@;@;@@@@@@;@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@;@@;///;;@@;@;@@;;;;;;;;;;;;;;;;;@@@@@;;;;//;;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;///;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;/;;;;;@@@@@;;;;;;;;//`/;;;;;@@@;//;;@;/;@@@;;;@@@@@@@;;@@@@@@@@@@@@@@@@@;@@@@;;@@@@@@;;;@;;;;;;@;;@;/`/;;;@@@@@@@@@@@@;;@@@;;@@@@@@@@@@;@@;@@;@@@@@;@;@@;@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;//;///;;@@;@@;;;;;;;;;;;;;;;;;@@@@@;;;;/;;;;;/;@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;///;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@;;//;;;;;;;;@@;;;;;;;;;/```/;;;;;;@;//;@@@;/;;@@;;;@@@@@@@;;@@@@@@@@@@@@@@@@@;@@@@;;@@@@@@@@@@;/;/;;;/;;/`/;;/;;;;;;@@@@;;;@;;;;@;;;@;;;;;;;@;;@;;@@;@;@@@@@;@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;@;/;@@;//;@@@@;;;;;;;;;;;;;;;;;;@;@@;;;;//;;;;//;@@@;///;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;///;@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@;;;;;;;@;;;;;;;;;;;;;;;/`````/;;;;;;@;/;@@;@;/;;@@@;;@@@@@@@;;@@@@@@@@@@@@@@@@@;@@@@;;@@@@@@@@;@;////;;//;/`/;//;;///;@@@;///;;//;;//;;;;;;;;;;;;;;@;;;;;;;;;@@;@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;//@@;@;//;@@;;;;;;;;;;;;;;;;;;@@@@@;;;;/;;;;;/;@@@;/```//@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;//;;@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@;;;;@@@;;;;;;;;;;;;;;;;/````/////;;;;;@;/;@;;//;@;;;;;;;;;;;;@;;@@@@@@@@@@@@@@@@;@@@@;;;;;;;;;;@@;////;///;/`;;//;;/;/;@@@;/;/;;//;;//;;;;//;;//;;/;@;;;;;//;;@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;//;@@;@//;;@;;;;;;;;;;;;;;;;;@@@@@;;;;//;;;;//;@@@;``````;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/;;;;;;//;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;/````//;////;;;;;@;/;;///;@@;;;;;;;;;;;;@;;@@@@@@@@@@@@@@@@;@@@@;;;;;;;;;;@;@/;;/;//;/`/;;//;;/;/;@@@;///;;/;;;//;;;;//;@;;@;//@///;;//;;@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@;//;;@;/;@@;;;;;;;;;;;;;;;;;;@@@@@;;;;//;;;;/;;@@@;/`````;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;///;;;;///;@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;/`````/;;/////;;;;;;@;///;@@;@;;;;;;;;;;;;@;;@@@@;@@@@@@@@@@@;@@@@;;;;;;;;;;;;;;;;;;;@;/`/;;;/;;;@;;@@@;;;;;///;;;//;;;;//@;;;///;;;//@;;@@@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;;;///;//;@@;;;;;;;;;;;;;;;;;@@@@@;;;;;/;;;;;/;@@@@@;//``/@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;//;;;//;;@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/````//;//////`/;;;;;@;;;;@@;@;;;;;;;;;;;;;@;;@@@;;@@@@@@@@@@@;@@@@;;;;;;;;;;;;@@@@@@@@;/`;@;;;;;@@@@@@@;;@;;;;/;;;/;;;;//;@;;;/;/;;;//@;;;@;@;@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;///;@;///;@@;;;;/;;;;;;;;;;;;;@@;@@;;;;//;;;;/;;@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;///;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;;;@@;/````/;;//////```/;;;;;;@@@@;;;;;@;;;@@@@@@@@@@@@;;;;;;@@@@@@@@@@@@@@;;;;;;;;;;;;;@;@@@;@/`/;@;@@@@@;;@@@@@@@@@@;@@@;;@@;@;;;@;;;;@;;;;;;@;;;@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;@;/;;//;@;;;@@@;;;`///;;;;;;;;;;@@@@@;;;;;/;;;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;//;;;;;//;;@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;;;;;/````/;;/////`````/;;;;;;;@@@@;;;;@;;;@@@@@@@@@@@@;;;;;;@@@@@@@@@@@@@@;;;;;;;;;;;;@;;@;;@;/`/;@;@@@;;//;;;;;@;;;;;;;;;;;;;;@@;@@@@@@@@@@@@@;;@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//@@//;;;@@;@;;;/`//;//;;;;;;;;@;;@@;;;;//;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/;/;;;;//;;@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;@;/````/;;/////`````//;;;;;;;@@;;@@@@@@;;;;@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@;;;;;;;;;;;;@;@@;;@;/`;@@;@@@;/;/;/;;/;;/;;///;;//;;//;@@;@@@@@;;@@@;@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;/;@@//@;/;@@@;;;/```/;//;;;;;;@@;@@;;;;;/;;;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/;//;;;//;;@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@@;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;/```//;/////`````//;;;;;;;;;;@@;;@@@@@;;;;@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@;;;;;;;;;;;;@@@;;@@/`/;@;;@@@;;;/;/;;;;//;;/;/;;/;;;//;@@;@;;@@;;@;;@@;@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//;;/;;/;;@@;;;;//```/;;//;;;;;;@@@;;;;///;;;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/;;;;;;//;@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@;```//;;/////````//;;;;;;;;;;;;;@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;@;;@@;/`/;@;@@@@;;//;;;/;///;;///;;/;@//;;;@@@;@@@@;;;@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@;;;//;//;@@;;;;/////```/;//;;;;;;@;;;;;;///;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;//;;;;;//;;@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;/`//;;/////````//;;;;;;;;;;;;;;;;@@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;@@;;@;/`;@@;@@@@@;/;;;//;;;;;;;;;;;/;;//;;@@@@;@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@;///;@@;;;;///////```/;;//;;;;;;;;;;;;;////;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;;;;;//;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;///`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;@@;;;;@@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@;/`/;;;////````//;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;@@;;@/`/;@;;@@@@@@@@@@;@;;@@;;;;;;;;;;;;;;@;@@@@@@@@;;;;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@;;//;@@@;;;;/////////```/;//;;;;;;;;;;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;;;;///;@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;;;;;;;;;;;;@@;;;;@;;@@@;;;;;;;;;@@@@@@@@@@@@@@@@@@@;//;;/;//`````/;;;;;;;;;;;;;;;;;;;;;@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;@;/`/@;@@@@@@@@@@@@@;@;;@@@@@@;@@@@@@@@;;;@@@@@@@@;;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;@;;;@@;;;;///////////```/;;//;;;;;;;;;;;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;///;;@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@@;;;;;;;;;;;;;;;@@;/``/;@;;@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@;;;;;;//```//;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@;;;;@@@@;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;;;@;@;;@;`/;@@;@@@@@@@@@@@@@@@@@@;;@;;@@;;@@@;;@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@;;;/`/;//////////```/;//;;;;;;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;//;;;////;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;;;;;;;;;@@;``````;;;@@@;;;;;;;;;;@@@@@@@@@@@@@@@@;;;;;;/````/;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@;;;;@@@@;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;;;@;@;;@/`/;@;;@@@@@@@@@@@@@@@@;@;;@@@@;;@@@@;@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;@@;;;;;```//;//////////``/;;//;;;;;;;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;/;;;;;///;@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@@;;;;;;;;;;;;@@;/``````/;;;@@@;;;;;;;;;;@@@@@@@@@@@@@;;;;;;/````/;;;;;;;;@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;;;@@@;@;/`;@@@;@@@@@@@@@@@@@@@@;;;@;@@@;;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@;;;;;/````/;//////////```/;//;;;;;;/;;@@@;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;///;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;;;;;;;;@@;;@@/````````;;@@@@;;;;;;;;;;@@@@@@@@@@@@@;;;@@;/``//;;;;;;;@@@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;;;@;;@@;`/;@;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;;;;;;;;//```//;//////////``/;;/;;;;//;@@@;/``//;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;//;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@@;;;;;@@@;;//;/`````/``/;@@@@;;;;;;;;;;@@@@@@@@@@@@@@;@@@;///;;;;;;;;;@@@@@;;;;;;;;;;;;;;;;;;;@@;;;;;;@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@;;;;;;;@;@;@/`/;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/````/;//////////```/;//;;/;;@@@;`````/;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;///;@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;;;;;@;/`````````/;;/``;;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@;;;@@;;;;;;;;;@@@@@;;;;;;;;;;;;;;;;;;;@@@@;;@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@;;;;;;;@;;@;/`;@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;/```//;//////////``/;;///;@@@@;/````/;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;///;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;@;/`````````/;@@;/`/@;;@@;;/;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;@@@;@@@@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@;;;;;;;@;;@;`/;@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;/````//;/////////```///;@@@@@@;/```/@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;///;@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@@;;@;/`````````/;@;;@;//;@;@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;@@@;@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@;;;;;;;@;@@/`/;@;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@@@@@;;;;;@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;/```//;//////////`//;;@@@@@@@;///;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/;/;;;;;;;/;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;;@;/`````````/;;;;@@/`;;;@@@;;/;;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;@;;@@;@@@@;;;;@@@@@@@@;;;;;;;;@@@@@@@@@@@@;@@;;@;/`;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;/````/;////////////;@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;/;;///;@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;;@;`````//;/``;@;;@@/`/;;;@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;@@;@@@@@@@;;;;@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@@;;@;`/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@;;@@@;;;;;;;;;;;;;;;;;;;;;;/```//;/////////;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/;;;;;;///;@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@@;@;````/;@@;/`/@@@@;/``;;;@@@;;/;;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;/;;;;;;@@@@@;;;;;;;;;;;;;;;;;;;;@;;@@@@@@;;;;@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@;;@@/`/@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@;@@@;;;;;;;;;;;;;;;;;;;;;;@;/````//////////;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;/;;;;;;//;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;@;/``/;@;;@/``;@@;/```;;;;@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;////;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;@@;;@@@@;;;;@@@@@@@@;;;;;;;;;;;;;;;;@@@@;;;@@;/`;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@;@@;@@@@@@@;;;;;;;;;;;;;;;;;;;;;@;;;;;/````///////;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;//;@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;@;;@/``/;;;;@;/``///````;;;;@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@;//;;//;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;@;@@@@@;;;;;;;;;;;;;;;;@@@@;;;;;;;;;@@@@;;@@;`/;@;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@@@@@@;;@@@@;@@;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;//```//////;@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/;;/;;;;;///;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;;@;/``;@;;@@/`````````;@;;@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@;;/;;;;;/;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;@@;;;@;;;@@@@@@@;;;;;;;;;@@@@@;@;/`/@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@;;@@;;@@;;;;;;;;;;;;;;;;;;;;;@@@@@;;;;;;/````///;@@@@@;`/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;///;;/;;;//;@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;;;/``/;;;@@/````````/;;;;;@@@;;/;;;;;;;;@@@@@@@@@@@@@@@;;;;@@;;;;/;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@;;;;@;;;;@@@@;;;;;;;;;@@@@@;@;/`;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@;@;;;@;;;;;;;;;;;;;;;;;;;;;@@@;@@;;;;;;;//``//;;@@@@;````/;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;//;;;/;/;/;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@;@@;```;@@;;````````/;@;;;;;@@@;;/;;;;;;;;@@@@@@@@@@@@@@;;;@@;;;;;//;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@;@;@@@@;@@@@@;;;;;;;;;@@@@@;@;`/;@;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;@@@;;;;;;;;;;;;;;;;;;;;;@@;@@@;;;;;;;;;;////;@@@@;/`````/;;@@@@@;;@@@@@@@@@@@@@@@@;;;;;;;;;;//;;;;;;///;@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;@;/``/;;/````/``/;;@;;;;;;@@@;;/;;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;;/;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;@@;@@@@@@@@@;@;;;@;;;@;@;;;;;;@;;@@@;@;/`/;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@@@@@;@@;;;@@@@@@@@@@;@@@@;;;@@;;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;;;;;;;;//;;@@@@/````````/;@@@;/`;@@@@@@@@@@@@@@;;;;;;;;;;;//;;;;;;;//;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;;@/`````````/;;;;;;;;;;;;;;@@@;;/;;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;;/;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;@@@@@@;@@;@@;/;;@@;@;;;;;;;;;@;;@;@;@;/`;@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@@@@@;;;@;;@@@@@@@@@@@@@@;;;@@@;;;;;;;;;;;;;;;;;;;;;@@;@@;;;;;;;;;;;;;//;@@@@;```````````/;;/```/@@@@@@@@@@@@@;;;;;;;;;;;//;;;;;///;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;@;`````````;@@@@;;;;;;;;;;@@@@;/;;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;;//;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@;////;@@;@@;;@@;;;;;;@;;@@;`/;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@;@@;;;;;;;;;;;;;;;;;;;;;;@@@;@@;;;;;;;;;;;;//;@@@@;/```//```````//````/;@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;///;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;@;/```````/;@;;;;;;;;;;;;;;@@@;;/;;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;;/;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;@@@@@@;@@;;;;//;@@@@@@@;@@;;@;@;;@;/`;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@;;;;@@@;@@@@@@@@@@@@@@;@@@@;;;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;;;;;;;;;/;;@@@@;```/@@;/```````````/@@@@@@@@@@@;;;;;;;;;;/;;;;;;;;;//;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;@@;@;/`````/;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;;/;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;@@;@@@;;@@;@;/;@;@@@;;;;@;;@@;;;@;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@@@@@;;;;@@@;@@@@;;@@@@@;;@@;;@@@@@@@;;@;@@;@@@;;;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;///;;;;;//;@@@@@/``/;@@@;//`````````;@@@@@@@@@@@;;;;;;;;;;;;/;;;;;;;//;@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;;@;//`/;@@;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;;//;;;;;;@@@@@;;;;;;;;;;;;;;;;;;;;;;;@@;;@;;;;/;//;;/;;@@;;;@;@;;;;@@;`/;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@@@@@@@@;;;@;;@@@@@@@@@;;;@@@;;;@@@@@@@@@@@;@@@@;;;;;;;;;;;;;;;;;;;;;;;@@@;@@;;;;;;/;//;;;//;@@@@@@/```;@@@@@;/````````/@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;/;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;@@;;@@;;;@;;;;;;;;;;;;;;;;;;;;@@@;;/;;;;;;;;@@@@@@@@@@@@@@@@@@;;;;;;//;;;;;;@@@@@@@;;;;;;;;;;;;;;;;;;;;;;@;;@//;;///;@////;@;@;;@@;;;;@;/`;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@;;@@@@@@@@;;;;@;;//;@@@@@@@@@@;;@@@;;;;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;;//@;///;/;;@@@@@@/```;@@@@@@@/````````;@@@@@@@@@;;;;;;;;;;;;;;;;;;;;//;@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;;;@@@;;;;;@;;;;;;;;;;;;;;;;;@@@;;/;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;/;;/;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;;@@@//;@;/;@;/;;//;@@@;@@;@@@@;`/;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@;@@@@@@@;@;;@;;;//;;@;@@@@@@@@;@@@;;;;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;;//;;;;;//;;@@@@@@@;```/@@@@@@@@/````````/@@@@@@@;;;;;;;;;;;;;;;;;;;///;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;;@;@@;;;;;;;;;;;;;;;;;;;;;;;@@@;;/;;;;;;;;@@@@@@@@@@@@@@@@@@;;;//;;;/;;;;;;@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;@;//;//;@///;;/;@@@;;@@;;@@/`/@@;@@@@@@@@@@@@@@@@@@@@@@@;@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;;@;@@@;//;;;;;@;@@;;;@@@@;;;;;;;;;;;;;;;;;;;;;;;;;@@;@@;;;;;;//;;;;;;//;@@@@@@@@;/``/;@@@@@@;``````````;@@@@@@;;;;;;;;;;;;;;;;;;;;//;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;@@;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;/;;;;;;;@@@@@@@@@@@@@@@@@@@;/;;;;;;/;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;@;;//;;;;;//;@@;@;@;;;@;@;/`;@@;@@@@@@@@@@@@@@@@@@@@@@@;@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;;@@;;;@//;;///;@;@@;;;@@;;;;;;;;;;;;;;;;;;;;;;;;@@@;@@;;;;;;//;;;;;;//;@@@@@@@@@@/```;@@@@@;/`````````/;@@@@@;;;;;;;;;;;;;;;;;;;/;/;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;//;;;;;;;@@@@@@@@@@@@@@@@@;;;;;;;;;//;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;@@;;@;/;@@//;@@;;@;;;@;@;`/;@@;;@@@@@@@@@@@@@@@@@@@@@@;@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@;;//;@;///;;/;@;;;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@;;;;;;//;;;;;;;/;;@@@@@@@@@@/```;@@@@@/``````````;@@@@@@;;;;;;;;;/;;;;;;;;;///;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@;;;@@;;;;;;;;;;;;;;;;;;;;;;;;@@@;;/;;;;;;;;@@@@@@@@@@@@@@@;;;@;;;;;;;/;;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;@@@@;/;@@//;@;;@;;;@;;@/`/@@;@;@@@@@@@@@@@@@@;@@@;@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@;@@;//;//;@//;@@//;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;;@@;;;;;;//;;;;;;;/;;@@@@@@@@@@@;```/@@@@;````////``;@@@@@@@;;;;;;;;;;;;;;;;;;;//;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@@;@;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;/;;;;;;;@@@@@@@@@@@@@@@@;@@;;;;;;;;/;;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;@;//;;/;@@@@;;;;;;@;/`;@;;@@@@@@@@@@@@@@@@@@@@@;@@@;;@@@;@;;;@@@@@@@@@@@;;;;@@@@@@@@@@@@;;;;;;@;/;@@//;;;;@;//;@;@@;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;@@;;;;;;/;;;;;;;//;@@@@@@@@@@@@;/``/;@@;/```/;@@;/;@@@@@@@;;;;;;;;;/;;;;;;;;////;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;//;;;;;;@@@@@@@@@@@@@@@@@@@@;;;;;;;;/;;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;/;;;;;;;@;///;;@;@;;;;;;;@;`/;@;;@@@@@@@@@@@@@@@@@@@@;;@@@;;;@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@;/;@;//;@;/;//;@@@@;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;;;/;;;;;;;//;@@@@@@@@@@@@@@/```/;;/````;@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;//;;@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;/;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;;;;;/;;;;;;@@@@@@@;;;;;;;;;;;;;;;;/`/;;;;;;;@;;;;@;;;;;;;;;@@/`/;@;@@@@@@@@@@@@@@@@@@@@@;;@@@@;;;@@;@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;//;@@;///;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@;;;;;;/;;;;;;;//;;@@@@@@@@@@@@@@;````//````/@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;///;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;//;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;;;;;/;;;;;;;@@@@@@;;;;;;;;;;;;;;/`//;;;;;;;;@@@@;;;@@;;;;;@;/`;@;@@@@@@@@@@@@@@@@@@@@@;;;;;;@;;;@@;@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@;//;@;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;;@@@;;;;;;//;;;;;;//;;@@@@@@@@@@@@@@@;/````````/;@@@@@@@@@@@;;;;;;;;;;;;;;/;;;;;///;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;/;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;/;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;;;;//;;;;;;;@@@@@@;;;;;;;;;;;;;``/;//;;;;;;;;@;;@@@@@;;;@@;`/;@;@@@@@@@@@@@@@@@@@@;@@@;@@@@@@;@@@;@;;;@@@@@@;;;;;;;;@@@@@@@@@@@@@@;@@;;@@//;;;/;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;@@@;;;;;;;////;;;;//;;@@@@@@@@@@@@@@@@@;/```````;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;////;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;//;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;;;///;;;;;;;@@@@@@@;;;;;;;;;;/``/;////;;;;;;;@@@@@@@;;;@@/`/@@;@@@@@@@@@@@@@@@@@@@@@;@@;;;;@;;;@@;@;;@@@@@@;;;;;;;;@@@@@@@@@@@@@@;@@@;@@/////;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;;@@@;;;;;;;//;;//;;;//;@@@@@@@@@@@@@@@@@@@;/`````/@@@@@@@@@@@@@;;;;;;;;;;;;;;;;/;;///;@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;;//;;;;;;;@@@@@@@@@@@@@@@@@@;;;;;;//;//;;;;;;;@@@@@@@;;;;;;;;/``/;//////;;;;;;;;@@@@@;;;@;/`;@@;@@@@@@@@@@@@@@@@@@@;;@;;//;;;;;;;@@;;;@;@@@@;;;;;;;;@@@@@@@@@@@@@@;@@@@@@;//;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;;@@;;;;;;;//;;;;//;//;@@@@@@@@@@@@@@@@@@@@@;/````;@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;////;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;/;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;//;@;//;;;;;;;@@@@@@;;;;;;;;```/;///`/;;;;;;;;;;;;@@;;;@;`/;@@@@@@@@@@@@@@@@@@;@@@;;@;/`/;/;/`/;;;@@;;;@@@@;;;;;;;;@@@@@@@@@@@@@@;@@@@@@;;;@@@;;;;;;;///;;;;;;;;;;;;;;;;;;;@@@@@;@;;;;;;//;;;;;@;///;@@@@@@@@@@@@@@@@@@@@@@@@//`/@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;///;@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;/;;;;;;;@@@@@@@@@@@@@@@@@@@@;//;;;;;//;;;;;;;@@@@@@@;;;;;/``/;////`/;;;;;;;;;;;;;;;@@@/`;@@@;@@@@@@@@@@@@@@@@@@;;@@;/`/;///`/;;;;;@@@@@@@;;;@@@@@;;;;;;;;;;@@@@@;;@@;;@@@;;;;;;;;;/`/;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;;;;//;;;;;;;;/;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;///;;@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;/;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;@;;;;;@@@@;;/;;;;;;;@@@@@@@@@@@@@@@@@@;;/;;;;;;;//;;;;;;;@@@;@@;;;@;``/;////`/;;;;;;;;;;;;;;;;;@;/`;@;;@@@@@@@@@@@@@@@@@@@;;@@;/`/;//``/;;@@;@@@@@@@;;;@@@@@;;;;;;;;;;@@@@@@;;@@;;;;;;;;;;;///`/;;;;;;;;;;;;;;;;;;@@@@@@;;;;;;;//;;;;;;;;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;//;;@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;;;@;;;@@@@;//;;;;;;;@@@@@@@@@@@@@@@@@;;;@;;;;;;;//;;;;;;;@@@@;;;;;/``/;///``/;;;;;;;;;;;;;;;;;@;`/;@;;;@@@@@@@@@@@@@@@@@@@;;@;/`/;///`/;;;;;@@@@@@@;;;@@@@@;;;;;;;;@@@@;;;;;;@@;;;;;;;;;/////``;@;;;;;;;;;;;;;;@@@@@@@;;;;;;;//;;;;;;;;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;/;;;;;;;///;@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;@;;;@;@@@;;//;;;;;;;@@@@@@@@@@@@@@@@;;@;;;;;;;;;;/;;;;;;;@@@;;;;/``/;////`/;;;;;;;;;;;;;;;;;;;/`;@@@@@@@@@@@@@@@@@@@;@@@@@;@;``/;//``/;;;;;@@@@@@@;;;@@@@@@@@@@@@@@@@@;@@@@@;;;;;;;;;;/`/;///`/;;;;;;;;;;;;;;@@@@@@@;;;;;;;//;;;;;;;;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;//;;@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;@;;//;;@@@@;;//;;;;;;;@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/;;;;;;;@;;;@;/``/;///``;;;;;;;;;;;;;;;;;;;;//;;;;@@@@@@@@@@@@@@@@@@@@@@;@;``/;//``/;;@;;@;;@@@@@@@@;;;;;@@@;@@@@;;@@@@@;;;;;;;;;;;;/`/;///``;;;;;;;;;;;;@@@@@@@@;;;;;;;//;;;;;;;;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;/;;;;;;;//;@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;@;/```/;@;;@@;;/;;;;;;;;@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/;;;;;;;;;;;/``/;////`/;;;;;;;;;;;;;;;;;;@;`/;;;;;;@@@@@@@@@@@@@@@@@@;;;@;``/;//`//;;@;;@;;@@@@@@@@@@@@@@;;;@@@@@@@;;;;;;;;;;;;;;;;/``;;///`/;;;;;;;;;;@@@@@@@@;;;;;;;///;;;;;;;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;//;;;;;;;///;;@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;@@;@;;;;;;;;;;;;;;;;;;@@/````/;;;;@@@;;//;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;;;;;;//;;;;;;;;;/``/;////`/;;;;;;;;;;;;;;;;;;;;/`;;;;;;;@@@@@@@@@@@@@@@@;;;;;@;``////`/;;;;;;;;;@@@@@@@@;;;;;;;@@@@@@@;;;;;;;;;;;;;;;;;;;``/;///``;;;;;;;;;;@@;@@@@;;;;;;;//;/;;;;;;///;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;////;;;;;;///;@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;@@/```/;@;;;;@@@;;//;;;;;;;@@@@@@@@@@@@@@@@@;;;;;;;;;;/;;;;;;;;;;/``/;///``/;;;;;;;;;;;;;;;;;;;;//;;;;;;;@@;;;;@@@@@@@@@@@;;;;@;``;///`/;;;;;;;;;;;;;@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;/``;;///`/;;;;;;@@@;@@@@;;;;;;;//;;;//;;;;///;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/;/;;;;;////;@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;@@;;;;@;;;@;;;;;;;;;;@;/``;@;;;;;;;@@;;//;;;;;;@@@@@@@@@@@@@@@@@@;;;;;;;;/;;;;;;;;;;/``/;////`/;;;;;;;;;;;;;;;;;;;;;`/;;;;;;@@@;;;;;;;;;;;;@@@@;;;@/`/;///`/;;;;;;;;;;;@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;``/;///``;;;;;;@@@@@@;;;;;;;;//;;;;;//;;///;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;//;;;;;;//;;@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;@@;;;;@;;;;;;;;;;;;;;;@;/;;;;;;;;;;@@@;;/;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;//;;;;;;;;;;/`/;;///``;;;;;;;;;;;;;;;;;;;;;/`;;;;;;;@@@;;;;;;;;;;;;;;;;;;;@/`/;///`/;;;@;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``;;///`/;;;;;;;@@@;;;;;;;;//;;;;;;;////;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;///;@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;;;@@;;//;;;;;;@@@@@@@@@@@@@@@@@@;;;;;/;;;;;;;;;;/``/;///``/;;;;;;;;;;;;;;;;;;;;;//;;;;;;;@@;;;;;;;;;;;;;;;;;;;;@/`/;///`/;;;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;``/;///``;;;;;;;@@;;;;;;;///;;;;;;;;;///;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;///;;@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;//;;;;;;;@@@@@@@@@@@@@@@@@@;;/;;;;;;;;;@;``/;////`/;;;;;;@;;;;;;;;;;;;;;/`/;;;;;;@@@;;;;;;;;;;;;;;;;;;;;;/`/;///`/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``;;///`/;;;;;;;;;;;;;;//;;;;;;;;;;;/;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/;;;;;;;///;;@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;//;;;;;;@@@@@@@@@@@@@@@@@@;/;;;;;;;;;;;/``/;///``/;;;;;@@@@;;;;;;;;;;;;/`;;;;;;;@@@;;;;;;;;;;;;;;;;;;;;;/`/;///`/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``/;///``;;;;;;;;;;;;;//;;;;;;;;;;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;///;@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;;;;@@;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;/;;;;;;;;@@@@@@@@@@@@@@@@;;;@;;;;;;;@/``/;////`/;;;;;@@;@@@;;;;;;;;;;;//;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;/`/;///`/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``;;///`/;;;;;;;;;;//;;;;;;;;;;;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;///;@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;;;//;;;;;;;@@@@@@@@@@@@@@@@@;;;;;;;;;;/`/;;///`/;;;;;;@@@@@@@@;;;;;;;;;;;;;;;;;@@@;;;;;;;;;;;;;;;;;;;;;;/`/;///`/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``/;///``;;;;;;;;;;//;;;;;;;;;;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;///;;@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;@@;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;;;//;;;;;;;@@@@@@@@@@@@@@@@@;;;;;;;;/``/;///``/;;;;;;;@@@@@@@@@@;;;;;;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;;;;/`/;///`/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``;;///`/;;;;;;;;;;//;;;;;;;;//;;@@@@;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;/;;;;;;////;@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;/;;;;;;;;;@@;;@;;;;;;;;;;;@;;;;;;;;;;;;;;;;;;;;@@;;;//;;;;;;;@@@@@@@@@@@@@@@@@;;;;;@;/`/;//;/`/;;;;;;;;;;@@@;@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`/;///`/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``/;///``;;;;;;;;;;;/;;;;;;///;;@@@@;/``/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;///;@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;/;;;;;;;;;;@@;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;;//;;;;;;;@@@@@@@@@@@@@@@@@@;;;@;``/;/;/`/;;;;;;;;;;;;;@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`/;///`/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;/``;////`/;;;;;;;;;;//;;;;///;@@@@@@/````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;///;;@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;@@;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;//;;;;;;;@@@@@@@@@@@@@@@@@@;;@/`/;////`/;;;;;;;;;;;;;;@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`/;///`/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;;@@;;;;/``/;///``;;;;;;;;;;;//;;//;;@@@@@@@;/````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;//;;@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;@;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;;;///;;;;;;;@@@@@@@@@@@@@@@@@@@//;;/;/`/;;;;;;;;;;;;;;;;;@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;``/;///`/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;@@;;;;;/``;;///`/;;;;;;;;;@;////;;@@@@@@@@@;/```;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;///;@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;@@;;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;;;/;;;;;;;;@@@@@@@@@@@@@@@@@@;/;//;/`;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;``/;///`/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@;@@@@;;;;;;;/``/;///`/;;;;;;;;;;;///;;@@@@@@@@@@@;/`/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;///;@@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;;//;;;;;;;@@@@@@@@@@@@@@@@@;;//;/`/;;;;;;;;;;;/;;;;;;;;;;;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;``/;//``/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@;;@@@@@@;;;;;;;;/``;////`/;;;;;;;;;///;;@@@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;///;;@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;;;//;;;;;;;@@@@@@@@@@@@@@@@@;/;;//;;;;;;;;;;;///;;;;;;;;;;;;@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;``/;//``/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;@@@@;;;;;;;;;;;;/``/;///`/;;;;;;;;//;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;///;;@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;@@@@@;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;;///;;;;;;;@@@@@@@@@@@@@@@;;;;//;;;;;;;;;;;/;;///;;;;;;;;;;;;;@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;``;;//`//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;/`/;////`/;;;;;///;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;///;@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;/;;;;;;;;;;;@@;;@;;;;@;;;;;;;;;;;;;;;;;;;;;;;;;;;@;;;@;;///;;;;;;;@@@@@@@@@@@@@@@@;@;;;;;;;;;;@;/;;;;;///;;;;;;;;;;;;;@@@@@@@;@@@@@@@@@;;;;;;;;;;;;``;///`//;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;/``/;///`/;@;;///;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;///;@@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;@@@;@;;@;;;;;;;;;;;;;;;;;;;;;;;;;;;@;;;@;;;;;;///;;;;;;;@@@@@@@@@@@@@@@@@;;;;;;;;;;//;;;;;;;///;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;;;;;/``;///`/;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@;@@@@@@;;;;;;;;;;;;;;;;;;;;;;/`/;///``;;///;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;//;@@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;@@;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;@;@;;;///;;;;;;;@@@@@@@@@@@@@@@@@;;;;;;;;;/;;;;;;;;;;///;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@;;;;/``;///`/;;;;;;;;@@@@@@@@@@@@;;@@@@;@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;/``/;////////;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;///;;@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;@@;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@;;///;;;;;;;;@@@@@@@@@@@@@@@@;;;;;;;/;;;;;;;;;;;;;///;;;;;;;;;;;;;;;;;@@@@@@@@@@;;@@;;;;/`/;///`/;;;;;@@@@@@@@@@@@@;@@@@@@@@@@@@@;;;;;;;;;;;;;;;////;;;;;;;;;;/`/;//////;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;///;;@@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;@@;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;//;@;;;;@;;;///;;;;;;;@@@;@@@@@@@@@@@@;;;;;;/;;;;;;;;;;;;;;/////;;;;;;;;;;;;;;;;;;@@@@@@@@@@;;;;/`/;///`/;;;;;@@@@@;@@@@@@@;;@@@@@@@;;;;;;;;;;;;;;;;;////;;/;;;;;;;;;;/``;;////;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;////;@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;@;@;/``/;@@;@;@@;;///;;;;;;;@@@@;;@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;/;;;;///;;;;;;;;;;;;;;;;;;;;;@@@@;;;;/`/;///`/;;;;;@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;/////;;;;//;;;;;;;;;;/`/////;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;//;;@@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;@;`````/;@;;;@@;;;///;;;;;;;@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;/;;;;;;////;;;;;;;;;;;;;;;;;;;;;;;;;;/`/;///`/;;;;;@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;/////;;;;;;;;/;;;;;;;;;;/////;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;//;;;@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;@@;;;;;;;@;;;;;;;;;;;;;;;;;;;@;/`````/;@@@;;@@;;////;;/;;;;;@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;/;;;;;;;;;;////;;;;;;;;;;;;;;;;;;;;;;;/`/;///`/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/////;;;;;;;;;;;/;;;;;;;;;;;//;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;/;;;;;;;;//;@@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;/;;;;;;;;;;;;;@@@;@;;@@@@;;;;;;;;;;;;;;;;;;;;;/`````/;@@@;;@@;;;///;;;;;;;;@@@@@@@@@@@@@@@@;;;;;;;;;;;;;/;;;;;;;;;;;;;/////;;;;;;;;;;;;;;;;;;;/`/;///`/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;///////;;;;;;;;;;;;;//;;;;;;;///;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;/;;@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;@;;@@;;;;@;;;;;;;;;;;;@@;;;;;@@;/`````/;@@;;;@;;;;///;;//;;;;@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/////;;;;;;;;;;;;;;/`/;///`/;;;;;;;;;;;;;;;;;;;;;;;;;;;//////;;;;/;;;;;;;;;;;;;;/;;;;;;///;;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;/;;;;@@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;;;;;;;;;;;;;;;;;@@;;;;;;@@;;;;;;;;;;;@;;;;;;;@@;/`````/;;@;;;;@;;;////;;//;;;;@@@@@@@@@@@@@@@;;;;;;;;;/;;;;;;;;;;;;;;/;;;;;;;;//////;;;;;;;;;/`/;///`/;;;;;;;;;;;;;;;;;;;;;///////;;;;;;;;;/;;;;;;;;;;;;;;/;;;;///;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;///;;@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;@@@;;@@@@;;;;;;;;;;;;;;;;;;;;;;@@;/````/;;@;@@@;@;;;///;////;;;@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;/;;;;;;;;;;;;//;;;;;;;;;/`/;///`/;;;;;;;;;;;;////////////;;;;;;;;;;;;;/;;;;;;;;;;;;;;;;////;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;///;;@@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@;;;;/;;;;;;;;;;;;@@;;@@;;;;;;;;;;;;;;;;;;;;;;;;@@;/`````/;;;;;;;@@;;;////////;;;;@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;/;;;;;;;;;;;@;/;;;;;;;;;/`/;///`/;;;;;;;;;///////;;;;;;;/;;;;;;;;;;;;;/;;;;;;;;;;;;;;;////;;@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;//;;@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@;;;;;;;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;@@@;/``````;@;;;;@;@@@;;;////////;;;;@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;/;;;;;;;;;;;;;;/;;;;;;;;;``/;///`/;;;;;;;;;/;;;;;;;;;;;;;/;;;;;;;;;;;;;//;;;;;;;;;;;/////;;;;@@@@@;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;//;;;@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@;;;;;;;;;;;;;;;;;;@@@;;@@;;;;;;;;;;;;;;;;;;;@@;//```````;;;;;@@;;@@@;;;;///;;//;;;;;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;/;;;;;;;;;;;;;;/;;;;;;;;;``/;///`/;;;;;;;@;/;;;;;;;;;;;;;/;;;;;;;;;;;;;;/;;;;;;;;;;////;;;@@@@@@;/```/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;//;;@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@;;;;;;;;;;;;;;;;;;@@;;@@;;;;;;;;;;;;;;;;;@@;;/````````/;@;;;;;;;@;@@@;;;;////;;//;;;;@@@@@@@@@@@@@@;;;;;;;;;;;;;;/;;;;;;;;;;;;;;/;;;;;;;;;``/;//``/;;;;;;;;;/;;;;;;;;;;;;;/;;;;;;;;;;;;;;/;;;;;;;////;;;;@@@@@@;/``````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;/;;;@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@;;;;;;;;;;;;;;;;;;@@;;;;@@;;;;;;;@;;;;;@@;/`````````/;;;;;@;;;;;;;@@@@;;;;////;////;;;;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;/;;;;;;;;;;``;;//``/;;;;;;;;;/;;;;;;;;;;;;;/;;;;;;;;;;;;;;;;;;;;/////;;;@@@@@@;//``````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;//;;@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@;;;;;;;;;;;;;;;;;;@@;;;@@;;;@;;@;;;;@@;;`````````/;;@;;;;;;;;;;;;;;@@@@;;;;/////;;;;;;;;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;/;;;;;;;;;;``;;//``/;;;;;;;;;/;;;;;;;;;;;;;//;;;;;;;;;;;;;;;;/////;;;@@@@@@@;;/``````//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@;@;;;;;;;;;;;;;;;;;;@@;;@@;;;@;;;@;;;@;/````````/;;@@;;;;;@;;;;;;;;;;;;;@;;;;;//////;;/;;;;;;@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;/;;;;;;;;;;``;///`/;;;;;;;;;;/;;;;;;;;;;;;;//;;;;;;;;;;;;;;////;;;;@@@@@@@;;/``````//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;/;;@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@;;;;;;;;;;;;;;;;;;@@@@@@@;@;;@;;@@;/````````/;@@;;;;@@@@;;;;;;;;;;;;;;@@@@;;;//////;;;;;;;;;;@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;``;///``;;;;;;;;;;/;;;;;;;;;;;;;;;;;;;;;;;;;;/////;;;;@@@@@@@@;/``````//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@;@@;;;;;;;;;;;;;;;;;;@@;@@;@;@@;;@;/````````/;;@;;;;@@@;;;;;;;;@@@@;;;;;@@;;@@;;;;//////;;/;;;;;;;@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;/`////``/;;;;;;;;;/;;;;;;;;;;;;;;;;;;;;;;;/////;;;;;@@@@@@@@;/```````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@;@@@;;;;;;;;;;;;;;;;;;@@@@@@;;;@@;/````````/;@;;;;;;;@;;;;;;;;;@@@@;;;;@@@;;@;@@;;;;;/////;////;;;;;;;@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;////////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//////;;;;@@@@@@@@@@@;```````;@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@;@;;@@;;;;;;;;;;;;;;;;;;;@@@@;;;@@/```````/;;@;;;@;;@@@;;;;;;;;;@@@@@;;@@@;;;@@;@@@;;;;;;////////;;;;;;;;;;@@@@@@@@;;;;;;;;;;;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;///////;;;;@@@@@@@@@@@@@@;``````/;@@@@@;;//`//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@;@@;;;;;;;;;;;;;;;;;;;@@;;;@@;/``````/;@@;;;;;;@@@;;;;;@;;;;@@@@@@@@@@@@;@;;@@;@@@@;;;;;/////////;;;;;;;;;;@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;////////;;;;;@@@;@@@@@@@@@@@@;/`````/;@@@@;/``````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@;@@@@;;;;;;;;;;;;;;;;;;;@@;;;;@;/````/;@@;;@@;;;;;;;;;;;;@@@@@;;;;;;;;;;@;;;;@;@@@@;@;;;;;;;//////////;//;;;;;;;;@@@@;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;////////;;;;;;@@@@@@@@@@@@@@@@@@@@;/`````/;;;/`````````;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@;@;@@@;;;;;;;;;;;;;;;;;;;@@@;;;@;;//;;@;;;;@@@@@;;;;;;;;@@@@@;;;;;;;;;@@@@@@@;@@@@@;;@@@@;;;;;;;//////////////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/////////;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@/``````//```````````/;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@;@@;;;;;;;;;;;;;;;;;;;;@@;;;@@;;@@@;;@;;;;;@;;;;;;;;;;;;;;;;;;;;;@@@@@@@@;@;;;;@;;@;;;@@@;;;;;;;////////////////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/////////////;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/``````````///``````;@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;@@@;;@@@@;;;@@;;@;;;;;;;@;;;;;;;;;;;;;;@@@@@;;@@@@;/``/;@;@;@@@;;@;;;;;;;;;;;;///////////////////////;;;;///////////////////////;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;````````//;@;/`````/;@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@;@@@;;;;;;;;;;;;;;;;;;;;@@@;@@@;@;;@;;;;;;;;;;;@@@@@@@;;;;;;@;;@@@@;@@;@@;```/;@@;@@@@@@@@;@@@;;;;;;;;;;;;///////////////////////////////////////;;;;;;;;;@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/`````//;@@@@;``````;@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@;;@@;;@@;;;;;;;;;;;;;;;;;;;;;@@;@@@@@;@;;;;;;;;;;@@@@@@@;;;;;;@;;;;;;@@@@;@;/```/;@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;///////////////////;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/```/;@@@@@@@/`````/;@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@;@@@@@@@;;;;;;;;;;;;;;;;;;;;;@@@;;@@@@@@;;;@@;;@@@;;;;;;;;;@@@;;;;;@@@@@@@;/```;@@;@;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@;@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@///;@@@@@@@@@/`````/;@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@;@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;@@;;;@@@@@;;@@@@@@@;;;;;;;@@@@@@;;;@@@@;@@@@/``/;@;@@;@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@;;/`````/;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@;@@@@@@@@;;@@;;;;;;/;;;;;;;;;;;;;;;@@;;@@@@@@@@@;;;;@;;;;;@@@@@@@@@@@@@@@@@@@@;//;;@;@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;```/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/```````/;@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@;;;;;/;;;;;;;;;;;;;;;@@@@@@@@@@@;;;;;@;;;;@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;```/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/````````/;@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;@@@@@@@;;;@;;;@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//````````/;@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;@@;;@@;@@@;;;@@@@@@@@@;@@@@@@@@@@@@@@@;@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;/```````//////;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/```;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//````````/;@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@;@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;@@@;@@;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/```````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/`/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/````````/;@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@;@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;`````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;```````/;@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@@;@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;```````///``````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/````/;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;`````/;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/`/;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@;@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;`````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@;@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;`````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;`````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@;@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;``````//;;;;;;;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;`````````````//;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@;@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;```````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@;@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;``````//////````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;`````/;@;@;/`````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;`````/@@;@@;`````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;`````/;@;@@/`````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;`````/;@@@@;`````;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;`````/;@@@@;`````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;`````/;;;@;/`````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/``````////`````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;```````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//////////;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;``/;;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;````/;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/`````//;@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;`````````/;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;```````````/;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/````````````/;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/``````````````//;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/`````````````````/;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;````````````````````//;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/``````````````````````/;;@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/````````````````````````//;;@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/```````````````````````````//;;@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;/```/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;/``///////////////////////`````//;;@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//`````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;//;;;;@@@@@@@@@@@@@@;;;;;;;;;;////;;@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;/````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;/```````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;//`````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;//````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//```````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;//```````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;//////``````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;////////``````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/////`````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;///;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````///;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````///;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@;@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@;;@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@;;@;@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@;@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@;@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;@;;@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;;;@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@;;;;;@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;//```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@;@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@;@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@;;@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@@@@;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@;@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;@;;@@;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@;@;;@@;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;@@@@;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;@@@;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;@@@;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;@@@;;@@@@@@@@@@@@@@@@@@@@@@@;@@@@@;;;;;;@;@;;@@@;;;;;;@;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@;;;;@;@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@;;;@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@;@@;;;;;;;;;;;;;;;;@@@@@@@@@@@;;;;@@@@@@@;;;;;@;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@;;;;;;;;;;;;;;@@@@;;;;;;;@;;;;@@@@@@@;;;@@@;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@;;@@@@;;;;@;;;;;;;@;;;;;;;````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;;;;@@;;;;@@;;;;@;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;;;;;;;``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@;@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@;;@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@;;;@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@@;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;@;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;;;;;;;;;;;`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;@;@@;@@;;@@@@@@;@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;@@;@;;@;;@@@@@;@@;@@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;@@;;@;;;@;@@@@@@;@@@@;;@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;@;;@@;;;;;;;;;;;;;;;;;;;;;;;;;@;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;@@;;;@;;;;;;@;;;;;;;;;@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;@;;;;;@;@@;;;;;;;;;;;@@@@@@@@@@;;;@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@;;;;;;;@@;;;;@@;;;;;;;;;;;;;;;;;;;;`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;@;;;;@@;;;;;;;;;;;;;@@@@@@@@@;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;@;;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;@@@@;;;;;;@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;;;;;;;@;;@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;;;;;@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;@;;@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;;;;@@@@@@@;@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````///;;;;;;;;;;;;;;;;;;;;///``/;@;;;;;;;;;;;;;;@@;;;;;;;;;;;;;@@;;;;;;;;;;;;;;;;;;;;;;;@@@@;;;;;@@;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/////////////////````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;@;;@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;@@@;;;;;;;;;;;;;;;;;;;;;;;;;;/```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@;;;///;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````///;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@;@@@@@@@@@@@@@@@@@@@@@@@@@@;;@@;;//````///;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@;@;;;/`````````///;;;;;;;;;;;;;;;;;;;;;;;;;;;;//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/////////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;@;@;;;/```````````````///;;;;;;;;;;;;;;;;;;;;;;//````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//////////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;@@@@;;;@@;;;;;/`````````````````````///;;;;;;;;;;;;;;///```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````/////////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@;@@@;;;;;;//````````````````````````````//////////````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````////////////;;;;;;;;;;;;;;;;;;;;;;;;;;;//`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````//////////////////////`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | |
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment