Your fingerprints are transmuted into the photo of the installation of Watching the Watchers by James Bridle. Visit the website of the artwork Watching the Watchers by James Bridle.
Transmutation process countdown .. 6 ..
Download transmuted data in the artwork dataset as CSV format.
|;||||:;,||||:::|::::|:::::::::::|,|,;;,,;,,,,,,;;;;;;;;;,::;:;;;;;;;;;;;;::;;;;:;:::::,::::;;:::::::::;;;;;;;;;;;;;;;;;;:::::::::;;;;:::::;::::::::::;:::::;;;:;;;;;;;;;;;;;:::;;;;:;::,..;|:;;;;::::;;;;;;;;::;.,;|:;;;;;;::;;;;;;::::::::::::::;:::;;;:::|:;;;:,':|::;;:;;:|:::::::;;::::::::::::::::::::::::::::::::::::;:::::;;::||,.,:||;::|:::::::::::::::::::::::::::::::::::::::|,':|:::::::::||::::::|,':|:|::::::::::::::::::
:|:||||;::::::::|::::::::::::;;;,;;,;;;;;;;;,;,,,;,,,,::;;;;;;;;;;::::::;;;;:;;;::;,:::::;;;:::::::;;;::;;;;;;;;;;;;;;;;;;;;;;,;;;:;:::;::::;;::;;::::;::;::;;;;;;;;;;;;;;;;;;;;;;;;;;|,',::;;;;;;;;;;;;;;;;;:|..;|::::::::;::::::::::::::::::||:::::::::;;;::::.,|::::;;||:|:::::;,::;:::::::::::::::::::::::::::::::::::::::::::::||:..;:|::::::::::::||::::::::::::::::::::::::::||:.,:|:::::::||:::::::::||.,||||:::::::|:::::::
;|||;:|||::::::::::::;;:,;;,;;;;,,,,;;;;;;;;;,;|;;;;;;;;;;:::::;;;;;:;;;::;.::;;:;::::::::|:;;::::;;;;;;;;;;;;;;::::::;;;;:;:::::;;:;;:::::;:::::;;;;;,;,;;;;;;;;;;;;;;;;;;;;;;:|:'.||;;::;;;;;;;;;;::::|:'.||:::::::::::::::::;::::::::::::::::;:;;;:;:,.;:::::;::::|::::;;::;;:::::::::::::::::;::::::::::::::::::::::::::::|||;',|::::::::::::::::::::::::::::||;;|:::::::::|||,.;|:::::::::::::::::||:;';|||||::||::::::
,;|;;::;:|;:::::::;:|::::::::|,.;;;;,;;;,,,;;;,,;;;;;;;|;;;;;;;;;;;;;;:;::;:|;;::::.::::;;::;::::::;;;;;;;;;;;;;::::;:::::;:::;;;;:;;;:;;;::::::;;;;::::;;;;::;:;;;;;;,,;;;;;;;:;;:;;;;;;;:|'';:;;;;;;;;;;;;;::::::|.'||:;::::;::;;;::::::::::::::::::::;;;;;;:::;.;:::;;||::::::::::::::::::::::::::::::::|:::::::::::::::::::::::::::::||:.;:|::::::::::::::::::::::::::::::|::::::;::::::|:..||:::::::::::::|::|::',|:::::::|::::
:;::||::;|:|::::::|||:::::::::::::;;,.;:;,,;;;;;;;;;;;,,;;;;;:;,;;;;::;;;;::;;:;;;|;:::::,:|:::;::;;:::::;;;;;;;;;::::::;;;;;;:::;;:;;;;:::;;;:::;;;::;::::;;::;;:::;;;;;;;;;;;;;;;;;;;;:;,;;;,;;;;:,',:;;;;;;;;;;;::;;;::::;';:::::::;;;;::;;::::::::::::::::;;::::;;::,.:|:;;||::::::::::::::|:;:::::::::::::::|:::::::::::::::::::::::::::::::|||,.:||||::::::::::::::::::::::::|::::||::||||||||..:||:::::::::::||::::|.'||:::;::::::
|:,|,;::;:;;::::::;;||::::::.:.,;;;,,,,,,,,,,;;;;;,;;;:;;;;;;;;;;;;;;;;;;;;|;;::;:,:|::;;;;;;;;:;;;;;;;;;;;:::::;;;::;;;;:;::;;;::;;;;;::;:;:;::;::;;;:;;;::::::;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;',;;;;;;,,;;::;;;;;;;:|,';;;;;;:;;;;;;;::::::::::;;;::::;;:::;:::|;,:|;;||::::::;:::::::::::;;::::::::::::::::::::::::::::::::::::::::::::::||,.,:||::::|:||::::::::::::::::::;:::::::::::;::::|,':|||::::::||||::::::|,';||:::::|:
::;|;;::|;:||::|:::::;;,.::;;,,,,,,,,,,,,,;;,,,;:,;::;;;;,;;;;;;;;;;;|;,;;;;,;;;,;;;;;;;;:;:;,,;;;;;;;;::::;;;;;;;;;;;:,,;;:;;;;;::::::;;:::::::::;,;;,;;;;;;;;;;;;;;,,;;;::;;;:::::::::::::;,;::;;::::|::::|||:::;|:::::::|::::::::;:::::;;:;:::::::::::::::.,:,:|::::::::::::::::::::;;;::::::::;:::::::::::::::::::::::::::::::::::|:|:,,:||::||::||:::::::::::::::::::::::::::::::::;:|:.,||::::::||::;:::::::;',||::::
,|:::::::::::;:|:,.;:;;;;;;,,||||||;;:|;;;;;;;::::::;::;;,,::;;::;,;:::::;;;;;;::;,,;;;;;;;;;;;;;;;;:;;::;;;:;;;,,,,;;;;;;;;;;;;;;:;:;;;;,,,,;;;,,,:;,,,,,,,.,,,;:;,;;;,,,,;;;,;;,;;;'':;;;,;:;;;;,;;;;;,;;;;;;;;;;;;::::::;;;;::;::::::;;::::::::|;.||,:|:::::::::::::::::::::::;;:::::::|::::::::::::::::::::::::::::::::::::::|||;.;|:::::|::::::::|:::|:::::::::::;:::::::::|||.;|:::::||::;;:::|||::;.;||::
|;::::::::,,;;;::,|.;:;;;;;;,,;;.,,,,,,,,,;;,,;;;,;;,,;;;;::::::|::;:::,:::;:;;;;;;;:::;,;;;;;;;;;;:;;;:;::;::;;||;;:::::::::|::::::::::::;::;;;;;::;;;:;;::;;;;;:::;;:;;;;;;;;;;;;;;;;;;;;:.'::;:::;;::::;;;;|:::::;;:;::::::::::;;:;;;;::::;;:::::::::|;,:;||:::::::::::::::::::::;::::;:::::::::::::::::::::::::::::::::::::::|||:::||||:;:|;::||||::::::|||:::::::::::::::::::::::::|'.|::||::|::|::::||::||',|
::,,;;;:||::::::::::|::::;|.;;;;;;;;;;;;;;,,,,;;;;::,;;;;;;::;;;:;;;;;;;::;::::,;::;;;;;;;;;;;:;:::::::::::;::;;;;;:::;;::;,;::::::::::;::::;;:::::::;;::;;:;;::::::;;;;;:;;;;:;;;;;;;;;;;::::::;;;;:|,.,::;;:::::::;;:;::;;:;;;;;::::::;:::::::::||::::::::::::::.;;:||::::::::::::::::::;:::::::::::::::::::::::::::::::::::::::::::::::::||||||||:;:|::|:::::::||::::::::::::::;::::::||:::|.':||:::|:::::::::::::|..
;;|::||:::::::||::;;::;;;|.:::;;;,,,,;,;,,,;;;;;;;:,,;;::;;;:;;:::::;;;::::;::,;::;;;;;;::;;;:;::::;;:::::::;;;;;;;;;;;:::;;:;::::::::::::::::::::::::::::::::::::::::;;:;;::::;;;;;;::;;;;;;;:;;::;;::;,;::;;;;;:::::;;;;:;;;;;;;::::;;;:;:;:::::;:;::::::::::||,.;:|:::::::::::::::::::::::::::::::::|;,;|:::::::::::::::::::::::::::::::::||||||::||:,:||::::::|:||:::::::::::::::::::::,',|::||,'::::::::::::::::::::|
:;||:;,::||:::::|:;:|';;:;;;,,,,;,,,,,;,;;,,;:,,;;;;;;;;;;::;;;;;;::;:;::,:::;;;;;;;;::;:;::;;;;::;;;;;;;;;;;;;;;;;:,,;;;;::|::|:::::|::|:::||:|||;;::;;::;:::::::::::::|:::::;;::;;:;;;::::;:;;;;;::,,,;:::::;,:;:;::;;;::::;::::::|:::::::::::::::,..,||::;,:||:::::::::::::::::::::::::;::::::|:,'.:::::::::::::::::::::::::::::|::::::|::|:;::|::||:::::::::::::::::::::;.,::::::||;;||||:::::::::::::;;
:|,:|||||::::::;;;:;|.:;:;;,,;;;;,,,;,.,;,;;;:,;;::;;;;;;:;;::;;;;::;:;;:,;:;;;;;;;;;;;;:;;;::;;::;;;;;;;;;;;;::;;:|;;;;;;;;;;;;;;::::::::::;::,.':|::::::::::::::;;:;:::::;::;;;:;;;;;;;;::;:::::;::;,,.,|::::,::;;::::::::::::;;:::::::::::;::;;;:||:::;::;,;||:::::::::|::::::;::::::::::::::::|::::::::::::::::::::::::::::::::|:::::::|:||:::;;:::|::;:::::::::;;:::;:::::||:::::::|||:;.;|:::::;:::::::::
,;||;:;;;;;:|||:::::|::;;|';;:;;,,,,,;,,,,.,.;;;;;:;;;:::::::::::;:;;;;::;;;;;,;:;;;;;;;;;;;;:,..;::;;;;;:::;::;;;;;;;;::,,;;;;:;::;;;;;;::;:::;;;:||;;||::;;;;:;:::::::;;;:::::;;;:;;:;;;;;;::::;;;;::;:::::|:.':|:;:;;;::::::;;;::::;;;::::::::::;;::::::::;;:::,;|||::::::::::::::::::::::::::::::::::::;;:::::::::::::::::::::::::::|:::::::::::::::|||;;|::::::::::::::;:;;::::::::::::::|:|::,;|::|:::::::::
|;|;::|:|::::::::::::::::;;:';;:;;;,;;;;;;;;;;::;;;;:;,;;;;;;::::;;::::;;::;;;;:,;::;;;;;;;;;;;::||::::::::::::::||||::::::,,;;;;;;;:;;;;;;::::::;:;;:;;;;;;;;;;;;;;;;:;;;;;;;:::::;:::;;;;;;;::;;;::;;::;::;::::||,',.|::::::::;::::||::::;;;:::::::;;::::::;;:::::,;|||:::::::;::::::;;:::::::::::::::::::::::;::::::::::::::::::::::::::::::::::::::::|:;::||||:,|::::::::::::::::;;:::;:::::::::;|||:::||,.:|||:::::;;;
:,:::||||::::::|:;:;;:::.;:,,,,,,,,,,;;,,;;;;;,;,,;;;;;;;;;:::;;;::;::;;;;:,;:;;;;;;;;;;;;:;;;;;;;:;;;;;;:::;:::;;::;:,,;;;;;;;;;;;;;;:::::;:;;;::::;:::::;:::::::;;;;::;;:::::;::;;;;;;:::;;;;;;::::::;;;:;:::|:;;;::::::::::::::;:::::;;;;;:::::::::::;;;;:::;,:|::::::::;::::|::|::;:||::::::::::;;;;::::::,;|::;:::::;;;::::::;:::::::::::::::::::||;;;:|,,::::;:||||:||||||||||||:::|||||::||||||||||:,:|||||||
|:;:::::|:||;;:::::::;||:::::;:.;;;;;,,;;;,,,,,,,,,,,,,:,,;;;;;;;;;;::;;;;;;::;;;;:,;:;;;;;;;;;;;;:;;;;;;:;;::;:;;::;:::::;:::,;;;;;;;;;;;;;;;;;;;::;;;:::::;;::::;:::::;:;:;;::;;::::::;;;;;;;:::::;;;;::::;;::::;::::::::;;;;:::::::::||::::||||::|::|||||::::|:::|;||:|||||:||||||||||:||||:|:::||:::|||||::,:|||::::::::::||::::::::::::::::::||:::|::,|;,,,||||;;:::::;::;;;::;:::;;;;;::::;:|::::::|:::::,,:||::::
;:::;|||::::|:|||:;:|;;.;:;;;;,,;;;,,,;,,,|,.,;:;;;;;;;;;;;;;;::;;:::,;:;;;;;;;;;;;;:;;;;;::;;;;::::::;:::;::;:|,;;;;;;;;;;;;;;;;;;;;:;;;::;:;;;:::;;;::::;;:::;:;;;::;:;;;;;;;;;;::::::;;;;:::::;;::::;::::::::;;::::::::::;;;;:::;;;;;,;:|:;;;;;;:;:;;:;,;:|:::::::::::::::::|:::|:::|::::::::::::::::,:|:..|:::::::::::::::::::::::::::::::::|::::||:;;;;:||:;:|::|:::::::::::::::::::::::::::||:::::::|::::|;.,||::
;,,;,,;|::||:|;||;;:::;::||;:::::;:;:.;;:;;;;;;;;;,,,,;...;;;;;;;;;;;;;;:;;;;;:,;:;;;;;;;;;;;;;;;;;:::;;:;;;;;;;;;;;::;;::,,;;;;;;;;;;;;;;;;;;;:::::;,;;;;;;;;;;::::::::::::::::;:;:::;:;;;;;;;;;;;:;;::::::;;;:::::::;;;;::;;;:::::::;;::::::::;;::,;;;::::;;;;:::;,;||:::::::::::||:::||::::|:::::|:::::::::::::,:::||,.:|::::::::::::::|:::::::::::::::::::|:::||:::::||..;|:::::|:::::::::::;::::::::||::::::|||:::|||:'.|
::;;:||::||::||||||||:||::;:||:.;;:;,,;;;;;;;,;;;;;,,;;:;:;;;;;;;;;;;;;;:,;:;;,;;,;;;;;;;;;;:;;::::;::;::;;:;;;;,;;;,,,;,,,,;;;;;::;:;:;;;;;,;:;;;;;;:::;;;;;;;;;;::;;;;;:;;;;;;;;,,;,,,,,,;;;;;,,;:;,::::::::::::::;;:::;;;:::|;;:::::::::;;;:|;;;;::::::::::,;||:::::::;::::|:::::||:::::::::::;::::::::,::::::|;,;|:::;::::::::::::::::::::::::::::;:::::||:::::||:;,:|::|::::||::::::::::::::::|:::::::::||::|:::||''
::||||:;;;:::|:::::::||::::::;::|.;;;,;,,;,,;,,,;.'''' ' ',,;;;;;;;;;;;:;;;::;,;:::;;;::::::;||;:::::::;;;;::;:;::||:;;:|;;::;:::;;;:::::;;;::::;:::;;;:;;:;;:;:::::::;::;;;;::;;;;;;:;;;;;;;;;,;;;;,,,,;;;,;;;;;;;;;;;;;;:;;;;;;;;::::::::;;::::::::::;;;;::::::::,;||:::::::;:::::::|::::::::::::;;;:::::::::|:,;::::::::|;.;|::::::::|::::::::::::::::::::|:::::::::::|:;;:|;,;||::;:::::::::::::|::::::|:::||:::::::::|::
||||;;::;:;::||:::::::::|::|:::||,.;::;;,,;,,,,..;:''''''' ';.,;,,,,,,,,,;,,;,;;,,;;;;;;;;;;;;;:;,,,;;;:;;;;;;:::;:::::;;:|;;:::::::::::::::::::::::::;:;::;::;:::::;;;;;::;;:::::;::;;::;;;;;;;;;;;;;;;;;::;::;;;;;;;;::;;;;:::;;;:;::;:::::;;:;;;;;;:|:::;;;;;;::::,:|||::::::::::|::||::::::::::::::;::;::::;;::.;:::::;::;::;.,::::::::::::::::::::::::::::::::::::::||||::|:||:;.;|::::::|:::;::::::::||::||:::::::::|||||||
:::|:|::;::||||::::::;:::||::;.;;;;;;;;;;;;,,;;.'''''''' ;.;;;;:;;;;;::;;;,:;;:;;;;;;;;;;;;:;;:;;;;;;;;;;::;;:;;:;;;;:|;,;;::;:;;;;;;;;;;:::;:;;;:;:;::::::;::::::;:::::;:;:::::::;:::;;;;;;;;;;;;:;;;::;::::::::::::::;;::;;::;:::;;:::::::;;::;;::;;;;:;;;;::::,;||:::::::;:::::|::::|:::::::;:::::::;;:::;:|.;::::::::::::::;;:|::;:::::::::::::::::::::;::::|:::::;:|:::::::::;..||:::|;;::::::::::||:|::|||::::::|::::::||
;:|;,:;||::||||::::::;;:;.;;;,,,;;;;;;,,,;:.''''''''';..:;:;::;;:;,;;;;,,;,;;;;;;;::;;;;;;;;;;;;;;:::;::;:,;:;;;;|;;;;:;::::;::::::;:::::;:;|;:;;;;:;::::::;:;;;::;;::::;;;;:;::;:;;;;;;::;;;;;;;::;::;;;;;:::;;::;;:;::;;;;:|:;;;;::::::::;::;;;;;:;:::;;::,;||::::::;,::||::::::::::;;::::;;:::::::;:::|.;:::::;:::::::::|;,;:||:::::::::::::::::::::::::::::::::|::::::::::|..||::::::::|:::::|:||::||:;::::::::::::||
;;|;;;;;;;:|||:|:::::||::::::::;;;;;:;;;,;;;,,,;,,;:''''''''''.;;;;;;;;;;;;;;;,;:;;;:;;:;;;;:::;;;;;;;;;;;;::::;;;;;;:::|;;;;;;;;;;;;:::::;;;;;;;:;:;:;::;;::;;:::;;;:;:;:::;::;;:::::;;;:::;;;;;;;;;:::::;;;::;;;;;;:;:::::;;;:::::|;;:::;;:::;:::||;;;;;;;;;;::;;,:||||||:;|::||:::|:::::::::::::::;:::::;:|'::::::::::::::::::::;,:|::::::|::::::::::::::::::::::::||::::::|::::|||,.;||:::::::::::::||::||:::::::|||::::||
:|:||;;;||:||:::|:::::|;;;;;:;;;;;;;;;,;;;;:.''''''''' '.,;;;;;;;;;;;;:,;:;;;;;;::::;;|:;;;;;;;;;;:;::;;;;;;;;;,;:;,;;;;;:;;;;:::::::::::;:::;::;;;;;:;;;;:::::::;;;;;:|;;:::;::::::::::;;;;::::;;:;;;;;;::;;;;;;;;;;;:;::;:::;:;;:::;;:::::::::;;;:::::::::,;;;.,,....,:;;::|||:::|:::::::;;::::;::::::;:',|:::::::::::::::::::::.;||::::::::::::::::::::::::|::|::;:::::||||:::::|;.,;|::::::|:::||::::::::::||||::::||
:::::||:;:;;;||:::::::;;;;;,;;:::::::||;;;;:;;;;;,;;;;;;;,,|,''''''''' .,;;;;;;:;;;;;:;;:;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;:;,;:;;::;:::;;;;:::;;::::::;:;:;::::;;;;;;;;;;:;;;;;;:;;:::::;::::::::;;::::;;;;:;::;;:::;;;::;;;;;;;;::::::;;::;:::::;;;:||;;:;;:;:::::::,|:.,;,,;;,,||:::::::::::::::::;::::::::::::::|;';|::::::::::::::::::||:.,||:;;;;;;;:::::::::::;::;:::::;;;;;;;;;;;;;;:::::;,;::;:;;;;::::;:::::::::;::::;::::
::|:|:|||:::;;::;:;,;;||:|:;;;:;;;;;;;;;,,;;;;||''''''''''''..:;;;::;;;;:,;:;;;:;;;;::;;::;;;;::;;;;;:;;;;;;;;;;;;;:;,;;;;:::;::::;;::::::::;::;:;;;;;;;;;;;;;;;;;;;;;;;::;;::::::::::::::;;;;;;::;;:;;;;:;;;;;;;;;;;;;;:::::::|;;;;;;;;;;:;;;::;;;;::::::::|:;::,,,,,,;.,:;;;:::::::::::::::::::|::::::::::||:|.'||::::::::::::::::::||;.:|::::::::::::::::||::::::||:::::::::::::::::::||:..||::::::||::::;:::::;::::::|||
:::|:::|:::;;:|;||,;:;;;;,;;;::;;;;;;;.''''''''''' |,;;;:::::::;,:;;;;;;;;::::::;;;;;;;;;;;;:;;;;:;;;;;;;:;,;::;;;;:::::;;::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;:::::::;;;;:;;;;;:;;;;;::;;;;;;;:::;::::;:::::::;;:::::::::::;::,::,,,,,;,.;;:;::::::;:::::;;;;;;;::|:::::::::::::||,,:||:::::::::::::::||:|;.;|::::::::::::::::::::::||:::::::::::::::|::::::|:..:|||::||::::|:::||:::::|||::
:|::|:::;,:,.,;;:;;;;;;,,;;;,,;;;;|.''''''''''' :';;;:;:;;:;,;;;;;;;;;;;:;::;;;;;;;;;;::;;;;;;;;;;;,;:;,;;;;::;;;;;;;;;;::::::;;::;;;;;:;;;;;;;;;;;;;;;;;;::;;::;;;:;;;;;;;;;;;;;;;;;::;;;::::::::;;;;::::;;::::::;;::;:::;;::;:|:::;:::::::::::,:||:::::|:;||;;::::::::;::;::::::|::::::::::::::;:::|:,;:|::|:::::::::::::::|:;;::::::::::::::::::::::::::;;;::::::::::::::::::|:.';:||||:::::|::::::::::|:::
|;:|:|::|:::,,|,,,;;;;;;;;;;;;;;;,,,;;:'''..,;,'''.:|.,;:;;:;:;,:;;;;;;;;;;::::;:;;;;;;::::;::;;;::;;;;:|;;;;;;;;;;;;;;;;;;:;::::::::::;;;;;;;;;;;;;;;;;;;;;;::;;;;:;;;;;;;;;;;;;;;;;;;;:::;::::::::::::;;;:::::::::::;;;;;;:::::;;::;:;;;;::::::::,;||:::::::;:||::;::::;;;;;;;;;;::::||::|:::::::::::::::|;,:|:::::::::||::::::|:|:,:|::::::::::::::::::|:::;::::::::::;;;;::||:::::|;.,;::::::||::::::::::::
|:;;::|:;:|::;:.;,.;;::;;;;;;;;;,;,;,,;:. '''''''''''',';:;;;;:;,:;;:;;;;;;;;;:;.,:::;:;;:;:::::::::;;;;;:;;;:::::;;:::::::::;;;::::|:..,;;;;;;;;:;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;::;;;;:;;::;::::::::;:::;;::::::;:::::::::::;::;;;;;:::;::;...::::::,;||:::::;;;::|:;:;;::;;:::::::;::::|,..:|:::::::;::::::::||',||::::::::::::::::;..,,;::::::::::||::::|:::;;;::;:::;;;;;;;;::,.'|:::|:,.;:::::::::::;::::::::
|:;;:::;:;;::.:;;,;;:;;;;;;;;;;;;;;;:;;;|;''''''''''''''.;;;;;:;,:;;::;;::;,;;:.,;:;;:;::;:::::::::;:;;;:;,;;:;;;;;;;;;::::::;;:::;|:,,;;;;;;;;;;;;;;:;;:;;;;;:;;;;;;;;;;;::;;;;;;;;;;;,::;,;,:;;::;.;:;:;;:::;;:::::;;::;;::::::;:::::;;::::::::::,:||:::;::;;:;||;;;;:;::;;;;:;::;;::::|||:;:::::::::::::::::||..|:::::::::|:::::||||:,.:|:||||||::||:|:||||||||||||||||||||||||,,||||||||||||
|;||:;;;;;;,;:;;;;,,;;;,,,,,,.....;|'''''''''''''''|,,;;::.::;;;;;;;:;;;|:,;;;;;;;;;;;;;;;;;::;;;;;:;;;;;;;;,;;;;;;;;;;;::;::;|;;;;;;;;;;;;;;;;;;;;:;;::::;::::;:::::::;;;::::::;;::|||||:::;;::::::::::|::|||||||||||||||||::|||:||::|:::;:||;:||||||::::::||||::::||||::::|:::::::;:;:::::::::::::::::::::||.';|:::::::::::::::::::|;,::::::::::::::;;;;;;;;;;;;;;;;;:::;;::;::::::::::..:|::::::::::::::
::|:|::::;;;;';|:;:;;;;;:.: '''''''''''' ,',:;;,;;;;;;;;;;,,,:;,,,,;;;;;;;;;;;;::::::;;;;,,,;,,;;;;;;;;;;;:;;;;::;;|:,,,,,,;,,,,;,,,,,,.,;,,,;;;;;;;;;;;::;::;;;:;;::;::::;;;;;;;;;:;;;;;;;;;::;;;::::;::;;;;::::||::;;;;;;;;::;;;;,;||::::::;;::;:::::::::::::::::::::::::::::::::::::::::::::|::::|;.,||::::::::|:::::::::::;.;::|::::|:;:::::;;:::::;;:;;;:::::::;:|::::|::|,',|||::::|||::
' '.'.|;;;;;,',::;;;:;;;;;; ''''''''';,,;;..:,,,,,,,,,,,;,.,,,,,,,,,;;;;;;;;::;;;;;:;;;;::;;;;;:::::::::::::::|:;;:;;;::;;;;;;;;;,,;;;;;;:::;;:;;,,;;;;;;;;;;;;;;;;;::;;:::;::;;;;:;;;:::::::::::::::;;;;;;;;::::::::::;;:::::,;::::::;::;::::::::::;;:;::;:::::::|::::::::::::::::::::::::::::::::;,;|::::::::::::::::::||;,;||::::::::::::;:::::;:;;;;;;::::::::::|:||:;::|;.,;|:::::::|
,,, '''',,,::..,;;;;,,, '''''' '::,..;;;:::;:::::;,,;;;;;;;;;:;:;:::::;:::;|:;;;::;;;:;;:;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;|:;;;;;;;;:;;;;;;;;:::::::::::::::;;::;;::::::;;::::;::;::,;|:;;::::::::::::::::::;:;:::::::::|::::::::::::::::::::::::::::::::::.,::::::::::::::::::|:.,||::|:::::::::::::::::::::::::::::::::||::::::|||;',|::::::
''''' ,::.';..., '''''''' ''.:;;;;;;;;;;;;;;;;;;;;;;;;;;::;;:;;|:;;;;;;;;;;;;:;;;;;;;;;;;;:;;;;;;;;;;;;;;::::::;;::::|;;:;;;;;::;;;::::::::::::;:::::;;::;:::::::::::;;;;:;:;::,;||:::::::;::::::::::::::::;:::::::|:::::::::::::::::::::::::::;:::::::||.'||:::::::;::::::::::||..|||:::::::::::::;;::::::;;;:::::|:|:|:::::::::|:',||:|::
:'''''' |' ' '''' '''''|;' ' ' ..'.::,;;;;;:;;;;;;;;;:::::::::::::::::|:;;::;;;::;;;;;;;;::;:;;;;::;::::::::::::::::;;;;:::::;;;;;;;;;::::;;;;;::::;:;:::::;;;;::;::::::::::::::::::||,;||:||:;;::::::::::|:|::::::::::::::::::::::::::::::::::::::::::::;;::::||;.:|||::::::::::::::::|;.;::;::::;:::::;;:;;;;;:;;:::::::::||::::||||::::|''||:
;|; ''''' ':|' '''''''''''''.|,;;;;;:;;;;;;;;:::;;:;::::::::;;::;;::::::;;;;:;;:;;;;::;;;::::::::;::::;::::::;;;::;::;::;;:;;;;::::::::::::::::::;;::::::::::|:::::::::::::::|,;||::::::::::::::::|::|:::::::::::::;::::::::::::::::::::::::::::::::::::::||:,.:|::::::::::::::::::||;:::::::::::;;:::;;:::::::::::::||;;;:::::::;;:||.':|
,;;:|,:;''''''''. ' ''''''''''''''''''|:::||::;;;;,,,,,,,,,,',.....'''''.,'';,'.,;;;;;::;;;;;:::::::::;:;;;:::::;||::::::::;;::::::;::;:::;::::::::::::::;;;;;::;;::::::;;;;;;;::::::::::::::::::::::;;;;::::::::;;;;;;:;;::::|:|.;||:::::::;||::||||:::::::::::::::|:::::::::::::::::::::::::::::;::;:|:::::::::|,.;|::::::::::::::::::|::,;:::::::::;:;:::::::::::;::;:||:|:|::::;;:::|::,'
:;;;;;:;:;:::'''''''' ;,'''|'';||::;;;;,,:;,.'.'''''''''''''''''''''''''''''''''''''''''':'|,;;;;;;;::;;;:::::::|::::::::::||::::;;;;::::;;:::::;;;::;;;;;|;::::::::::::::;;;;;:::::::;;;;;::;;:::::::::::;;;;:::::;;;:::::::::::;:::::;:::;::|,,|::::|::::::::::||::::::::::::::||:::::::::::;:::::::::::::::::::::|:::::::::::|'.||:;:::::::::::::|;:::,,::::;;;::;::::::::::::::::||::;;;;:;::::::|:||
;;:::::::|:::::| '''''''' |;|,''''.'''''''''''''''''''''''''''''''''''''''''''''''.''''''''''''''' '.;.,,;;;;;;;::;;:::::::::::::;:::::::::|:;;;:;;:::;:;::::;;::::;;;:;:::::::::;;;;;;;;;;;;;::::;;;;;;:;;;:::::::::;;;:;::|;;;;;;;;::::;::;;::::::::::|||,,|::::||:;:|::|:||::::::::::::::::|:::::::::::::::::::::::::::::::::::::::::::::::||..|||:::::::::::::::::||,,::::::::;;::::::::::::::||::::::::::::::|:|:||
,;||::::;;::;;|''''''''''',;:,.'' ,.''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ',;:;''.,;;;;;;;::;:|;::;;:;;::::;::::;;::::::::;;::;;;::;::;:;;;;:::::::|;;::::::::;:;;;;;;;;;;;;;;:;;;;::::;:::;;;;:;;;;:::::|;:::::::;:::::::;::::::::::::|,,|::::::::||::||::|:|:|::::::::::;::::::::::::::::::::::::::::::::::|:::::::::::::::::;,;||:::::::::||::::::::;;;:::::::::::::::::::::||:::;:::;::::::::||:|
,,::::|:;:|||;'''''''''''' :.'' ' ' ' '''''''''''''''''''''''''''' ''''''''''''' '' '''.......;;:|;,..;,;,;:;::;;;::;;;::;::;;:::::;;:::::::::::|:|:;:::;;::;:::::;;;;;;:;;;;:;;;;;;;;;;;;;;;;;;;;,;;;;;:;;;;;;;;;::;;;;;:;:::;:::::;;:::::::::::::::::::::::::::::,|;;::::::||||:|::|:::::::::::::::|:::::::::::::::::::::::::::::::::|::::::::::::::::|||:,.:|:|::::::|::::::;;:::,.::::::::::::::::::||||::::::|:|:::|||::||
|.;:|:;:''''''''''';;||||:''''''''''''''''''''''''| '''''''''''|||||,,:|;:||::|;;;;;;;;;;;;;;::;;;;;;:;;::;;:;;::::::;;:::::::::;::::;:::;;:::;::;;;:;;;;:;:;;:,,;;,;;;;;;;;;;;;;;;;;;;,;:;;;;;;;;;;;;;;;;;;;:;;;;;:|;::::::::::::::::::::;:::::::::,|::::::;;::|:::::::::::::::||:::::::::::::::::::::::::::::::::::::::::|::::::::::::::::::|:.;||::::::::::::::::::|:.,||::::::::::::::||:::::::;:::::|::::::
,,::::;|:; '''''''''|.;;;,;;;:|: '.;:||||;;::,''''''''''''',;:;;;::::.;;;;,,;:;,;;;;;;;;;;;;,::;;;;;,,,;;:,;,,,,;;;;;;;;;::;::;;;:::;;;;;;;;;;;;;;;,,,,,,...,;:,,,,,;;;;;;;;;,,,,,,,,,,,;;,,,;;;,;;;;:::::::::::::;::;;;:::::::::::::::::::|:::::::|;|:;:::::;::;:::;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::||:|::||::::::||::|.,||::||:::::::::::::|||..|||:::::::::::||::::::;;::::::::::::
;;||;;;:::;,|,'''''''';:,,;:;:..|,;;;;;:|:'''''''''''''''|''''''''''' ;;:::|:;:::|:,:|::;;||;::::::::;;;:||::::::::::|:;::|:::::::::::::::::::::||::::;;:;;;;;;;,;;;;;;;;,;:;;;;,;;:::::;;;;;;;;,,,,;;;;,;;;;,,,;;;:;;;;;;::::;;;:::;:::::::::::::::::::::::::::|;::|::::;;::::::::::::::;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|,.:||::::::;:;;:::::::|,'|||::::|::|:||::::::::::::;:|:::::
|;||;;;:::|;''''''' :,:;;;;;:;,,,;:;;,;;,.::: ''''''.,,,.'''''''''''''' '..;;;,;,,,;;;:.,::;;::,;:::;;;;;;;;;;;;;::;:;:;;:;;;;:;::;;;;:::::::::::::::;:;;::;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;::;;;;;;;:;;;;;;;;;;;;;::::::::::::::::::;::::::::::::::::::::::::::|:;|:;:::;::::::::;;::::::::::::::::|::::::::::::::::::::::::::::::::::::::::::::::|::::::::::::::|,.:|:::::::::::::::::::|:.,||:::::::||;;;;;;::;;;::;::::|:
;;;|,|;|''''''''::::::;;;;;,;::;;;;;;;.,,,,:::|:::|||;:.'''''''''''''';;;;:;;;;;;;;;;:;,;::;;:;;::;;;;::;:::;;;;::::;:::::;;:;;;::;;:;:::::;:::::;||;;;;;;:::;:;;;;;;;:;;;;;;;;;;;;;;,;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;:;::::::::::::::::::::::::::::::::::;;::::::;||:;;:::;::::::;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|::::::::::||::::::|||:,:|||||||||||||||||||;,|||||||||||||||
::,'''''''||::;;;;;;;;;;,|,;|;;:;;;;;;,,,,;;;;;;,;:;.'''''''''''''''.:;::;;:;;;;;;::::.;::::;;::;::;::;;::::;;:::::::;::::::::::::::;:::::::::::||;:::;;::::;;;;;;;;;;:;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;:;;;;:::||||||||||||||||||:||||||:|||||||||||::||||||||||||::::|:|||:::::::::::::::::::::::::::::|:::||::::::|||::::::::::::::::::||;.,:||||:::|::::::::|:',||::||;;;;;;;;::::;;;:;;;:
|:;.''''' :;::::::;:::;,|,:|:;;;;;,,,,,;;..;:;;,;|;''''''''''''''',;:;;;;;;;;;;;;;;;:;.;::|,.,;;;:::;;;;;|:;;;;::::;::;:;;;:::;;::;;::::::;;:::|:,,;::::;;;;;;;;;;;;;;;;;:,,;;;;;;;;;;;;;;;;;;;;;;;;:;,,,;;;;;;;::;;;;;::;::::;:::::::::::::::::;:::;...:::::::::;:|:::||::|::|:::||::::::::::::::|;..;::::::::::::::::::::::::::::::::::::::|:;'.:|:::::::::::::|:::|::||..,;,,;;,,,,,,,...'',,,,'.||||::::::::::::::;;::::
,''''';|:::::;;;:;;::;,.,|:;;:;;;;:;;;;..;:;;;;|:''''''''''''''.,;:;;;;;;;;;;:::;;::|.,||,,;::::::;;;;;;::::::::;:::::;:;:;::;;;;;::::;;|,.,;:::::;;;;;;;::::;;:;;;;,;,;;;;;;;;;;;;;;;;;;;;;;;;,,;;;;;;;;;;;;;;;;;;;;;:::::::::::;;;;::::::;:::;::;:;::::||,::::::::|::||::::::|:::::::::::||;,:|::::::::::::::::::::::::::::|:::::|:::||::|:::::::::::::||::|:::|||:;||||||:::;||;:::::::::;;|:::::::
,,.,;|;;;;::::::;;;:;;,:|:;;::;,,,,,,,;;;:;;;:,..''''''''''',,:;:;:::;;;;;;::;;;:;::,;::::;:::::;;:|:;;::;;;;:;;;;:;;:;;;;::;;:;;;:::::||::::;:;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;,;;;;;;;;;;;:;::::::;::;:;::::::::::::::::::::::::::::::::::,,|::::::|::::::::::::::::;:::::::::::::::;:::::::::::::::::::::::|:::::::::::||||::::::::|::::::::|:::::|:|:;:::::;:::::::|:::::::|::;::::::::::::::|::::
|::;;;::::;;;::;::;,,,:;;;;::;,;,,,;;;;;;;;:' ',,,,,,,...'.,;;;:;;;;;;;;;;::;;;;;::|,,::;:::::::;;;;;;;;::;;;;;:::;;::;;;;;;;;;;:::::::::;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;:::::::::::::|||::::::::::::::::::||,:|:::;:|:::::;:::::::::::|::::|:::::;:::::::::::::::::::::::::::|::::::::::::::::::::::::|:::::::|:::::::::|:;,:::::::::::::::::::||::::::::::::::::::::
||,:|:;;:|:;;:;:::,;;,,;:;;;;;;;;;:;;;;;;;;;:|'''''''''''''::,;;;;:;;::;;;;::;;;;::::;:||.,:;:;::::;;;:;;::;;:;;;;;::,;;;::::;;::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;;;;;;;;;;;;;;;;::;;;;;;,,;;;;;:::;;;;;;;;;:::::::::::::|:::::|::::::::::::::|||,;|||::|::::::::::::::::::::::|::::::::::::::::::::::::::::::::::::::::::::||:::::::::::::::::::||::::::::::::|:,;:;::::::::::::::|:::;;:::::::::::::::
|::|::::::;;;::;;:;;|;.,;::;;;;;;,,;;,,;,;;;;:;'''''''''''',;:;;;;|;;::;:;:;;;;;;;;::;;:|;,,:::::;:;;::;;::::::::;::;;,;:;;;;::;::::::;;;;;;:::;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;,,;;;;;;;;;;;;;;;::::::::;:::::::::::::::::::::::::::::::::::::|:::,:|:;::::::::::::::::::::::|||:::::::::::::::::::::::::::::::::|:|:::::::::::::::::::::::::::::||:::::::|::::|:::;;:::::::::::::::|:;::|:;:::::::::::::
|;::|||||::;:;:::::::;;.;::;;;;;;;;,;;;;;,::::|,'''''''''' |:,::::::|;;;;;;;:;;;;;;;;;;::::;:;,:|::::;;::;;::::::::::::;;;:;;;;;;:;;;;::;;;;;;:::;:;:;;;::;;;;;;;;;;;;;;;;;;;;;;:;,,;;;;;;:;;;,,;,;;;;;;;;;;;;;;::::::::::;:||:::::::::::::::|:::::::::::::|:|::::,;:;::::::;;::::::::::::::::|:;;::::::::::::::::::::::::::::::|::::::::::::::::::::::::|:::::::|::::;:::::::::;;::;;::::::::::::|::::::::;:;:::::::::
;;::||;;:;:;;;;,;;|:;,;;;::::::::,;:;;;;;;;;;;;;;;;;;;::''''''''''';;:;::;;::;;;:;;;;;;;;;;;;;;,;||:;::.,|:;;:::::::::::::::::;,,;;::;;;;;;;;:;:::::;::|:;::::;;;;::;;;;;:;;;;;;;;;;;;;;:''|,.;;;;;;;;:;;|.,;;;;;;;;::::;:::::::::;::::::::::::::::;::::||:||||::::::|:::|:,:::::;::::::::::::||||||||||::::::::::::::::::::::::::::::::|:::::::::::::::|:::::::::::::||||::::::::::::::::::|::;::|:::::::|:::::::::::;;:::::::
;;:::|;::::::;;;,;:;;;::;;;;;;;:;;;;:|.''''''''' .,;::::;::|;;;:::::;;;;;;;;::::::;;;::;.,|:;::::::::::;;;;::;,;;;;;;;;;;;;;;;;;;;;;;;|:;::;;:;;;;;;;:;;;;;;;;;;;;;;;;;:|,:;;,,;;;;;;..,,;;;;;;;;;;;;;;;;;;;;;;;:::::||:::::|:||:|||::::::::::::::|::::||,.:::::::::::::::::::|::::|:::::::::::::;::::::::::::::::::::::::::|::::||::::::::::::|::::::|:::::::::::::::::::::::;;:::::;;||:::::::::::::;;;;:::
|:::|:::;;:;;,,,,,||;;;:::::;,:,;::;;;;;;;;;;;;;,;;::''''''''' ,,,,::;;;;::,,;;;;::;;;;;;;;;;;;::;;;;;;;;,,::;;::;;:;;;:;;;::;:::::;;;;;;;;:::;;:;;;:|:;;,,;,;:::;;;;;:|:::;;;;;::;:;::;;;::::::;:::;::.::::;:::::::||::::::::;:|||:||||||::||||:|::::::::::::::::;;;;;:|;,:|:::;;::::|:::::::::::|:::::::::::::::::::::::::::::::::|:::::::::::::||::::::::||::::|::|:;::::::::::::::;;::::::::;;::::|::::::::::::::::;;::
:;||;;:::;:;;;:::::::::::|,::::;::::::::::::::|;''''''''.',;;;:;;;;;:|,,;;;;;;;;;;;;;;;;;;::,,;;;;;::,.;:::;;;;;:;;;;;:;;;;;;;;;;;::;;;;::;;;;;;::;;;;,;;;;;,,,,,,,,,,;;;;;;;,,,,,,;;;,,;;;;;;,,.;;;;;;;;;;;;;;:;;;:;;;;:|:::::|:||:::|:|::::::::::::::::::::::::::;,:|:::;::::::::;:::::::||;:::::::::::::::::::::::::::::;:|::::::::::::|::::::::::::|:::::||:::::::::::::::::::::||:|::;;:::||::::::::::::::::::;:
:;;|,;::::|::,;;.;::;;;:;;;;;;;;;;,;;:'''''''''.:.;:::::::::::;;;;;;;;;;;;;;;;::;;::;;;;;;:::|:;,;::;;;:::;;;;|:::::::::;;::;;::::;;::::::;;;;:::;::;;;;;;;;;;:;::;:;;;;;;;;;;::::;;;;,|.;;;;;;:::;::;:::;;::::;:||:::::::::::::|:::::::::::::::::|:::::::::,.||::::::::::::::::::|::;::::::::::::::::::::::::::::::|::::::::::::::::::::::::::::::::|:::::::::::::::|::::::||||||||;;:::::::::::::::::::::
;;::;:::|||;;::|:;,;:;,;;;;;;;:;;;;;;:, '''''''.;;::::;;;;:::|;;;;;;::;;::;;;;;;;;:|,;;;;;;;::;::;,;::;;;:::;::;;;;;:::;;;;;;;:::::;;;:;::;::;;;;;:;::;;;;:::::;:::::;;;;;:;;;;;::;;:;.|.;;;;;:;;::::;;::::::;;;:|::::||:||:|:||::::::::::::::::::|;::::;:;::||.,||::::::::::::::::|::::::::::::::::::::::::::::::::::::::::::::::::::|:::::::::::::::|:::::::::::::::::::::::::::::::||:,;::::::::::::::::::
::|:::;;;:;;,;;;;;;|,::;;;;:;;;;;;;;,,;|'''''''',:;::::::;;:;;:::;;;;;;;:;:|:::::::::::;;;;;;;:::::::|:.,|::::;;::;;;;;:::;:::::::::::;:::;||;:;;;:::::;;;;;::::::::::::;;;:;;;;:;::;;;;;,.;;::;;;;::;:;;::;:::::;:|::||::|||:::::::::::::::::::::::|;::::::;::|:|:,;|:::::::::::::::|::::::::::::::::::::::::::::::::::::::::::||::::::::::::::::::::::|::||::::::::::::::::::::::::::::|:;;;:::::::::::::::;
:;:;;;;::;;;|:;;,|;.,:::;;;;;;;;;;;;;;::'''' |::::::::::;;;;:|;;::::;::;::::::::::::;;;;::;;:::;::::|:..::::;;|:;;;;:::;;:;;::;:::::::::::;;:::::::::::;;:::::::;;:::;::;::::;;:::;;:;,|.;;::::::::::::::::::::;:||||||||||||||||::::::::||::|:::||::::::::::::::|:,;|::::::;;;;:::||::::::::::::::::::::::::::::::::|:;:::::::::::::::::::::::::::::::::::::;;;:::::::::::::::::::::::||::::.,::;;;;;;::::::
|:::|:;;;:||:;:|:;,;::;;;;;;;:;;;;;;:|::::::::::::::::::|;;;;;;;;::::;;;;;:;:::,;:;;;;:;;;;:;;:::||,.,:|::;;;;;;;;;;;;;:;;;;:::::::::;;::::::::;:::::;;:::::::::;::::::::::||::|:;|.;;;;;:::::::::::::::;;;;||::||||||::::|:::::::::::::|:::||:::|||||:|||::|;,:||::;,,;::|||||||:||||||||||||||||||||||:||||||||||||||||||||||||||||||||||||||||||||||||||||;;||||||||||
,,,;;,,;:|::;|:|,:::;;;;;;;;;;;;;;:;;;::;;;:::::::||::::|::::|;;;;::::;;::;;::::::||;;::::::::::;::;;:::|||;.;|:;;;;;;;;;;;;:::;;;;;:::;:|::;;;::::;::::::;::::::::::;::::::::::||:;::;,;:;;::;:::;;;:;;::::;;;::::;;;;;;::::::::::::::::::::;;;::;;;:;;;;,;;;;;;;;;;;,;;;;,;:;;:::;;:::;;::::;::::::::::;:::;;::::::::::::|:::::|:::::::::::::::::::::::::::::::::::::|::::::::::|::::::::;;::::::::::
:|::|::.,,;:;|;,,;::;;::;;;;;;;;;;::::;;|;:::::::::::::::::::|;;;::;;::;::::;;;;;:::;;::::::::;:;;,;::::::;:|:,.;:::;:;;::::;;;;:;;;:;:::|;:::::::::::::::;::::::::::;;::::;:;;;;;;;::;,::;;::::::::;;::;;::::;:|:::::::::::::::::::::::::;;;::::|:::::::;;;;;;;;;;;:;::.'.,::::::::::::::::::::::;;:::::::::;||:::::::::::::|::::::::::::|::::|:::::::::::::::::::::::::::::::::|:::::::::::;;:::::::
|::;||:|:,,||:,;|:;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::|;;:::::::;::::;;;;:::|:;::::::::,..;:::;;;;;||;;.,::::;;;:::::;;;:::::;::::::::::::::::::::::::::::::::::::::::::::;;||.;:;;;;;;::::;;:::::;::::::::::::::::::::::::::::::::::;;:::::;::|::;;;;;,,;;;;;,::,:::::::::::::::::::::;::;::::::::::::::::::::::::::::::|||::::::::||:::::::::::::::::::::::::::::::::|:::::::::::::;;;::::
;,;:;;;,;:;;;;;||||||,;:;;;;;:;;;::::;;;;:::::;;;;;::::::::;;:::::|;;::::::;;::::;;;::::|;;:::;;:::.:;.::::::;;::::||,.,;:::;::::::;;::||::::::::::;;::::::::::::::::::::::::;:::;;;:::;|||.,,,,,,;;;;;;:;::::;;;;::::::::::::::::::::::;;::;;;;;;;:::;;:::;;;;;:::,::;.,|:::::::::::::::::::::::::::::|:::||::::::::::::::||::::::::::::::::::::::;:::::::::::::::||:::::::::|:;:::::::::::::;;;::
,::||::;:|::||:;|.;|;;;;:;;;;;;;;;;;;;;;:||::::;;:;;;::::::|:::;;:;;;;:;;::;;;;:::::|:;:::::;||:;;:::::::|:;;::;:|;.,;::::::;;:;:::::::;;:;;;;:;;:;;::;;:;;;;;;,,,;,,...;;:||||;;;.....,,,,::,;:;:::::::;:::::::::::;::::;:;;::;;:;..'.|:;;;;;:|,;;,:|',;::;:::;;::::::;:::::::;;;;;;;;;;::;;;;;;;;:;,,::;:;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;::..:|::;;:::::;;;;;;;::::::::;;;;
|::||:;;;;;;:,:::.::;;;;;;,,;;;;:::;;;;;::;;::::::;;:::::::;:|;;;:;;:::;:::::::::::|;:::::;,,,||;;;::::;|:;;;;;;:::|||,,,,||;;;;::||::;;::::;;;;;;.,..,,;;||||||||::;,,,;;::;:;::;::::::::;:::::|:::::;;;::,;;,;,;;;|,:|,''.|||||:::::::::::::::::::::::|:|||:::::|:..||:|||||||||||:::||::::::||:::::::::::::||,.|:|::::|||||||||:::::::::::::
|:;;|,|;;;:,::::;;;;;;;;;;;;..;;;;::;::::::::|::||::::||::::::::::::;;;;;;;:|:::,.,;;;;;|,.,|;::::::::;;;,;,,;;;;::;:::;;..,,,;,:;''',;;||::,' ' ' ,, ''' ' ''.;:|:,.;;,.,,;;;;;;;;:::::::::;;;::;::;::;;:,::||:;,.,,||||:::::::::::;::::::|::::::::::|||:::||:::::|:::::||:||:|::::|||||::||||||::||||||||||||||||||||::||||||::::
;;;;::::|.|:;;;;;;,,,,,;,,;;;:;::;|||||||||||||||||||:;::::;:::::::::::::|:;,|;:||,.,,:||;:::::;::;;;;;:::;,,,...,;::.''' ' ''' ' '''''',;''''''''' ' '''''';::;;;,,,.,,,,,..,:::::|::::;;||::|||||||:;,,,;:::|||:|||||||||||||||||||||||||:|::::::::::|:|||::::::::::;|::::;:;;;;;;;,,;;;,;;,,,,;;;,,,,,,,,;,,,,
:||;,:;,;;;|;;;::|:.,|:,,,;,;,;,,;;,,;;;:;;;;;,,,;;;,;;;;;;;;;;;;:;,;;;;;;;::;;;;::;;;:,;,,;;;:....;::;::::::::;,;|:;;.' ''' ''''''''''''''''''''' ''''''''''|'''''' ' '' ''''''''''''''''' ' '.,|''.''.....', ,......,,,.......,,.,,.,,,...,,,,,,,,,,,;;,,;;;;;,;;;;::::::::::::||:::|:||||||||||||||||||||||
;;;;:||:,|:|;;::;:,,::;;;;;;;;:;;;;;;::;;;:;;;;:::::::;:::::::;:;;;;;;;:::::;;::::::::;;;;;;;:.'..,::;:;;;;;,:' ' ,,;, ''''''''''''''''''''''''''''''''''''''''''''''|''''''' ' ''''''''''''''''''' '''''''''''',,; ' ''..,,|::|||:,||::||||::||::::::|||||||:||:|:::||||||||:::||:::::||||||||||||||::|::||||:::||||||||:||::||||||||:::|:::|::::::::::::::::
;;:|||:;||;,;|.;::;;;;;;;;;;;;;;;;;;;;:;;;:::::;:;:;::::;::|:;:::;;;::;:::;;;;;:::;;;;;;::.''.,:;,;;;;;;, ' '''''''''''''''''''''''''' ' '' ' ''.'''''',,;,:||''''..;' ''::;;;,,....' ' ' '' '' ''''''''''''''''''''''' '' ':|;;::,:,|:::::::::::::::::::::::::::::::::|:::::::::::::::::::::::::::::||:|::|:::::::::::|::::::::::::::::::|:::::::::::|:::::;::
:::|:;:|:::::,;:::;;;;;;;;;;;;;;;;;;;;;::;;;:::::::::::::;::;:::;;;;:::::::;;:::;;::;;::;;::.''',;,;;;;;;|,''''''''..;;;;;:;:||||||::::::::|||::::|||||||::,,,,,,.,...''..'' ''|,|;:,:,|:::::::::::::::::::::::::::::::::|||||||||::::::::|::::|:|:::::||::::::::::::::::::::||||:::::::::::|::::::::::::::::::::
;;;:;;;;,,;;::;;;;:;;:::;;:;;;;;;;;;;;;;;;;;;;;;;|:;;::::;;::::;;::;::::;:::;;;:::::::::::::|;;;;;;;:.''',;;;;;;;;:||||||||::::|:::::::|::::::::::::::::::::::::::;;::::;;;;;;;;;;|:'';;:::::::::::::::::::::::|::::::::::::::||:::::::|||||||||||:|||:,;;,;.;:;;;;::::||:::::::::::::::::::::;||::|||:::||:::::::::::::||:||::||:::::::::|:|:::::::|::::|::|::|::|:::::|::::::::::::::
|:,::;;|;||;;::;,::,:::;;;;;;;;;;;;;;;;:;::|:::::::::::::::::::;;|:::;;:;:::;;:::;;:::|::;;;;:|''''.,,;:;;;;|||;;;:;:::::::::::::::::::::|:::;::::::::;:::::;;;:::::;;::;:;;;:;:;;;;;:|,::;::;::::::::::::::::::::::::::::::;::::::::::::::::::::|::,;;,,,.,..|,||||||:,,,,,,,;;:;;:;;;:::;::::::::|:|:::::::::|:|||:::::||||:|:::||::::::::::::::|||::|:||:||:::::|||||::::::::::::::::::
,:;;;:,;;|:|,,|:|:;;;;;;;;;;;;;;;;:::;::|:::::::::::::::::::;;:;::::|:||||::::::::||;;;::::;'''''.,;;;;;;:::;,,;;::;;:::::::::::::::::|::::::;;;;;;;;;:::::;:;::::::::::;;:;;,;,,;;.;,;:;:;:;;:;;::::::::::::::;::::::::::::::::;;;;;;;;,,.;;:||||:;,,,,,;;;;::||::::::||::::::::::::|||||:||||::::::::::::::::||::||::::::|::::|||||||||||::::::::::
;|,;:;|;:;:;|::;;;;;;;;;;;;;;;;;;;;;|::::::::::::::::::::;::::::::::::::;;;;;,,;.,...,:|;,,....;,,,;;;;;:;:::::::::;;;;:::|::;;::::;;;;;;;;;;;;:::::;::::;;;;;;;;;'|:;.;;,,,;,,;;:;:::::::::;::;;;;,.,,,,;,;|:;;,' ''' '''|'' ''..,;:|;;,,;;,;;;::::::::::::::::::::::;:::::::::::;:::::::::::|:::::||::::::||::::::;:::::
::|||:|:;;;;;;;;;;;;;;;;;;;;::;:::::::::::::::;;:;,;,,,..,:;:||,,,,,.,,,,,,;;;;;;;;:|;;;:::::::;;;;;::::::::::;:;;;;;;:::;;;;.|.,,;.,,,,,,;:|||: ''' '''''''''''' :;'''''''''' ''''' '' '.,||:;;;,,;;;;;|||::||||||||||||||||||||||||||||:||::|||||||||||||||||
|,;;;;;|:|:|:|;:|:|.,::::;;;;;;;;;;;;;;;;;;;::;;;;,,,,,,;::;;::,,,.' |''';:|,,,,,,,,;;;;;;;;::;:::::::::;:::::;;;;;:::::;,,:,.,:|...'' ''''''''''''''''''''''''''''.;'''''''''''''''''''''''''''' ''' '',;;;:;;,;;:::::::::;:::::::::::::::::|||:::||::::|:::::::|
:,:|::;:;;,;:|;,||:::;.,::,,,,;,......,,.;:||||,.'' ' ''''''''''''' ''''''''' ' .,,,||;,,.......,;;;;;;;;:;:;;;;;::;;;,,. .;':::,' '',,,.'''' '''''''''''''''''''''''''''' '''''''''''''''''''''''''''' ' '''''''''''''''''''''''' ''' '' ' ' ',;;:::::;;;;:::::::::::|::::::|::::::::||::::::||::
;:::;|:|::;;:',,|,.'.' '' ''''''''''''''''''''''''''''''' :|''''''''''''''''''''''''''' '.:|,,..,.,,,,....,,:||:..;.' '''''''''' ''''''''''''''''''''''' ' ' ' '' ''' ''''''''''''., '''',''''',;;,,..'''''''' ' ' '''' '''''''''''''''''''''''''''''''' ' '' ,;::::;;;;:::::::::|::::::||::::;:::::::::::::::
:|:;||;,,,,::;::|;;||',|.,,.'' ''' '',;:;'''''''''''''''''''''''''''''''''''''''''''''''.''''''''''''''''''''''''''''''''''''' '''..,,, ''''''''''''''..;:;;::||||||,::.;||;;,,,,,,...'' ' ' ' ' .|:::::.;:::::::::::::;:::|:::::|||::::::::::::
|:||::|::;;;;::::|::||.' ' '''''''''''''''''''' '''''''''''''' ' ' ' '''''' '''''''''..''''' '''','''''''''.''''.''''''''''''''''''''''''''|,:' ' ''.:;|:|::||:::::|::::::::;:::::::::;::;;:;::;,;:::::;::::'',:::::::::::::::::::::::::::::::;||||:::::..,:::::::::||||:||:||:::::::::::::::::::
|;::::;,,,,::::::;;,;|;:::;,;;;,,,,;:::::::|||:|;'.;:'' .||:,.' ' ' ' ' ''''''''''''''''''''' ''|,;,'.,,:,;,,,,;;:::::::::|:::|:::::::::::::;:::::::;::::::::::::::::;::::::::;;;::::::::::|,||;::::::;;;:::::::::::::::::::::;||::::::::::::::::::::|:::::::|::|||:::::::::::::::|:::|:::::::||::||::::|::::::::::::::
::::|,:;::::::|.:|::;;::;;::::;::::|::|:::::::::::::::::::::;;::;::;;:::;:::::;::;;::|;;|:|:;:;;;;::;;;;::::::||:|||::;,,'''' ' ' ' ,::|;;;;;;;;;;;:|:::::::::::::::::::|::::||:;::::::|:::::::::|:;:::::::::::;::::;;;::,;:;;,,;,::;.'|.:|:;:;;,;;::;;::::::::::::::::::::||:|:::::::::::::::;::::::::::::::|:::::|:::|||:|||:||:::||::::::::||:::::::::::::::::::
||::::|;;|.,||;;:;;;;;;;;;;;;:::;;|:::::::;::::::::::::::;::::::;:;:;;::;;;;;:;,;;;;|::,::::;;;;:;;;;;;;;::;;;;;::::::::::;:;;;;::::;;;::::||||||||:;;;;;;;;;::;:::::::::::::||:::::||::::|||:::::|:::::::::::|::|:::::::::::|::;;;;:;,;;:;,,.|:;,::;,.,,,;;;;::::::::::::::::::||::::||::||::|::||::::|||::::|:|::||::::|:||||::||::||:|:||:::::::::::||::::::::::||
:;|;;:::::::;.,::;;;;;;;;;;;;;;;;::;;||;;::::::::::::::::::::;:;;::;:;;::::::;:;|;;;;:;.|:',;;;;;;;,:;,,,,;;;;;;:::;:::::::::::|;;::::::;:;;::::::|::::::::;::::::;:::;;;;::;;:::;:|::::::::::::::::::::::|::||::::::::::::::::||::::::::::::;::;;;;;;:;,,;;,',''|.,;;::::::::;;::::::::::||::::::::|:' ,:::||:::::::::::::||:::::|:::::::::::::::.'.::::::::::;::::::::::::::::::
;:;;::::::|:|::.;|:;;;;;;;;;;;;;;;;;;;;|:::::::::::::::::::::|:;::::::::::::;:::::;;.,;||;.;;;,,.'.|,,;;;;;::;:::::::::::::::|;;;;;:::::;;::::::::::::::|:::::;;::;;,,;;;;:::;::;;:|::::::::::::::||::::::||:||;:::|:::::::::::::::::::::::;;;;:::;;;;;;,,;;;;;,:|.,;;;;;;:;::::::;;:::::::;|::::::::::|||:::::||||||::::::||::::::::::::::||::;:::||||:::::|:::|;:::::::::::::::
|||:::::;;::|;.;:;;::;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::;;::::::;;;,;;||...'|,;;;;;;;;;::;;:;:::::::;:|;;::;;::::;;::::::::::::::::;;;;;;::::|:|:::::::;;;:||::::::::::::::::::::::::::|:::::::::::::::||::::::::::;;::::;;::;;;:,.;,,.....';|:'.,::::;;;;;;::::::::::::::;;||:::||:||:::::::|:|:|||:::||||::|::|::::::::|:::::::;;:;;::||::::::|:::::|:::|::::|::|:
;.|:|::::::|||;;:;;;;::;;;;;::;:;;:;:|::::::::::::::::::::::;:::::::::::::::::;;.':.;;;;;;;;;;;::::::::::::::|:;::;;:|::::::::::::::::;;:|;;;:::;:;;;;::::::;;;,;;:|:::::::::::::::::::::::::|:|||:|::|:|||::::::;::::::::;:::::;;;;;;;.||:;;:|;,;:::::::;;;;:::::::::::::::;||:::::|::::::::||:::::||::::::::::::::::::::::::|||:::::||::::::::||:::::::::::::::::::
||::|||;:;||;::|:.||:;;;;:;;;;:;;::::;:::|:;;:::::::::::::::::::::::::::::;:;:;;;;;;;.;''';;:::;;:;;;:::::::::::::::;:|:::::::|:::::::::::::::::;||::::|::::;::::::::;;;;;;:|::::::::::::::::|:::::::::|::::::::::::::::::::::::::::::::::;;;:;:;.||:;::::::::::::::::::::::;;:::;:|::::::::::||::::||::::::::::::::|:::|:::::::::::::::::::::|::|:::|||::::::::::::::::|:
|:,:|;:|::;|;.|;;;;;;::;;;;::::::::::|;::::::|::::||||:::::::::::::::::;:;:|,,;::::::;;;:;;::;;::::::::::;;::::::::::::::::::;::::::::;::;;;;;;;;;;:;;;;;;;;;:::::|;:::::::::::::::::|:||||::::::::::::::::::::::;::::::::::::::;;;;;:,,,;;;;:||::,;::::::::::::::::::::::::;;;;;;:|::||:|||:::;::::::::::::::::::::|:::::::::::::::::|:::::::::::::::||:::::::::::|::::::
::||,|;,:::;::;;;;;;;;;;;::;::::;;||;;::::::::::||::::::;:;;::::::;:;:;,|.;;;::::::;;;:;;;;;;;;;;;;;;:;::::|:::::::::::::::;;;::::::;::::::::::::;:;;;;;;;;;;::;::::::::::::::|||:|:::::::::|::::::::;::::::::::::;::::::::::;::::;;,;;;;;;;;;,,,:::;::,.,;;:::::::::::::::::;;;;;;:::::;;:;;::::::::::::::::||:::::::::|::|::::::::::::::::::;;;::::;;::::::;;;;::;,;;;;;;;;;;;;;;;;
;:|:;;|||;;;|:|.,::::;;:;;;;;;;;;;;;;:;;:::;:;:::::::::|::::;;,;;;;;;;;;;;;,;..,;|:|:;;;;;:;:;;;:::::::::::;;,;;:;;;;;;;;:;;;;;:;::;;;:;;;:;;;;:;;;::;;;;;;;;;;;;;;,,,,,;:,::;;;;::::;;;,;;;;;;;;;;;::;::,;;;;;;,,,,,,,;;,,,;,;;;;;;;,,;,;;;;;;,,;;;;;:;::;::;;::::;;:;::;,;:;;;,,:;;,,,,;;:;:;::;;:::|::::::::||||||||||||||||||||||||||:||||||:
|;;;,:;:|:;|;::;,;;;,,,..,,,,,,,,,;.;;,;,,;,;;;;;:;;::::;,;;;;,,;:::;;:::::;;;;,,....'';:|||::;;.,,,,,:||::|:::::::|||||||:||||||::||||||||||||::||::||||:|||||||:::::::|;:::;;;;:|:;;;;;,,,,,;,.........,.........:|
:|:;::::,,,,;;;;:::;;;::,.,,;;:|..,,,,,,;;;;;,:;,,,;,,..''''..........''''.,..''.........''.''.....';;'';;;;;;;;.,........,,..'...,.'.,,:;;;,,,,;;,,,,,,,,;;;,;,;,,,,,,,,,,,,,,.,,;,,,;;;,,;;;;;;;;;::;,;|::||;;;:;;;;|;:;;:;:;;::;:::;;::::::::;;;;;:;;;:;:;;;:::;;;;::::::::|::|::::||::::::;;
:|:'',.',;:,...,;,.,..,','';:'''.;:,;|,.,,;;,;,|:|:.::|||:|::|||||;;||::|:|||||:|:|:::|||:::;;;::|::;;;;,,.:,.,,,,,,.,,,,,..;,,,,,,,.,,,,:|||:;|,|||,,,,,,,,,,;,,;;,;;;;;;,;:;::;;;;:;;,,;;;::;;:::::|::::::::||::::::::::::;;:::::::::::::::::;::;::|::::::::::::::::::::::::;;::::::::::::::;;:::::::::::::;||:|::::::::::::::
|,,;;,:;.',;;;...'|:|;':,|...,::|;||:,;;,,;;:|:|||:|::|:;..,,,,,,.....,,,,,,,..;:;',,;;,,,,,,;,,,,,,,,,,,,,,,;;,,:|;:::;:;:|::,,,,,,,,;;;;;;;;::;;;;;,;,;;;::::::::;::;;::::||||||||::||||::||::::::::||||||||:::::|:||||:|::::|||||::||::::|::::::||:::::::::::::::::::::::::::::::::::::::||::|::::|::::::
|||.,,,....,,,,,,...,,..',;|;:|,,;::,:||||||||||;:|:;.,;;,,;;,,,,,,,,,,,,,,;;,;,,,,,,,,,,,,,;;;;;;;;;,,;,;;.,:|::|;|;|::|:;:::::;;::::;;;::;;;|:;;;;;;;:||||::||||::||||:||:||||:::::::||||||:|||||||:|||:|||::||:||::||||||||||:::|||:|||||||||||||::::|::::::::::||:::::::::::::|||:::::::|||||:::
,::;|,;;;,,,;;,;,,,,,,,,,''''''''..,|,;|;,;;;.;||,;||||||:::::::||;:|:|:||;;:::|;:.,,;;;;;;;;;,,;;;;;;;,,,,;;;,,;;;;;;;;;;;;;;,,,,,,,,,,,,,;||;||,,;:;;:;,,,,,;::::::|:::::::::::||||:|||||||||||::|:::||||||||::||||||:::|::|:||||::|::||::::::||||||::::|::::::::|:::||||||||||||||::|||||||:|::::::::|::::::::|||:::|:::::||:|::||||
:::::|||;:: ,;,:;;;,,,,,,,,,,,,,,,,,,...':||,:||;;;::;|:;|;,;;:::::|::|:|||||||;::|::|||::;:|::;',;;;;;;;;;,;;;,;;;;;,,;;;;;;,,;,,;,,;;;;;;,,,,;;;;,;;;,,;:;;;:::;|:;;:::;;:::::;;;:::::::::||||||||||::||||||||||:|||||::||:|||||||||||::::::||||||:::::|::::|::::|:::|:::|::::||::::::|||||||||||:|:::::::::||::::::::::::::::;:;;:::;:;;;;:;;;;;;
;:::;,||:;:;:,;;,,,;;,;,,,,;,,,,,,,,,.,,,'',:,:|;;;,;|:;;:|;,;;;;,;;:|:;;:|:;;;;;;:|:::|:;:||;;:|::::||;,,;;;;;;;:|::;:;:|',;;;:;,;;,,;,,,;,,;,;::;,;,;;;;;;;:;;;;;;;,;;;;;;;;;,.;|,,:::;;;;:;;;,,;:::|::::::::::::::|:|::::|:|||::|||::|||||||::::::::|:|:||:::::::::::|||||||::|||:::|||:|||:::||::::||::|||||||||||||||||||||||||||||::|::::::::::::::::::::::||:::::::|||
::|||:;;||::;:||;:;:;;||,;;;;;;,,,,,,,;;,,,,,,,,,,,,;;,.,..:||.;;::::::;:||||;;;;;;;;,;,,;|::;;;;||,;,,;:||||::;::::;||||||::;;;;:,:;:||||;::;;:;:::;|:;;|::;;:;;;;::;;;;;;;;,;;;;;:|:;:||:,;;;;;;;;;,,,;;:;;;;,,;;:|;;,;:;;::::;;,,;::|::;;::;;::::::::;;||:::::|:|::||:::::|:|||:||:|||:||||::||||||:|||:::::|||::||||||||||||:::::|||||||::::::::::::||:::::||||||||||::||::||:::::::::::::::::::::::::::::::::
::::||;:||||||::::||;;|||:|:..,,;;;;;;;,,,;;,,;;,,,,,,;,,,,,,,..;:|::::::::;;:|;;;;::;;:|||||;;:;:||:;;;;|;:::;:::;;;;;:;::::::;:;;;;,:::;::|::|:::;||:::|::;;:;:::::;::;:::;;;::::::;;;,;;;;;,;::;:||||:::::;:::|||:;:;;;:|;,;;::::,;:::::::;;;;:::::::::::||::::|:||::|:::::::::|:|:::::::::||||::::::::|||:||||::||||::::::::||||||:::::::|::|:::|:||||||||:|||||||::|:::::|:||::::::|:::::::::::::::::::::::::::
:::::::;;:::;:::||::|:::::|:;.;;;;;;;;;;,,;,,;,,,,,,,,,,,,,,;;,,.,;||:||:||:::;;;;;;;;;;;;;;;;,;;,;;;|:;;;:|;;;;;:;::|::;;,;;;|,::::;;;;;;::;:|::::;;;:::;;::;::;;::::::|;,;::;;:::|:;:::::::::;:;::,,:|:::::::||:;;||;;;:;;;;:;,::::::::::;:::||::::||:::::::::::||:::||::::::::::::::::::::::::::|:::::::::::::::::|::::::::|||||||:::::::|::::::::||||||||::::::|:::::::::::::::|||:::::::::::::::::::::::::::::::::||::
::::::::|:;::::::||:::::::::|,.,,;;;;;,;,,,;;;;;;,,,,,,,,;;,,;;;,,;::||||||||::::;;::::;;;::;;;;;:|;;;:;;;;;;;;;;;;;;;;;,::|:::;;;;::::::::::::::::::::::||::::;::::::;::::|||:;;::::::;:::::;;;;;;;;;,:;:||::||:|::::::;;::;;;;|,,::;,,;;;:|;:::::::|||:::::::::::::|:::||::::||::||:::|::::::::::::::::||:::::::|::|:::||||:|::||::::::::::|:||||||::::::::::::::|:::::::::::::||||:|::::::::::::::::::::::::::::::::::::::
|:::::::::|::;||;|::::::::::::,,;;;;,,,;,,,;;;,,,,,,,,,,,,,,,;,,,,;,:|||||||||:;;;;:;;;:::;:|:;;::;;;;;;;;;:;::;;;;;;;;;;;;,;;;;;||:::|||||||:::;::::||:::::::::::::::::;;;::::|:;;::::;;:::;::::::::::::|::::::::||:::;;;;;:;;;;:,,:::;;;;;;;:::::::::::||:||||:::::||::::::::::::|::::::|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||::
::::::::::||;|::::::::::::,';,,,,,,,,,;,,,,,,,,,,,,,,.,,,,,,,,,.':|||:;::;;;;;;::;:;;;:|::;;:;:;;;:;;;::;;;:::::||::;:||::|||||||:::|||::||::::::::::::::::::;::::;;:;:|:;;:::|::::::::::::::::||||::::::|:;;::::::;;::::;::::::||:::|::::::::::::::::::::::::::::::::::::||||||::;:::::::::::;;;;;;::::::::::::::::::|||:::||::::::::::::::::::::||:::::::::::::|:::::::::::||:::||::||:||||||||||:|||||:::||::::||
:::::::::;|:;;::;:;;;;;;;;;::,,,,,,,,;,,,,,,,;;,,,;;,,.....,,,,,,.':|||:::||:;;;,;;;,;;;;||||;;;;;::;;;;:;;:::;;:;;;:::|::|||:::|||||::::::;:;::::::::;;;:::::::::;;::::;:;;::||:;:::;::::::;;::::;:||:::::::::;;:||:::::;;,;|;,,;;;;:::::;:;:::::::;:::::::::::|::::::::|||||::||::::::::::::||||::::::||::::::||||||||:::|||:::::::::::::::::::::::::|::::::::::::::::::|::::::|::::::::||::::::|||||:::||||::||||::::
::::::::;|||;:;|:;::;::|.,,,,,,,,,,,,,..,,,,,..,,,,,....,,,,';:|:|:;::|:,;;;;;:;;;:;;,;;::;;;;;;;;;;;;;;;;;;;:;::||:;;;;::||||||||::::::::::||:||:::|:;:::::::::::::::;;;;;;;;,,::::::::;:;:::;::::::;:::::;;;;;;;;::;;;::,;::::;;;::::::::::::::::::::::;;::::::::||||||||||||||:|:::::::::::|::::::::::::::::::::||:|::||::::||:::::::::||:::::::||::::::::::::::::::::::::|||::|||||||:||::|||:|::::||||::||:|::::
:::||::;::;;;:|:;::;;||.,,;,,,,,,;;;,.,,,,,,,,.......,,..'.:||::||||:::::::;;:;;;;;;;;;;;;;;;;;;;:::;;;:::;;;:;;:|||::|||||||::||::||::;:||||||:;::;:|:::::::::::::;;::;:,;;;:::;:::;;;:::::::::::;;;;;:;;;;:;;;,::;;:;;:||::::::::::::::::;:;;;:::::||:|:::::|||||||:||||:::|::::||:::|:::::::::|::::::|||||:::||||:;:::::|::::::::::::::::||:::::::::::::::::::::::::||:||||::||||::|||||||:|:|||||:|||||||:
|;;;:::;::;:::|;;;::::::;:|'.,,,,,,,,.,,,,.,,,,,,,,.....,,.'.|:|::|||;||||:;;::;;;;:;;;:::||:|:|||::::::||:||::|::;;||:|||||::||:::::::|||||:::||:::::::|::::;;:;;:::::::::||;;;::,;::;;;::::::::::;;;::::;;;;;;;;;,:;,:::::::::::;:::::::::::::;;;::::::|:::|:::||||||||||||::::::||::::||:::::::::::::::::|||||||::||:::::|:::::||||:|||:::::||:::::::::::::::::::::::::::::|||||||:|||:|||::|||::|||||||||||||
::;::::::;,,:,,:;:::;;,;;;::|;;:::...'.,,,..,,,,..,,..,,,.......,.,|:||:;::;;;;;;::;;;;;;::::::;;;;;;;;::::||||||||::::|||||:||::||||||::::::::;;::::::;,;;;:;;;:;;,,,,,,,,;,|;;;;;;;;;;;:;;;;;::::|:,;;;:|;;;:::;;:::|:;::::::;;;;;;::::::::::||||||||||||||::|||:::||:|:::::::|::::::::::::::::||::::||::::|:::;:::::::::::::::::|:||::::::::::||::|:::::||::::||::||||||||||::|||||||::::::||||||||:
::;::;:::::;;::;;::;;;:::::::::;,;'',,....,,..,,...,,,......''|:||||;;|:|;;::::||;;;;:::;;;;:::::||::;:::;:::||::||||:|::::|:::|||||::;;::|||:::;::|:||:|::||::;|;|:;;:::::;;;:::::::::::::::|:||:::::||:||::|:::||||||||:|||::::::::::||::::::::::::::::::::|:::::||::::|:::::::::::||::||::||||::::::::::::::||:::||:|||:|:||||||||||||||:|||::::|:::::::::::
;:|:;;:;;::;::;;;;;;;;;:;;;;;;;;|::..,,..........,,,,.,,...;::::|||||:|::::||||::::;;;;;;;:||::::|::;;;;::::;:;;;;;:::::|||||||||::::::|:||::::::::|:||::||::|:,,;,,,..,,......,,''|;'...:|;::::::::::::;::::::;::::::::::::|:|||:::||||||||||||||::|::;:::::|||::::::::::||::::||:::|||::||||:::::::::::::;:::;::;;||:::::::::|::|::||:|::||:::||||||::||||||::|||||:::|:|::::::;::::
:::|:;:::|,;::::::;;;;;:;;:::|:||:;:;;;;;;;;,,;;;;;,|||:;:::;||::::::|||:|||:;;||||||||:|||||||::||||||||||||:::||:::;:;|:;;;;|:;||||::;:||||||||||:;::::|;:::::::::::::::::::;;:;::|||||||::;:||||||:::||||||:|||||:||||||||:||::::::::::||::|||||||:|||||::::::::::::::::;;:::;;;:||::::::||||||||||:::|||:||||:||||||:|::|||||::|:::|:::::|::::::::
;::::;;,;:::;;,,;;:::|;;;;||;:::|.;::::::|:;;::||;;||;||||:||::|::::::::;|:;;;;;;,,,,::|;;;;::;::|::;:|:||||||||::||||:::|::|::||;|::::::||,;:|;::;:;|||:;::;;::;;;;||;;;;;,;;;;;,,,;;;;::;:;,:::::::::::::::::;;;;;;;:;::;;;:;;::::::::||||||||||||||||||||||:::::::|::::::::::||:||||||||||||||::::::::::::|::::;;:::::::|;::::::|||:|||||||||||||:||:::|||||:::||||||::::::||::::|:::||:|
;;;;:::;|;:;:;|,:;;;,:;;;;,;:|;;::|::::;::::::;::|::||||:;;::||||:;;::;;;;::;;;;;;||,;:::|:||||:|::||||||||::|:;;:||||||:;|,;|:;;::|||||||||,,;;:::::::;,::;;;::;:::::::;;|::::;:|::::::::::::::;;;;;;::::::;:::::::::|:::::::||:|||:||||:::|||:::||::::|||::::::::||::|||||:::||::|:::::::::::::::::::;;:::;:|::::::|||||:::::::||||:|::|||:||||::|:::|:::||||::::::::::||||||
;;;;;;;:,;,,,,:|,.::;;:|:::::::;,;||||,::::|||:;::;::::|:::::::|:;:||||;::|::::||;;:;;;;:;;,;|:;.|;.;.,;;::;;:|;;;:||:;::|::||:::::|||||::|:;,;;||;;::|::||||:||||:|.;;;;:::::::;;|;::::::::::::::::|::|:::::;;:::::::::::::::;:::;::;;:::::|:::::::|::|||||:||||||||||||:||:|:||:::::::|:::::::::::|||||::::|::::::::|||::|:::::||::||||||::::|||||:::|||||||:::||||:|:::::::::||:::::|:::::::||::
;;;;;;;,;;....;||;;:;;;;:;:;;;;::||;;:;;;:::::;;:||::|::|::|:::|:::||||;::;;:|::||::||||,;:|::::||||||:::|||||:||||;:||:||||,,;;::::::::::::;;|:::|:::::;::;::::|::;:||::::||:|:::::||:::::||:::;::;::::::::::||||||||||||||||||||::||||||||||||||::::|:::::::|:::|||||::|::||||:||||||||||||||||:|::||||||||||||||||||||||||||||||||||||||||||||||:||::||||||||
||::|:::||::|||||||||:::||::||||:||||:||:||||||||;::::||||:,,;::::::::::::::::::::;::::::::::::::::::::|::::::::::::|||||::::||||||||||:|||:|||||||||||||||||||||||||||||||:::::::::::::::::::::|:|||||::::::|:::::::::|::::::::|::::::::::::|:||||||::|:|||:||||||:||||::::|:::|::|||:::::||::::
|||||||||||||||||||||||||||;|:|||||||||||||:::|||:::,;|;|;:||:;;:;::::::::::::::::::::|:::::::::::::;;;::::::::|||||||||||||||||||||||||||||||||||:|||||||||||||||||||||||||||:||||||:|:::::||||:||||||::||||:||:||||||||||||||||:|||||||||||||||:||||||||||:|||||::::::::::::|::::::|:|||:||::::
:..,;.;,,;;,,;;||;;;;::::|::::|,,;;||::;;:|:;::::::::::|:||:|:::||||||||||:|:||||:;,;:||||:::|||:|:::|||;;::;;:::::|:::|||||,;::|:|,,;;;;;;;;;;;:::::::::::::|::::::::|||||::::||::::::::||::||:::::::;:|:;;;:::::::::||:;;:|||||||::::::|||||||||||:::|:::|||:||||||||||||||||||||||||||||||:||:|||||||||:|:|||||||::|||:||::|||||||||:||||||:::::::::|:|::||::||:::||:::::
|||:,.;;;;;;;;:|::||||||:|:|::|::;:|||:|||||||||||||:|::||||||||||||||:|||:|||::|::|;,::|:||||||::::::::|::::;::|:::|||:|;,:||:,|;;::|,;:::;;;;;;;;:::::;;::::::;:::::::::::::::::||::::;;::::||::::::::||:||||||||:::::||:|:::|||||:::||::::|||||||:|||||||||:|||||||||||||:||::|||||||||||:||||||||||||||||||||||:::|||:::||||||||||||||||||||||||||::::|::|||::|||:|||||:::|||:
|:;:;,;::;:||||||||:||::|:|:::::;,,;|:||||:|::||||:|||||||||||||||||||||||:::::,:::|::||||||||||:::||;;|:::;;:::;,,:|||::||.;;;;:|||,:::::;;;;::;;;;;:::;;:::::::;:|:::|::|:|:::::;::;:::::||::::;::::::|||:|::::::::::;::;:;;::::|::|||||:;:::|||||||||:|||||||:|||:|||||:::|||||||||||:||||::||||||||||||||||||||||||||||||||||||||||||||||||:||::::::::::::::::|||::|||::||||
;;;;;.';;:::::|:|||||||:::::;;;|;;.,'..,:;;::::;;;;:||:||:::|:||||:::;,,|;::::;:|::||;,;;;;;||:||;;;|:||::|||||;:::::||::::|;|:::|::::::|::::::::;:::::;;;,,;;;;;,;:|;;::::|:::::::|::::|||::||:;;;;:::::::||:::::||||::::::::|::::::::::||||||:::;;:::|||||||||||||||:|||||||||||||||:||::::::|||||||||||||||::||:|:||||||:||||||||:||||||||||||||::::|:||::::::|||||:|||||||||:
;,,,;.;:::::;;;:;,,,,:|,:,,,,,,;;.,;;;;,;::::;;;::||:;;;:::,,::::.,;;|::|||:::|:;;;|:;;||:|::::;;;::;::;::;::|::||:|:::::::::;,;;;,;;;;;,;::;:;;|;;;;;;:::;;;;:::||||||::::|||:;;:;;;::::||::::::::::::||:||::|:|||||||||||||||||||||||||||||||::||:||||||:::::|||::|||:::|||||||||:|||||||||||||||:|||||||||||||:||::||||||||||||||::||||::||:::|||||||||::||||
.;.,,,;,,.:,|;;|.,,;:::|::;;;;;,,,;,,,;,,;:::::|;||||;;::|||,;::|;;;:;:::|:;;:|:,;|:,:|||::::|::|:|:||:||||:::;::::|,;||||||::::::||;:;:|;;::::::::::::||::::::::;;;:::;;::::::||||||::;:::|||||:||::||||||||||||||||:::::|||||:||||||||||||||||||::|:|||||||||||||||::|:::|::|||||||||:::||||||||||||||||:|||||||||||::|||||::::::||||:::||||||||||||
:,|:::|||,,;;,;;;;;;:::||||::|||;:;::;::;;;:;:|:::;:|:;:;::|:;|;::;;:::|;||||:||||||||||||::::::|;;;;;;;;|:,,,,;;,;;,;;:;;,;;,:;,;:::::::::::::||::::::::::;;;;::::::::||::::::::::::|::||||||||||||||||||:||::||:||||||||||||||:::||||||||||||||||:||||||||||||||||:||||||||||||||||||||||||||||||||::||||||:|||||||||||||||||||||||:|||::
:.,||||||::,..,;,;;,;::::::::::;;|;;:;;;:::;|||;;::|:;;,||||:;|;:||:|||:|||;;||||:||:|::|:||:::|;;;:;;|:;,,,;,;|;,;,,;;:::,:|,,;;::::;:::;:::;:::;;:::::::::||::::::::::::::;::::::::|||||||:|||||||||||||||||||||||::||||||||||||||||||||||||||||||||:::::::::||||||||||||||||||||||||||||||||::|||||:::::|||||||||||||||||||||:|||:||||::
|.;;,,,:||;;;;;;::::,;|::,,;;;||::::::|||:|::||:;||::|:||:||::|:;,,|||:::::::||:;;:|:,:|:::::::|,;;;;,,,,,::;;,:|;:::::::::::;;;:::::||:||||||||||::||::|:|||||||||||:|||::::::||::||||||||:||||||||||||||||||||||||||:|||:||||||||::||||||||::||:::||||||||||||||::|||||||||||:|||||||||::::::::||||||:::|||||||||::||||::
|||:::;,,,,,;..;|;;|:;,,;||:|::,,:::|:|;;|:::|||;|||:::|:;;||,;;:||:|:;;|.,.......:,...,;,,,;;,:,|;:;;...;..;.|:|||||::||:::::|||::||:|||||||:::::|:|||||||||||||||||||||||||||||||||||||||::|||||||:|||||:||:|||||||||:|||:|||||::||||||||||||||||::::||::::::::::::::::::|:|:::::::::::||:|||||||::
||||||.,;;;,,,,,;:;,,|:,,|;;|||||::;;;;|||:,;:|||||,:||:::::::;;,.:||:|::::|:;||||||||:::::::||::::||||||||::|||||||||||||||||||:|||:::||||||||||||:::|:|||::|:|||||||||||||||||::||||:|||:::|||||||||||:||||||||||||||||||||||||:|||||||:::||||||||||||||||::::|||||::::::::::
||:;;|:|||||,,;;;,,,,,;;;:;,,;:;;,;,;,,::;;::||:;;;;:;,;:;;;;::;;:|,;,::;:|||||::::|||;;::::|||;;|::;:|||::::;;:::||:||:||||||||||||||||||::::||:|::|||||||:|||||:::||::||||:||||||||:||||:||||:||||||||||::|::|||::|:||:::::::::|:::|||:::|||||:::||:||||||:::::::::::;;:;;::::::::::::
,|,,;:,;::|:|;::;;;;;;:;;,;,,;;:;,;;,|:;;,,::;;:;:,|:.|||||::;::|||:|||||::|||::|||||;:|:::|::|||::|:::|||||||||||:|||||:||::::||::|||||||:|::|||||||||::|||||||::|:||||||:::||||::||::::::|||:::|:|:::::::::::|:::::::::||||::::::::::::||:::::::::||:::::::::::||::|:::::::::::
|||::,,,;,;||:;,||||;,:|..:::;,,;,;;;;,,;;::;:::;,|||||;..|||||||||||||||||:|:;||||:|||:||:||||::||||||||||::||||||||||||:::::||:::::::||::::::::|::||||::||::::|:||:|||||:::::|||||||||::::::::||||::::::|||||||||||||:::|:::||||:|||||::||||::::||||||||||:|||||:|||::|||:||::|:|||||::|:
|;;::|.;|.,;::::;;,,,;;;;,,;;:|:;|;::|:||||;:||;|::||:||:|:|||||||:;::;;::;;:::::::::|||||::|::::;;;;:::::|::::::::::|::::::;:|:::::::|:||:||||:||:||:::|:|||:::::||::|||||:::::||||||:::||||||:::||::::||:|||||::||::||||||||||:||||||::||::|:||||||||||||||
:||;|||,,;;::;;;,,;::::::;,;::||;,;;|||||:|||:||||:|:|::||||||:|;:;:::::::::::|::::::::||||||||:::;::::::::::|::|:::|:::::::::::::|||||||::||||||||||||||:::||::::::::||||||::::::::||||||::||||||::|||:||||||||::::|:::::::::|||||:|||::|::::|::|||:||||||||
:::||;,,;|:|;;;,;:,,;:::::;:::;;..|||||:;|:||||:||:::|::::::::::::::|||||||::,;:||:|::::::::::::::::||||:|||::::::||:::::::::::::::||||||:::::||||||::|||||||||||::|||:::||||||::::::::||:::||::::|::|||:::::|:||::::|||||:::|||||::||||::::::::::::::::::::::::::|::::::|::::::
:;;||;;;;:,||..;,;;;;,,;,::,;,:||||||:||||:;|||::::::|::|::||:|::||||||:|::||:::;::|;:;;;:::|||||||||||::::::|::::||||:::::|::::||:|::::::::|::||:::||||||||||::::::||||::||||:|||::::::|:::|||:||||||::::::||:||::::::|||::::::::::||::::::::::::||||||||::|::::::|||||||||:|
;,.....,|||;,|;|||||,,,:;.,,;;,;;;;;;;,||||;;|||:|::||::::::::||::||:||:;::;::::::||;;;;;::::::::::|:||||||||||||::::||:::::|::::::::||||::::::::::||:::|||||||||::::::|:::|||::::|||||||:::::::::||||:::|||||:::||:|:||::::::::|:::||:|:||:::::::|:|::|||:||:::|::|::|||:||||:::::
;;|;:|:,;,,,;:;;;;,;::|||:|||:||||:|::::|||:::||||:|:::|:::::::::|::|::;|::|:::::::::|||::|||||||:||:::::|:::|::::|::::::|::::||::::::::::::::||||:|:::::::::||:::|:||||::::::::::||||||:::::|::|:||::::::||::::::::::|||||||||||:::::::::::::|||:||||:::|||::
;;,;|:,||::|::|,,|::|||,,;;|,:;;;;;;;;;:;|||||||;::;||:||||:;::;;::;:|:|::::|:||:::;||::||||||::||||||||||||||||||||::||||||||||:::::|::::::::||:::::::::|||||||:::|:||||::::::::::|:|||::::::||::||::||::::||||||:::::|||||:::||:::::::::::;;::::::::::||||||::::||::|::::::::::;
,,;::|;;,||:;;::,,|:|:,;;:|;,;::;;::;;;;;|;;:|;||,;:;|;,,,..,|::::::|||:||||:|||||||::||:::||||:||,,::::::::||:||||::||||||||:::::::::::::::::::::::::::::::|:::::::::::::|::||::||::|||:::::::::::|:|||:::::::|:::|||||:::::||:||::|:|||::||::|||||||||||:|||::::||||||||||::||||||||||::::|::
|;,,,;:,;;::;|||;;:|:;;;;,;;;;;|;,;;;;:::;;;;;;;::;||,;;|||;..,,,;;::::|||:;|||;;::||::||||:||::|||::::|:::;;:|||||;::::::::|::||||::||||||:::||:::||::|||::::|||:::||::||||::|||::::||||::||::::::||::|||||||::|::::||||||::||||||:::|||::::|||||:||||::::|||||::|:::::|:::::::|||::::::||||||||:|||::::::::::
|,;|;:,,||;;;,||:;;||:;;;;;;,,;;;;::::;;;:;;;::;|||||:||||:::,;;;||;;;:;|||:,:;::::|||||||||::;;:::|:::||||||:;:::::;;;::|::|||:::|||;:|:::|:::::::::|:::::||||:|||::::::::::::::::|::::::::|||::::::||||:::::::::|||||::||:||||:::|||:||:::|||::::||:|:|||::|::||||:::::::::::::::::||:|||:||::;;;::::::
;::,||||,:;:::;:;;:::::::;||;::;:||||;;;;|:::|:::,,:|:,,,:||||:|::::|||:|||||:::;;:|::::::|:|||||:::::::::;;:::::|:;:::::::::||:::::|::::::::|::||:|:|||:::|:::::::::::||||::|:::|:|:|||||||||||||::::;;:::|||||||||:||:::||||:::::||||::::|||||||||||||:::||||||||||||||||||||||||||||||||||
|;:||:,;;:::|::||,.;;;;;;:;:;::;;;;;;|:;::|;;|||;;;:||||:|::|;;,;;;,,:;,;;;;:||::|:::||:|::||:|:;:||||||;::;;;;::::||::||:::::::||::::::::||||:|||:::|||||||::::::::::::||||::|:::::::|:::::::||:::::|||::::::|::|||::||||::|:::|||::::::::|::::|:|:::::::::::::::::||||||::::::|:||::|:::::::::::
:;.|:|:||;||;;|||;,.,,;;;;;;;,.,,;;,:,,,,||;;;;;;;;;:::||:,::;;:||,;:::|;:|||;|||::::;::::::::|||;;;|;::::::;::|::::::;;::;;:::::::::::|:;;;:;:::::;:::;;;:;::::;::::|::|::::::::::;;;;;;;:::::::::|:;;;;:::||||::||||||||:||||:::||::::::::|||:||::::::::|:::||:::|::::||||::::|::::::::|::
;,..;:|:;||:||:;:,|||:|,,;.;|||:;|:;;||::;;;:;;|||;;|||;:||||||;||||:::::;:;:::||:|:;|.,,,;,,,,,,,,,,,;;;;;,,,:::::::;,,:::|||::;;;;;;;|:|::::||;::|||::::||||||:|||:::::|:|||||||:||||||:::|:::::||||||||||::::||:||::::::::::
:;;;;||:|||:|:;::,,.,::|:||||:;;,;;;,,...:;;;,;;||::;|:|||||||:||||:::::::::|||:|:|:,|;:||::|:::::::||||||||||:::|:|||||::::||::::||:||||||::::|:::|::::|:|:|:::::::|:
,:||:::;:;|:::::;:::|:||::|::||:|:,;||;;;|.,:|:|:;;::;,|:|::|::|:||||::::|:|||||||;;::::|:|||::|||||:|||::||::::::::|:|::::::::::::::::|:||::::::::::||||:::::|::|:
,;::::||::;|;::|:|;,;::|||,;:|||..|.,::;;:::|||::::;:||||::;:;;:|:|:::::::|:|||..,:::;;;;;;...,.........,,,,;.,,,''''....' '''''....,''''''' ' ' ''''' '''''' ' '''' ',::::::::|||::||::||;;:::|||:::::|::::|:::::::||||::|||::|||::|||||||||:||::::||
;:|::::|:;|;:::;;;:;,,||:|||,||,,:|:;|||:;;;|:::||||::;;||:|||||::|::||||||::||:;:::|:|,...................................................,'''''''''''''''''''''''''''''''''''''''''''''''''''' ',::::::::::||:::::;:::::::||::::|::|:::::::::::|||||||||:||||||::::||::::::::||
|,,;:::||:::::;::||;||;||;;:||:||:||.,;;|:|:,:||:||||:;|||||||::|||||||||||::|::||::|;.,,.,...,.,,...,,,,,,.,,......,,,,.,..,,,..,,,,,..,;'''''''''''''''''''''''''''''''''''''''''''''''''''' ,:::::::::::;;;:;,;;::|::||:::|::::::::|:|:::::||:::::::||||::||||||||:::::||:::
::::::;|,::|||;:|;|;:,,:;;;;;,,|;:|:;;;:|,;;;,:|,:|:,,,,::;;:|:;,;:;;::|:||:||:::;;:|||::;:|||,.,,,,,,,,.,,,..,,,,,.,,,.,,,,.,,,.,,,..,,,.,,.,,,.,,'''''''''''''''''''''''''''''''''''''''''''''''''''' .;;:;:::|,.;,::||||:::|||::::::;::;;;::::;;::::|||:|::|:::::::::||:|:|: