Hello! Feofilaktov.com

www.feofilaktov.com
Email: vladmir@feofilaktov.com
FB: www.facebook.com/feofilaktov


``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````......................................................
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.....................................................
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````...`...................................................
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.`````......................................................
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.............................................................
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.............................................................
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.````````..``.`````.............................................................
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````..`..`````.............................................................
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.````.``..`````.............................................................
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````...```..................................................................
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````...`...``.`.............................................................
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.`````..``...``..``.`.............................................................
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.``..``....................................................................
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````...................................................................
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````....................................................................
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.`````...```..................................................................
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````..............`.........................................................
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.``..............`.........................................................
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````...``....................................................................
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````....``...................................................................
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````...```..................................................................
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````...```..................................................................
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.............`......................................................
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.````...........`......................................................
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.```````..`......................................................
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.``````````..`......................................................
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.........```......................................................
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.``.```.````......................................................
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.````...`......................................................
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.```.``......................................................
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````..``......................................................
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.``......................................................
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````..````......................................................
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.`.````.``.....................................................
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.`.........................................................
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.`.........................................................
````````````````````````````````````````````````````````````````````....`````.......``````````````````````````````````````````````````..................................................................
````````````````````````````````````````````````````````````````````....````........`````````````````````````````````````````````````...................................................................
`````````````````````````````````````````````````````````````````.```````````````...``````````````````````````````````````````````````..................................................................
``````````````````````````````````````````````````````````````````````````````````````..`....``````````````````````````````....`........................................................................
``````````````````````````````````````````````````````````````````````````````````````...`.``````````````````````````````````...........................................................................
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.`........................................................................
```````````````````````````````````````````````````````````````````````````````````.......................................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
````````````````````````````````````````````````````````````````````````````````````.......................................................................................,,..,,,,,,,,,,,,,,,,,,,,,,,,,
`````````````````````````````````````````````````````````````````````````````````````..`..................................................................................,,,.....,,,,,,,,,,,,,,,.,,,,,,
``````````````````````````````````````````..........````..``...`````.`.......................................................................................................,..,,,,,,,,,,,,,,,,,,,,,,,,
````````````````````````````````````````````........`````.``...``````..`...................................................................................................,...,,,,,,,,,,,,,,,,,,,,,,,,,
````````````````````````````````````````````````....```.````...``````..`......................................................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,
``````````````````````````````....``......```............```...`..``....................................................................................................,,,...,..,,,,,,,,,,,,,,,,,,,,,,,
``````````````````````````````....``......```............```...`..``...................................................................................................,.........,.,,,,,,,,,,,,,,,,,,,,,
``````````````````````````````....``......``....````.....```...`````......................................................................................................,..,.,,,,,,,,,,,,,,,,,,,,,,,,,
``.````````````````````````....```````..````.``````````.````.```....````.`.................................................................................................,.,,,,.,,,,,,,,,,,,,,,,,,,,,,
.```````````````````````..````````````````.`````````````.```````..``.`.````.`....................................................................................................,,,,,,..,,.,,,,,,,,,,,,
``````````````````````````````..````````````````````````````````..``.``.```.`....................................................................................................,,,,,,...,.,,,,,,,,,,,,
``.`````````````````````````````.`````````````````````````````````..````..........................................................................................................,,,,,,.,,,,,,,,,,,,,,,
````````````````````````````````````````````````````````````````````````...........................................................................................................,,,,..,,,,,,,,,,,,,,,
``.`````````````````````````````````````````````````````````````````.```.................................................................................................................,,,,,,,,,,,,,,,
````````````````````````````````````````````````````````````..........................................................................................................................,..,,,,,,,,,,,,,,,
````````````````````````````````````````````````````````````..........................................................................................................................,,,,,,,,,,,,,,,,,,
````````````````````````````````````````````````````````````..........................................................................................................................,,,,,,,,,,,,,,,,,,
`````````````````````````````````````````````````````````.``...`.`......,,,;;;;;;:::...................................................................................................,.,,,,,,,,,,,,,,,
``````````````````````````````````````````````````````..`.``...```......,,,;;;;;;::,.....................................................................................................,,,,,,,,,,,,,,,
`````````````````````````````````````````````````````````.``....`.......,,,;;;;;;::,.....................................................................................................,,,,,,,,,,,,,,,
````````````````````````````````````````````````````````````....``...;;;'''+++######++'::,.............................................................................................,.,,.,,,,,,,,,,,,
``````````````````````````````````````````````````````````````````...;;;'''+++######++'::,...............................................................................................,,,,..,,,,,,,,,
``````````````````````````````````````````````````````````````.``....;;;'''+++######++'::,...............................................................................................,.,,..,,,,,,,,,
``````````````````````````````````````````````````````````````````,,,'''+++##############+;;:.....................................................................................................,.,,,,
``````````````````````````````````````````````````````````````````,,,'''+++##############+;;:.....................................................................................................,.,,,,
``````````````````````````````````````````````````````````````````,,,'''+++##############+;;:..................................................................................................,,,,,,,,,
```````````````````````````````````````````````````.```````````...'''+++####################'::,.............................................................................................,,,,,,,,,,,
``````````````````````````````````````````````````````````````....'''++#####################'::,............................................................................................,..,,,,,,,,,
`````````````````````````````````````````````````````````.````....'''#++####################'::,............................................................................................,..,,,,,,,,,
````````````````````````...```````````````.....................:::############++++++++#########;,,..............................................................................,,,...,,,,,,,,,,,,,,,,,,
``````````````````````````..`````````````......................:::############++++++++#########;,,...............................................................................,,...,,,,,,,,,,,,,,,,,,
``.````````````.````````..``````...............................:::############+++##+++#########;,,..............................................................................,,,...,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,................................................'''############++###############';:,.......................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,.................................................'''#############+###############';:,.......................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,..............................................'''#############+###############';;,.......................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;::::::::::::::::::::::::::::::::+++#############################+;;:,,,,,,,,,,,,,,,,,,,,,,,,...............................................:::;;;;;;:::,,,,,,,,,,,,,,,,,,
;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::+++#############################+;;:,,,,,,,,,,,,,,..,,,,...................................................:::;;;;;;:::,,,,,,,,,,,,,,,,,,
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:::::::::::::::::::::::::::+++#############################+'':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,:::;;;;;;:::,,,,,,,,,,,,,,,,,,
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++###########+++#########++++++'';;:;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;'''''';;;::::::::::::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++#########+++#########++++++'';;;;;;:::::;;::::;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::;;;'''''';;;::::::::::::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++#########+++########+++++++'';;;;;;;;::::::;::;;;;::::::;;;;;;;::::::::::::::::::::::::::::::::::::;;;;;'''''';;;::::::::::::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''+++++++++++++++++++++++++++++';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''';;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''+++++++++++++++++++++++++++++';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''';;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''+++++++++++++++++++++++++++++';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''+++++++++++++++'+'''''';:::::::::::;;;:::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;:::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''+++++++++++++++++'''''';:::::::::::;;;:::::::::::::::::::::::::;;;;::::::::::;:;:;;;;;;;;;;;;'';;;;;;;;;;;;;;;;;;:::;;;:::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''++++++++++++++++++++''';:::::::::;;;;;::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''++++++++++++++++'+++++'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''+++++++++++++++++++++++';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''+++++++++++++++++++++++';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''';;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''++++++++++++++++++++++'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''';;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''++++++++++++++++++++++'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''';;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''+++++++++++++++++++++''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''';;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;'''+++++++++++++++++++++'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''+++++++++++++++++++++'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:;;;:;;;;;;;;;;;;;;;;;'''+++++++++++++++++''';;;;;;;;;;;;;;;:::::;;;;;;;::::::;;;;;;;;;;;;;;;;;;;;;;;;:;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;:
;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:;;;::;:::;;;;::;;;;;;'''+++++++++++++++++';;;::;;;:::::::::::::::;::;;;::::::;;;::;:::;;;;;;:::;;;;;;::::::;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;::::::;;:
;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;:;::::;;::::;;;;;'''+++++++++++++++++';;;:::;;:::::::::::::::;;;;;;::::::;::;:;:::::;;;;;:;;;;;;;:::;::;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;::::::;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::;;;;;;+''++++++++++++++';;;::::::::::::::::::::::::;;:::::::::::;::::::::::::;;;;;;::::::;;;:::;::;;;;;;::::::;;;::::::::::::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:;;;;;;;;;:;;;;;;;::;::::::::::;:;;;'''++++++++++++++';;;;;::::::::::::::::::::::;:::::::::::::::::::::::::::::::::::::::;::::::;;;::::::::::::::::::::::::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::;;;'''++++++++++++++';;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;:;;:::::::::::::::::::::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;:;;::::;;:::;;;;;;''''''+++++++++++++++''''';;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;;:;;;;;;:::;;;;;::::::;;;;::;;;;;;;;;:;;;;::;;::::;;;:;;:::::;:::;;;;;;''''''''++++++++++++++++++';;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:::::::::::
;;;;;;;;;;;;::;:;;;;;:;:::;;;;:::;:;;;;;;:;;;;;;:;;:::;;;:;;:::::::::;;;;;;''''''+'++++++++++++++++++';;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:::::::::::
;;;;;;;;;;;;:::;;;;;;:::::::;::::::::::::::::::::::::::;;;;;::::::''';;;:::''''''+'+++++++++++++++++++++';;;:::::;;:;;;:::;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;;:::;;;;:::;;;::;::::::::::::::::::::::::::::::::::::;::::::::''';;;:::'''''''''++++++++++++++++++++';;;::::::;;;;;:::;;;::::::;::::::::;::;::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;;:;;;;;;::;;;;::;:::::::::::::::::::::::::::::::::::;;;;::::::''';;;:::'''''''''++++++++++++++++++++';;;:::::;;;;;;:::;;:::::::::::::::::;;::::::;;:::::::::::::::::::::::::::::::::::::::::::::::::
;;;;;;;::;;;:::;;;;;;;;;:::;;;;;;::::::;;;::::::::::::;;;;;;:::''';;;:::;;;'''''''''+++++++++++++++++++++++;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;;:::;;;;:::;;;;;;;;;:::;;;::;::::::;;;:::::::::;::;;;;';,,:''';;;:::;;;'''''''''+++++++++++++++++++++++;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;::;:;;;;:::;;;;;;;;;:::;;;::;::::::;;;::;;::::::::;;;'';,,:''';;;:::;;;'''''''''+++++++++++++++++++++++;;;:;;::::::::;:::::::;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;:::;;;;;;::;;;;:::::::;::::::;:::;;;:::;;;:::::::::'''''''''+++''';;;''''''''''''++++++++++++++++++++++++++''';;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;:::;;;;;;::;;;;::::::;:::::::::::;;;:::;;;:::::::::''''''+++'++'';;;;''''''''''''++++++++++++++++++++++++++''';;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;:::;;;;;;;;;;;;;:::::::;:::::::::;;;::;;;;:::::::::''''''''++++'';;;;'''''''''''+++++++++++++++++++++++++++''';;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;;;;;;::::::;;;::::::::::::::::::::::::::::::;;;'''+++++++#+'''''';;;'''''';;'''''''+++++++++++++++++++++++++++++;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;;;;;;::::::;;;::::::::::::::::::::::::::::::;;;'''+++++++++''';;';;;'''''';''''''''+++++++++++++++++++++++++++++;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;;;;;;::::::;;;::::::::::::::::::::::::::::::;;;'''+++++++++''';;';;;'''''';;'''''''+++++++++++++++++++++++++++++;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;''''+++++###+++'''''';;;;;;;;;;;;''''''+++++++++++++++++++++++++++++'''::;;;;:::::::::;;;::::::;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;''''+++++###+++''';;;;;;;;;;;;;;;''''''+++++++++++++++++++++++++++++'''::;;;;:::::::::;;;::::::;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;'''++++++###+++'''''';;;;;;;;;;;;''''''+++++++++++++++++++++++++++++''':;;;;;::::::::::;;::::::;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''++++++++++++''''''''''''''';;;;;;'''+++++++++++++++++++++++++++++++++++;;;;;;;;;;;;::;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''++++++++++++'''''';'''''''';;;;;;'''+++++++++++++++++++++++++++++++++++;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''++++++++++++'''''';'''''''';;;;;;'''+++++++++++++++++++++++++++++++++++;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;:;;;;:;:;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++++++++''''''''''''+++'''''''''++++++####+####++++++++++++++++++++;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;:::;;;:::;;;;;;::;;;;;;;:;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;::;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++++++++''''''''''''''+'''''''''++++++#########++++++++++++++++++++;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;:::;;;::;;;;;;;:;;;;;;;;:;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;:;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++++++++''''''''''''+++'''''''''++++++#########++++++++++++++++++++;;;:::;;;;;;;;;;;;;;;;;;;;:;;;;;;:::;;;::;;;;:;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;:;;:::'''++++++++++++'''''''''++++++'''''''''+++++##########++++++++++++++++++'+;;;::;:::;;;:::::::::;;;:::;;;;;;:::;:;;;;;;;;;;::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;:;:::::'''++++++++++++'''''''''++++++'''''''''+++++###########+++++++++++++++++'';;;;;;;:;;;;:::::::::;;;;;;;:;;;;:::;;:;;:;;;;;;:::;::;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;::;;;;;;;;;:;;:;:;;::::'''++++++++++++'''''''''++++++'''''''''+++#+##########++++++++++++++++++'';;;;:;:;:;;;:::::::::;;;:;;;:;;;;:::;:;;:;:;;;;;::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::'''+++###+++++++++''''''''''''''''''++++++#########++++++++++++++++++++''';;;;:;::;;;;;;;;;;:;:;;;;::;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;:::;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::'''+++#####+++++++''''''''''''''''''++++++#########++++++++++++++++++++''';;;;;:::;;;;;;;;;;:::;;;:::;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;:::;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::'''+++######+++'''''''''''''''''''''++++++#########++++++++++++++++++++''';;;;;;::;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;:::;;;;;;;;;
;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++############++++++++++++++++++++++++#####++++++++++###++##+++++++''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;
;;;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++##+#########++++++++++++++++++++++++#####++++++++++##+++++#++++++''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++#+##########++++++++++++++++++++++++#####++++++++++#####++#++++++''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;
;;;;;;:::;;;::::::;;;;;;:::::::::;:::::;;;;;;++++++++##########++++##+++#########++++++##+++++++++###+++###+++++++++'''::::::;;;:::;;;:::;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;::::::;:::::
;;;;;;:::;;;::::::;;;;;;:::::::::;:::::;;;;;;++++++++##########+++++#+++#########++++++##+++++++++####++#+#+++++++++''':::::::;;:::;;;;::;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;;::::::;:::::
;;;;;;::;;;;::::::;;;;;;:::::::::;:::::;;:;;;+++++++#+#########+++####++#########+++++####+++++++++##+++####+#++++++'''::::::;;;:::;;;;::;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;:::::::;;:::
;;;:::::::::::::::::::::::::::::::::::::::;;;+++++++++######+++++++++++++++######+++#####++++###++++++++###+++++++++''':::::::::::::::::::::;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;:::::::::::::::::::::::::::::::::::::::;;;++++++#++######+++++++++++++++######+++++###++++##+++++++++###+++++++++''':::;:::::::::::::::::;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;;;::::::::::::::::::::::::::::::::::::::;;;++++++#+#######+++++++++++++++######+++++###+++++#+++++++++###+++++++++''':::::::::::::::::::::;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::;:;;;;;;;::::::::::::::::::::::::;;;:::'''+++++++++#########+++++++++#########+++###++++++#++++++++++++++++++++++;;;::::::::::::;;;;;;;;;;;;::::::::::::::::::;;;:::::;::::::::::::::::::;;;:::::::::
:::::;;;;;;;::;:::::::::::::::::::::;;;:::'''+++++++++######++#+++++++++#########+++###+++++++++++++++++++++++++++++;;;::::::::::::;;;;;;;;;;:;::::::::::::::::::;;;:::;;:::::::::::::::::::;;;:::::::::
::::::;;;;:;::::::::::::::::::::::;:;;;:::'''+++++++++#########+++++++++#########+++##++++++++++++++++++++++++++++++;;;::::::::::::;;;;;;;;;;;;::::::::::::::::::;;;:::;;;::::::::::::::::::;;;:::::::::
::::;;;;;;;;::::::;;;;;;::::::;;;:;;::::::++++++++++++##+###+++#++############++++++++++++##+++++++++++#++++++++++++:;;:::;;;;;;::::::::::::;;;;;;::::::::::::;:::::::::::::::::::::::::::::::::::::::::
:::;;;;;;;:::::::::::;::::::::;;;;;;::::::+++++++++++++#####++++++############++++++++++++##+++++++++#+#++++++++++++:;;:::;;;;;;::::::::::::;;;;;;::::::::::::;:;:::::::::::::::::::::::::::::::::::::::
:::;;;;;;;;:::::::;;;;;;::::::;;;::;::::::++++++++++++++####++++++############++++++++++++##++++++++++##++++++++++++;;;:::;;;;;;:::::::::::;;;;;;;::::::::::::;:;:::::::::::::::::::::::::::::::::::::::
;;;:::;;;;;;:::::::::::::::::::::::::::;;;+++++++++++++++#####################+++###+#######+++++++++++++++++++++'''::::::::::::::::::;;;;;;::::::::;::::::::;;;;;;;:::::::::::::::;;;:::::::::;;;;:::::
;;;:;:;;;;;;:;:::::::::::::::::::::::::;;;+++++++++++++++#####################+++###+#######+++++++++++++++++++++'''::::::::::::::::::;;;;;;::::::;;;:::::::;;;;;;:;:::::::::::::::;;;:::::::::;;;::::::
;;;:::;;;;;;;;;::::::::::::::::::::::::;;;+++#+++++++++++#####################+++###+#######+++++++++++++++++++++''':::::;::::::::::::;;;;;;::::::;;:::::::::;;;;;;;:::::::::::::::;;;:::::::::;;:::::::
;;;::::;;;;;;;;;;;;;;;;;:::;;;;;;;;;:::';''''++++++++++++######+++++++++++++++###++++++#####+++++++++++++++++++++;;;::::::;;;;;;::::::::::::::::::::::::;::::::::::::::::::::::::::;;;;:::::;;;::::::::;
;;;::::;;;;;;;;;;;;;;;:::::;:;;;;;;;:::''''''++++++++++++######+++++++++++++++###++++++#####+++++++++++++++++++++;:;::::::;;;;;;:::::::::::;:::::::::::::;;::::::::::::::::::::::::;;;::::::;::::::::::;
;;;::::;;;;;;;;;;;;;;::::::;;;;;;;;;:::';;'''++++++++++++######+++++++++++++++###++++++#####+++++++++++++++++++++;:;::::::;;;;;;:::::::::::;:::::::::::::;;::::::::;:::::::::::::::;;;::;:::;::::::::::;
;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;:::::::::'''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''';;;;;;;;;:::;;::::::::::;;;;;;::::::;;;:::::::::::::::;;;;;;;;;;;;;::;;;::;;;;;;;:;;:::
;;;;;;;;;;;;;;;;;;;;;::;;;;;;;:::::::::'''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''';;;;;;;;;:::::::::::::::;;:;;;::::::;;;:::::::::::::::;;;;;;;;;;;;:;;;;;:::;;;;;;:;::::
;;;;;;;;;;;;;;;;;;;;;::;;;;;;;:::::::::'''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''';;;;;;;;;:::::::::::::::;;:;;;::::::;;;:::::::::::::::;;;;;;;;;;;;;;;;;;:::;;;;;;;;::::
;;;::::::;;;;;;;;;;;;;;;;;;;;;:::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''';;;;;;;;;;;;::::::;;;::::::::::::;:;;;;;:::::;;;;;;::::::::::::;;;;;;;;;:::::::::::::::
;;;::::::;;;;;;;;;;;;;;;;;;;;;:::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''';;;;;;;;;;;;::::::;;;:::::::::::::::::;;:::::;;;;;;::::::::::::;;;;;;;;;:::::::::::::::
;;;::::::;;;;;;;;;;;;;;;;;;;;;:::::::::+++++++++++++++++++++++++++++++++#+++++++++++++++++++++++++++++++++++++''';;;;;;;;;;;;::::::;;;:::::::::::::::;:;::::::;;;;;;::::::::::::;;;;;;;;;:::::::::::::::
;;::::;;;;;;;;;;;;;;;;;;;;;::;:::::::::+'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::;;;;;;;;;:::;;;;;;::;::::::::::::::::::;;;::::::::::::
;;::::;;;;;;;;;;;;;;;;;;;;;::::::::::::+'+++++++++++++++++++++++++++++++######++++++++++++++++++++++++++++++++;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::;;;;;;;;;:::;;;;;;:;;::::::::::;:::::::;;;::::::::::::
;;;:::;;;;;;;;;;;;;;;;;;;;;::::::::::::+++++++++++++++++++++++++++++++++##++++++++++++++++++++++++++++++++++++;;;;;;;;;;;;;;;;;;;;;;;;:;;:::::::::;;;;;;;;;:::;;;;;;:;;:::::::::::;::::::;;;::::::::::::
::::::::::::;;;;;;;;;;;;;;;;;;:::::::::'''++++++++++++++++++++++++++++++######++++++++++++++++++++++++++++++++;;;;;;:::::::::;;;;;;;;;::::::::::::;;;;;;;;;::::::::::::;;;:::::::::::::::;::::::::::::::
::::::::::::;;;;;;;;;;;;;;;;;;:::::::::'''++++++++++++++++++++++++++++++######++++++++++++++++++++++++++++++++;;;;;;:::::::::;;;;;;;;;::::::::::::;;;;;;;;;::::::::::::;;;::::::::::::::::::::::::::::;;
::::::::::::;;;;;;;;;;;;;;;;;;:::::::::'''++++++++++++++++++++++++++++++######++++++++++++++++++++++++++++++++;;;;;;:::::::::;;;;;;;;;::::::::::::;;;;;;;;;::::::::::::;;;:::::::::::::::::::::::::::::;
;;;;;;;;;;;;:::::::::::::::;;;;;;;;;;;;';;+++++++++++++++++++++++++++###+++###++++++++++++++++++++++++++++++++;;;;;;;;;::::::::::::::::::;;;:::::;:::;;;;;;;;;:::::::::::::::;;;:::::::::;:;;;;:::::::::
;;;;;;;;;;;;:::::::::::::::;;;;;;;;;;;;';;+++++++++++++++++++++++++++###++++#+++++++++++++++++++++++++++++++++;;;;;;;;;::::::::::::::::::;;;:::;;;:::;;;;;;;;;:;;::::::::::::;;;:::::::::;:;;;;:::::::::
;;;;;;;;;;;;;;:::::::::::::;;;;;;;;;;;;;';+++++++++++++++++++++++++++###+++###++++++++++++++++++++++++++++++++;;;;;;;;;::::::::::::::::::;;;:::::::::;;;;;;;;;:;:::::::::::::;;;:::::::::;::;;;:::::::::
;;;;;;;;;;;;;;;:::;;;::::::::::::::::::;;;'''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;;;;;:::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;:::::::::::::::;;;;;;;;;::::::;;;:::::::::
;;;;;;;;;;;;:;;:::::;::::::::::::::::::;;;'''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;;:;;:::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;:::::::::::::::;;;;;;;;;::::::::::::::::::
;;;;;;;;;;;;;;;::;;;;::::::::::::::::::;;;'''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;;;:;:::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;:::::::::::::::;;;;;;;;;:::::::;::::::::::
:::::::::::::::;;;;;;;;;;;;:::::::::;;;;;;;;;;;;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';;::::::::::::::::::;;;:::::::::::::::;;;;;;;;;;;;;:;::::::::::::::::::::::::;:::::;;;;;;
:::::::::::::::;;;;;;;;;;;;:::::::::;;;;;;;;;;;;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';;::::::::::::::::::::;:::::::::::::::;;;;;;;;;;;;:::::::::::::::::::::::::::;;::::;;;;;;
:::::::::::::::;;;;;;;;;;;;:::::::::;;;;;;;;;;;;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';;::::::::::::::::::;:;:::::::::::::::;;;;;;;;;;;;::;::::::::::::::::::::::::::::::;;;;;;
;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';++++++++++++#+#++++++++++++++++++++++++++++#######+++++++++''';:;:::;;;::::::;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::;;;::::::::::::::::::
;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++++++++#+++++++++++++++++++++++++++++++######+++++++++''';;;:::;;;::::::;;;;;;;;;;;;;:;::::::::::::::::::::::::::::::::::::;;;::::::::::::::::::
;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++++++++#+#++++++++++++++++++++++++++++#######+++++++++''';:;;::;;;:::::;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::;::::::::::::::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;::::::::::;;;'''+++++++++'''++++++#+++++'''++++++#####++++########+++++++++''';;;:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::;;;;;;;;;:::;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;:::::::::;;;'''+++++++++'''++++++#+++++'''++++++###+#++++########+++++++++''';;;:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::;;;;;;;;;:::;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;::::::::::;;;'''+++++++++'''++++++#+++++''+++++++#####++++########+++++++++''';;;:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::;;;;;;;;;:::;;;;;;;;;;;;;;;
;;;:::::::::::::::::::::::::::::::::::::::::::::+++++++++''';;;''''''++++++'''+++++++++++++++++######+++++++++''';;;;;;;;;::::::;;;;;;;;;::::::;;;;;;;;;::::::::::::::::::;;;;;;;;;;;;;;;;;;::::::::::::
;;;:::::::::::::::::::::::::::::::::::::::::::::+++++++++''';;;'''''+++++++'''+++++++++++++++########+++++++++''';;;;;;;;;:;::::;::;;;;;;::::::;;;;;;;;;::::::::::::::::::;;;;;;;;;;;;;;;;;;::::::::::::
;;;::::::::::::::::::::::::::::::::::::::::::;::''+++++++''';;;'''''+++++++'''+++++++++++++++########+++++++++''';;;;;;;;;;:;:::;::;;;;;;::::::;;;;;;;;;;:::::::::::::::::;;;;;;;;;;;;;;;:;;::::::::::::
::::::::::::;;;;;;;;;;;;;;;;;;;;;:::::::::::::::++++++'''''''''+''++++++++++++++++++++++++++++++####+++++++++++++''';;;;;;::::::;;:;;;;;;:::::::::;;;::::::::::::;;;:::::::::;;;;;;;;;::::::::::::::::::
::::::::::::;;;;;;;;;;;;;;;;;;;;;:::::::::::::::++++++'''''''''+'+++++++++++++++++++++++++++++++####+++++++++++++''';;;;;;:::::::::;;;;;;;::::::::;;;::::::::::::;;;:::::::::;;;;;;;;;::::::::::::::::::
::::::::::::;;;;;;;;;;;;;;;;;;;;::::::::::::::::++++++''''''''''''+++++++++++++++++++++++++++++#####+++++++++++++''';;;;;;;;;::::;:;;;;;;;;;::::::;;;::::::::::::;;;:::::::::;;;;;;;;;::::::::::::::::::
'''''';;;;;;;;;;;;;;;;;;:::::::::::::::;;;;;;;;;++++++;;'+++++++++++++##+++++++++++++++++++++++####++++++++++++'';;;;;;;;;:::::::::;;;;;;::::::;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;::::;;;;;;;;;;;;;;::::::
'''''';;;;;;;;;;;;;;;;;;:::::::::::::::;;;;;;;;;++++++;;'++++++++++++++++++++++++++++++++++++++####++++++++++++'';;;;;;;;;:;:::::::;;;;;;::::::;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;::::::
'''''';;;;;;;;;;;;;;;;;;:::::::::::::::;;;;;;;;;++++++';'++++++++++++++++++++++++++++++++++++++####++++++++++++'';;;;;;;;;:;:::::::;;;;;;::::::;;;;;;;;;;;;:::;;;;;;;;;;;;;;;:;;:::;;;;;;;;;;;;;;;::::::
;;;;;;;;;;;;;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+#+''';;;''''''''''+++++''''''+++++++++++++++########+++++++++''';;;;;;;;;;;;:::::::::;;;::;:::;;;;;;:::::::::;:::::;;;;;;;;;::::::::::::;;;;;;:::::::::
;;;;;;;;;;;;;;;''';;;;;;;;;';;;;;;;;;;;;;;;;;;;;##+''';;;''''''''''+++++''''''+++++++++++++++#######++++++++++''';;;;;;;;;;;;:::::::::;;;::;:::;;;;;;:::::::::;:::::;;;;;;;;;::::::::::::;;;;;;:::::::::
;;;;;;;;;;;;;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#++''';;;'''''''''++++++''''''+++++++++++++++########+++++++++''';;;;;;;;;;;;:::::::::;;;::::::;;;;;;:::::::::::::::;;;;;;;;;::::::::::::;;;;;;:::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::'''+++''';;;'''''''''''''''''''''++++++++++++++#########+++++++++''';;;:::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;:::;;;:::::::::::::::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::'''+++';;;;;'''''''''''''''''''''++++++++++++++#########+++++++++''';;;:::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;::::;::::::::::::::::::::::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::'''+++';;;;;'''''''''''''''''''''++++++++++++++#########+++++++++''';;;::::::::::::::::::::::::;;;;:::;;::::::::::::::::::;;;;;;:::;;;:::::::::::::::::::::
;;;:::;;;;;;:::::::::;;;:::::::::::::::::::::'''+++';;;;;;'';;;;;;''''''''''''++++++++++++++#########+++++++++';;::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::;;;;;;;;;;;;;;;::::::::::::
:;;:::;;;;;;:::::::::;;;:::::::::::::::::::::'''+++';;;;;;;';;;;;;''''''''''''++++++++++++++#########+++++++++';;::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::;;;;;;;;;;;;;;;::::::::::::
:;:;;;;;;:;;;;;;;;;;;:;::::::::::::::::::::::'''+++';;;;;;;;;;;;;;''''''''''''++++++++++++++#########+++++++++;;;::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::;;;;;;;;;;;;;;;:;::::::::::