font size: 12px ( --- / +++ )
54.236.58.220@honeybii.com ~
$ cat 1103810_amadeen_ankha-naked.jpg.txt
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYYxYxYxYxxxxYYxYxYxxYxYxYYxxxYxYYYYYYYYYYYYYYYYYYxYYxxYxYYxxYxYYxxYYxxYxxYxxYYxYxxYYxxYYxYYxYYxxYxYxxYxxYxxYxxYYxYxxYxxYxxYxxYxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYxxYxYxxYYxYxxYYxYYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYYxYxYYxxYYxYxYxxYYxxYYxxYYxxYxxxxxxxxxxYxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYYxYxYxxxxYYxYxYxxxxYxYxYYxYxYxYxYYYYYYYYYYYYYYYYxxYxxYxYYxYYxYYxxYxYxYYxYYxYYxYYxYxYxxYxYYxYYxYYxYxYYxYxxYYxxYxYYxYxxYYxxYYxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYxYxYxYxxYYxYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYxYYxYxxxYYxYYxxYYxxxYYYxYxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYxYxxYxxxxYxYYxxxYxxxxYxYxYxYYxxxYYxYYxYYYYYYYYYYYYYYYYYYxYYxxYYxYxYxxxYxYxYxYxYxxYYxYxYxxYYYxYYxYYxYYxxYxYYxxYxYYxxYYxxYxYxYYxYxxYxYYxYxYxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxYYxYYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYxYYxYxxYYYYxxYYxYYYxYxYxYxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxYxYYxYYYYYxYxYYxxxYxxxYxYxYxxYYxYxYYYYYYYYYYYYYYYYxYYYxYYYYxYYYxYxxxxYYxYxYYxYYxYxYxxxxYYxYYxYYxYYxYxYYxxYYxYxxxYxYxxYxYYxxYYxYxxYxYxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxxxxxxxxxYYxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYxYYxYxYYYYYYYYYxxYYxYxYxYxYxxxxYxYxxYYYxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYxxYxxYYxYxxxxYxYxYxxxYxxxYYxYxxYYxxxxYxYYxxYYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYxYYxYYxYxYxYYYYxYYYxxYYxYxxYxYxxxYxYYxYxxYYxxYYxxYxYYxYxYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxYxxYxxxYxYYYxxYxxxYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxxYYxYYxYxxYxYxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxYxxxxxxYxYYxxxxYYxYxYxYxxxxYxxxYxxxYxYxxYxYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYYxYYxYYxYxYxYxYYxxYYxxYxYYxYxYxxYYxxYxYYxxYxYYxYxxYYxYxxYYxxYYxYxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYxxYYxxxxxxYYxxYYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxYxYxYxYYxYxxxxYYxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxxYYxYxYxxxxxxYYxxxYxYxxxxYxYxYYxxxxYYxYxxYYxYYYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYxYxYxYYYYYxxYYxYxxYxxxYYxxYxYYxYxxYYxYxxYYxxYYxxYYxxYxYYxxYxYYxYxxxxxYYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxYxxYxxYYxxxxYxYxYxYxYxYYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYxYYxYxxYYxxxxYYxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxYxxYxYxYxxYxxxxxYYxYxYxYxxxxYYxxxxxxYxYxYYxxxxxxxxYxxxYYxxYYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYYYxYxYYYxYYxYYxYxxYYxxYxYYxxYxYYxxYxYYxYxxxYxxYxYxYxYYxYxxYYxxxxYYxxxYYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxYxxxYxxxYxYxYxYYYYYxYYYxYxYYxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYYxYxxYYxYYxYxxxxxxxxxxYxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxYYxYYxxxYxxYxYxYxxxYYYYxYxYxYxYxYxxxxYxYxxxxxYxYYxxYxxxYYxxYxYYxYxYxYxYYYYYYYYxYYYYYYYYYYYYYYYYYYYYYYYxYxYYYxYYxYxxYYxYYxYYYxYYxYxxYYxxYYxYxxYYxYxxYYxxYxxxYxxxYxYxYxYYxxYxYYxxYxxYxxYYxxYYxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYxYxYYxxxYYxYxYxYYxxYYxYYxYYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYYYxxYxxYxYxYxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxYYxYYxxYYxxxxYYxxxxxxxxYYYYxYxYxYxxxxxxYYxxxxYYxYxYxYxxYYxxYYxYYxYYxYxxxYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYxxxYxYYxYYxYYxxYYxYxxYYxYxxYYxxYxYYxYxxYYxxYxYYxxYYxxYYxxYYxxYxYxYYxYxxYxYYxYxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxYYYxYxxYxYYxYxxYYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYYYxYYxxxYYxYxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYYxYYxYxYxYYYxYYxYxYxYxYxYYYxxxYxxxxxxxxYYxxxYxYxxYYxYxxxYxxYxxYYxYYxxYxYYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYYxYxxYYxYYYxYYxYxxxYxYxYYxYxxYxYYxxYxYYxxYYxxYYxYxxYYxxxYxxYYxxxYxxYYxxYYxxYxxxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxYxxYYxxYxYxYYxYxxYYxxYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYxxxYxYxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxYxYxxYxYxYYxxYYxxxYxYxYYxYxxYxxYYxYxxxxYYxYxxxxYYxYYYxYYxYYxYxYxYxYYYxYYYYYYYYYxYYYYYYYYYYYYYYYYYYYYYYYYxYYxYYxYYxxYxYYxxYxYYYxYxYYxYYxYxYxYYxxYYxYxxxYxxYYxxYxxxYYxxYxYYxxYYxYxxYxYYxxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYxYxYxYxYYxxYxYYxxYxYYxxYYxYxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYYxYxYxYxYYxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxYYYYxYxYxYYxYYxxYxYxxYxYxYYYYYYYYYYYYYYxYxxYYxYYYYYYYYYYYYYYYYYYYYYYYYxxYxxYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYYxYxYxYYYxYYxYYxYYxxxYYxYxxYxYxxxYxYYxxYYxYxxYYxYxxYxYxxxYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxxYYxxxxYxYYYYxYYYYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxYYxxYxYYxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxYYxxYxYxYxYYYYYYYYYYYYYYYxYYxxYYxYYYYYYYYYYYYYYYYYYYYYYYYxYYxxYYxYYYYYYYYYYYYYYYYYxYYxYYxYYYxxYYYYxxYYxxxYxYxxxYxxYYxxYYxxYxxYxYxYxxYYxxYYxYxxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxYxxYxYxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxYYxxYxYYxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxYYxYYxYxYxYYYxYYYYYxYYxYxYYYYYYYYYYYYYYYYYYYYYYYYYxYxYYxxYYYYxYYxYYYYxYYYxYxYxYxYYYYxYYxYYYYxYxxxYxYYxxYYxxYxYYxYxYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYxYxxYxxxxYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYxYxYxYYxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxYYxYYxYYxYYxxYYxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYYYxYxYYxxxxYxYYxxYYxYxYYYxYxxYxYYxxYYxxYxYxYYxYxxxxYYxxYxYYxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYxxxYxYxxYxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYYYxxxxYYYxYYxYYxYYxxYYxxYYxxYxYYxxYxYYxYYYxYYYxYxYxxxxYYxxYxxxYxYYYxYxYYxxYxYYxxYxYxxxxxxYxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxYxYxYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYYYYxYYxYYx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYxYYxxYYxYYxYYxxYYxxYxxYxxYxYYxYxxxYxYxYYxYYxxYYxYYYYxYxxxYxYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxYxYYxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYYYYxYxYxxYY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxYxxxxxxxxxxxxYxxxYYxxYYxxxxxYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxYxxYxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYYYxYxxxxYx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxYxYxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxYYYxYxxYxYx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxxYYxYYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxYYxxYYxYxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYYxxxxYYYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxxYYxYxY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxYxYYYYYYYYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxYxYYYxYYxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxYxYxYYxYxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYYxYYxxYxYY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV8%8$YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxYxYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYYxYxxxxYYYxYYxxxxxY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%%8VxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxYYxYxYYYYYYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxYYxYYxxxYxxYxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%%%%%%VxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxYYxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxYYxYYxxxYxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%%%%%VxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxYYxxxxxxxxxYYxYYYxYYYYYYYYYYYYYYYYYYYxxxYxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYxxYxYxxxxYYYxYYxxxxYx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYV$#$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%%%%@%%$YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYxYYxYYYxYxxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxYYxYYYYYYYYYYYYYYYYxxYxxYYxxYxYYxYxxxxxY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV#%@%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%%%%%%@%#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxYYYYYxYYYYYYYYxxYxYxYxYYxxxYxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY#%%@@%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%%%%%%@%%#YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYxYYYYYYYYYxxxYxxxxxxxYxxxYxxxxY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%@%%%%%Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#%%%%%%%%%%%%%#YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYxxYYxxxYxYxxxxYYxxYxYx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%@%%%%@%VxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY#%%%%%%%%%%%%%%#YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYYxYYYxxYYxYYxxxYYxYxxYY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8@%@@%%%%%8VxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%%%%%%%%%%%%%#YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%@%%%%%@%8YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%%%%%%%%%%%%%%%%#YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8@%%%%%%%%%@@#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%%%%%%%%%8%%%%%8YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%@%%%%%%%%%%%%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#%%%%%%%%%%%%%8%%%%%8Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8%@%@%%%%%%%%%@8YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY#%%%%%%%%%%%%%%88%%%%8Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%@@@@%%%%%%%@@%#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%%%8%%%%%%%%%88%%%%8Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#%@@@@%%%%%%%%%%%%VxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%%%8%%%%%8#%%%88%%%%%$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%@%%@%%%%%%%%%%@%%8YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%%%%%8%%%%%#Y#%%%%8%%%%%#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#%@%%%%%%%88%%%%%%%@8YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%%%%%8%%%%8V*Y8%%%%8%%%%%#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%@%%%%%%%$xV%%%%%%@%%#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%%%%%8%%%%8V**$%%%%%88%%%%8Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY#%@%%%%%%8x*x#%%%%%%%%%VxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%%%%88%%%%8V***#%%%%%88%%%%8Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%@%%%%%%%$***$%%%%%%%%@8Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%%88%%%%8V***x#%%%%%88%%%%%Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%@%%%%%%%Y**=x8%%%%%%@%%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%%88%%%88V****Y#%%%%%88%%%%%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%%%%%%8x****#%%%%%%%@%8Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%%88%%%88V*****Y#%%%%%88%%%%%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8@%%%8%%%%#*****V%%%%%%%@@%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#%%%%%88%%%88V******Y#%%%%%%8%%%%%#Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxx***********xx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%8%%%%%V*****x8%%%%%%%%@8Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#%%%%888%%%88V***=*=*Y8%%%%%88%%%%%%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx**************************x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%88%%%%%Y***=**#%%%%8%%%@%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#%%%%%88%%%88Y***===**Y8%%%%%88%8%%%%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**********xxxx
xxxxxxxxxxxxxxxx*********************************x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#%%@%88%%%%8x=*==**$%%%%8%%@@%8Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%888%%%88V**=====**Y8%%@%%%88%%%%%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************xxxY
xxxxxxxxxxxxxx*x************************************x***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%@%88%%%%%#*======Y%%%%%%%%%%%Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%888%%%88V*=======**Y8%%%%%%88%%%%%#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*=:::::~~~:::+++=**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******************xxYY
xxxxxxxxxxxx************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8@%@%88%%%%%V=======x8%%%%8%%%@%8Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%888%%%88V*========**V8%%@%%%88%%%%%#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***==~--++++++==**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx********************xxxYY
xxxxxxxxxxxx************************************************x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**=::~~:=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%88%%%%%8x=======*#%%%%%%%%@%%Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%888%%%88V*==========*V8%%%%%%888%%%%#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=~~*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*******************xxxYYY
xxxxxxxxxxx*****************************************************xx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*+:::+++~.-*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY%%%@%88%%%%%$*=======*V%%%%%8%%%@%8Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%%88%%%88V*===========*V8%%@%%%888%%%%#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*:~=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x*******************xxxYYYY
xxxxxxxxxxxx********************************************************x**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:-~*x*+-.~*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#%%%%88%%%%%%Y=========Y%%%@%8%%%%%%Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%888%%%88V**===========*V8%%%@%%888%%%%#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:~+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx********************xxxYYYYY
xxxxxxxxxxxx************************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=+::::+*xx*~-~~---+*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%@%%88%%%%%#*=====+===x8%%@%%8%%%@%#YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%%%8888%%88V**=======++===*V8%%%@%%888%%%%#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+~:*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***********************xxxYYYYYY
xxxxxxxxxx***************************************************************x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*==++++=xxxxxxxxxxxxxxx*****+-.~~~~--~+**~.-+=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#%%%%88%%%@%%Y==========*#%%%%%8%%%@%8VxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY%%%%%888%%88Vx=====+==+++===*V8%%@%%%888%%%%#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=~~*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*************************xxYYYYYYY
xxxxxxxxx****************************************************************x*x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=+::++====*xxxxxxxxxxx=:~~:+==-.~*xxx*+-.:x=~-:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%%%%88%%%%%8x========++=$%%%@%%8%%@%%#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%%888%%88Vx=====++++++++==*Y8%%@%%%88%%%%%#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*~~=xxx=+::++=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************************xxxYYYYYYY
xxxxxx*x**********************************************************x**xxx*x*x**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=~-~+===****xxxxxxxx*+~-..:*xxx:-~*xxxxx+.-=x=~-+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#%@%%88%%%@%%$*===+====++=Y%%%%%%88%%@%8VxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%%888%%%8$x=====++++=++:+==*Y8%%%%%%88%%%%%#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*:~+x=~-~:::~~~:=xxxx*=*xxxxxxxxxxxx***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************************xxxYYYYYYYY
xxxxx***********************************************************xxx*xxxxxxxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*+::::::::::::+==*x*+::=~-~=xxx*=++=*xxx~.~*xx*+=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY%%%@%88%%%%%%Y===+++==++++x8%%@%%88%%%%%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8%%%%888%%88$x*==+++++++++::+==*Y8%%@%%%88%%%%%#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=:+=*xxxxxxx*~~+=~-:*xxx**:--+xxx:~+xxx=+=*xxxx=~:*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************xxxYYYYYYYY
xxxx*************************************************************x*xxx*xxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******==++:~:+***xx*:-~=xxxx*+:~:+~--=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%%88%%@%%#*===+++===+++*#%%%%%%8%%%%%#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#%%%%888%%%8$x*==+++++++=+:::===*Y8%%%@%%888%%%%#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*=~~~:+=****+-~*=~~*xxxxxxx:-~*x=--=xx=~--:*xxx:-:*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************xxxYYYYYYYYY
xx*****************************************************************x*xx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*:~:*xxxxx+--+*xxxx*+:~~:*xxxxxxxxxxxxxxxxx*=+:+=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%%88%%%%%%V===+++:+==+++=V%%%@%%88%%%%8Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%888%%%8$x*==++++::++++::++==*Y%%%@@%%88%%%%%#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**+:~~~~~~~:=x*++++*xxx*:--+xx~-~*xx:-~~~+xx=--+xxxxxxxxxxxxxx+:+*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****************************xxxxYYYYYYYYY
*x******************************************************************x*xxxxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*~~+xxxxxx=::=xxxxxxxxxxxxxxxxxxxxxxxxxxx+~-~::+*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%%%%88%%%%%8x===+++:+=+++++x8%%@%%%8%%%%8$YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%%%%88%%%8#x*==+:+++:::++:::+===*V8%%%@%%88%%%%%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**=***xxxxx*+~~++:~-:=xx*--+xx=--++-~=x+--*xxxxxxxxxxxxx+-..~*xxxx*++=xxx*=***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x****************************xxxYYYYYYYYYY
x***************************************************x*********************xxxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=~~=xxxxxxxx**xxxxxxxxxxxxxxxxxxxxxxx***:--=xxxxxxxxxxxxxxxxxxxxxxx*~-=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#%%%%888%%@%%#*===+++:+=+++++*#%%%%%%88%%%%#YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%%%%88%%%8#Y*==+::++::::++:::+===*V%%%%%%888%%%%%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=::::=*xxxx=~-=xx+-~**:-:*~-:xxxxxxxxxxxxx=--~-.+xx*+- .+xx+-.---~~+=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******************************xxxxYYYYYYYYYY
x*********************************************************x****x****x******xx*xx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxxxxxxxx=~-:*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*~~:--+xxxx*=+++=xxxxxxxxxx+~:xx+:=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY%%%%%88%%%%%%V====+++::++++++=V%%%%%%88%%%%8VxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%%%88%%8#Y**=+::++:::::+::::+===*V%%%@%%888%%%%%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*++*xx:-:xx*~-~--+xxxxxxxxxxxxx:--=:.-+:--..-*x*~-:++::::+*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****************************xxxxYYYYYYYYYYY
*x*******************************************************x*********x****x*xxx*xx*x*xxxx*x*xx*x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*=+*xxxxxxx*+~~+*xxxxxxxxxxxxxxxxxxxxxxxxxx==*xxxx*-.---+xxx*:-.---:xxxx+--*x=:+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%%88%%%%%8x==++:++::+++:++=x8%%%@%%88%%%8$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#%%%%%88%%%8V**=+:::++::~::::::+====*V%%%@%%888%%%%%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==*xxx=~..~*xxxxxxxxxxxx=--+x=~..-::--+xx:--+=***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x***************************xxxxYYYYYYYYYYYY
x******************************************************x*******x****x*****xxx*xxxxxxxxxxx*xx*xx***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=:~:====+:~~:=xxxxxxxxxxxxxxxxxxxxxxxx**x*:-~==*xx:.-~--+*xx+-.~:.-=xxx=~:*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%%888%%@%%#*=+++:++:::+:::+=*$%%%%%%88%%%%#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%%%8%%%8$x*==+:::+:::~::::::+====*V%%%%%%88%%%%%%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=::=xxxxxxxxxxxxx:-~*xx*==**~.~*x=-.~~--~+*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x**************************xxxxxxYYYYYYYYYYYY
x*************************************************x**x********x********x**x*xxx*x*xxx*xxx*x**x*****xxxxxxxxxxxxxx*xxxxxxxxxxxxxxxxx*=:~~~~~::+*xxxxxxxxxxxxxxxxxxx**xxxx=::=x+-.-~~:==--:+~--~~--~=*~-+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%%%%88%%%%%%V==++::++:::::::+==x8%%%@%%8%%%%8VxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%%%%%8%%%8#x**=+:::::::~~::::::+==+=*$%%%@%%88%%%%%%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*:~+xxxxxxx=--+x*~-~**===*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*************************xxxxxxYYYYYYYYYYYYYY
x*********************************************************x******************xxxxx*xxxxxxx*x*********xxxx**x***xx*xxxxxxxxxxxxxxxxxxxx******xxxxxxxxxxxxxxxx*=x*=:~~~=xx*~-:x*:.-++:~~-.-*x*++++*xxx***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#%%@%888%%%%%8x=++::::+:::::::++=*#%%%%%%88%%%8$YxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%%%8%%%88Y***=:~::::::~~:::::++=++=*$%%%@%%88%%%%%%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxxxx=:+*x+..+**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x************************xxxxxxYYYYYYYYYYYYYYYY
xxx***********************x***************************x**********************xx**xx**xx*xx*x*x*****x****************xxxxx*xxxxxxxxxxxxxxxxxxxxxxxxxx*++=xxx*:~::-~~--+xxx+--=x*~-:*x=+~-:*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%@%88%%%@%%#*=++::::+:::::++++==Y%%%%%%%8%%%8#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#%%%%%%%%%%8V***=+:~::::::~::::::+=+++=x$%%%@%%88%%%%%%Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*:---:xxx*=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*:..-~~+*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***x***************************xxxxxYYYYYYYYYYYYYYYYYY
xxxx*****************xxxxxxxx***********************************************x*xxxxxxx*xxxxxxxx**xx*xx*******************xx*xxxxxxxxxxx*xxxxxxxxx*xxx+. -+*xx+-..-~~~:*xxx*:.~*x=~~=xxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%888%%%%%%V=++::::+::::++++++=+*8%%%%%%8%%%88VxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%%%%8%%%%8$x*===::::::::::::::::+=+++=x#%%%%%%8%%%%%%8Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=~-~:--=xx:-:xxxxxxx*====*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**==++=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x*****************************xxxxxxYYYYYYYYYYYYYYYYYY
xxxxxxx**********xxxxxxxxxxxxxx*x*******************************************xxx*xxxxxxxxxxxxxx*xxxx*x***x*x************xxxxxxxxx*xxxxxxxxx**=+::+*xx:..-.~=xx: ..-:=**xxx*~-:xx*=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8@%@%8%8%%%%%8x=++:::++:::+++++++=+=$%%%%%%%8%%%8$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%%%%%%%8#Y*===+:::::::::::::::++=+:+=Y#%%%%%88%%%%%%8Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=-.~**--:x=--=xxxxxx*~-~~-~=xxx=+:++=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***********************************xxxxxYYYYYYYYYYYYYYYYYYYY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******x*x**********************************xx*xxxxxxxxxx*xxxx*xxxxxx*xxxx*x***********xxx*x***xxxxxx**+:~-.-~+**xx+-~+~.-:**~..~~----~+=**==*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%@%%8%8%%%%%#*=++::++++:++++++++++=V8%%%%%%%%%%8#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#8%8%%%%%%88V**==++::::::::+++::::++++:+*Y8%%%%%888%%%%%8Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=-.-~::-.~*~.~xxxxxxx:-~*=-.:xx+-~:~~~~+*xxxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x*********************************xxxxxYYYYYYYYYYYYYYYYYYYYYY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xx*xx************************************xxxxxxxxxxxxxxxxxxxxxxxxxx*xx*xx********x**x*xx*****x*=:-~:~--=xxxxx:.-~~-..~==~.~**=++:+=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY$%%@%%%%8%%%%%V==+::+++++++++++++++++x8%%%%%%%8%%88Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$88%%%%%%%%8$***=+++:::::::++++++::++++:=*V8%%%%%88%%%%%%8Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*:-~**=+~.~+-.+xxxxxx: ~+~-~=x*-.~****==*xxx*:-~*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************************xxxxxYYYYYYYYYYYYYYYYYYYYYYY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***********************************xxxxxxxxxxxx*xxx*xxxxxxxxxxxxxxx********x*xxx*=:~~+*xx****x*~-:*xxxx:..~:==~.-:+~-:*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%%%%8%%%%%8x==:::+=+++++++++++++++*#8%%@%%%%%%88VxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY888%%%%%%%8#x**==++:::::::++++++++++++:+=*V8%%%%%88%%%%%%8Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+-~=xxxx:-~~..+=**xx*- -:=*xx:..--~:=xxxxx=~..-=xx*=+==**xxxxxxxxxxxxxxxxxxxxxxx=:+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************xxxxxYYYYYYYYYYYYYYYYYYYYYYYYY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**x***********************************xxxx*xxxxxxxx*xxxxxxxxxxxx*x*xxx*xx*x*xxxxx+--~+=***xxxxxx+--=xxxx+-~=xxxx+~~+=++*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%@%%%%8%%%%%$*=+:::+==++++++==++++++=V8%%%%%%%%%%8$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxY#88%%%%%%%%8V***=+:::++++::++++++++++=+:+=xV8%%@%%8%%%%%%%8Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=+=xxxxx*=+-..----~+:--~-.~*xx*~.~==++=xxx*:-~~.-*xx:.-~~~~:=x=+=xxxxxxxxxxxxxxxx+-:*xxxxxxxxxxxxxxxxxxxxxxxxxxxx*****************************************xxxxYYYYYYYYYYYYYYYYYYYYYYYYYYY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*+-.-~~~~~:=xxxx*:~:*xxx*++*xxxxx***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY#%%%%8%%8%%%%8Y=++:::===++++++===++++++x#8%%%%%%%%%8#YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV888%%%%%%%8#x**=+:::++++++++++++++++=++++*xV8%%%@%8%%%%%%%#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****=====:-~*=~-~=x:.-=xxxxxxx=~.-:~.-*x=-.:***:--=+.-+xxxxxxxxxxxxxx:-~=xxxxxxxxxxxxxxxxxxxxxxxxxxxx****************************************xxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**x********************************x*xx**x*x*x*xx*xxxxxxxxxxxxxxxxxxxxxxxxxxx*=++++++~.-=xxxx*==*xxxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV8%%%%%%%%%%%%#x=+:::+===++++++===++++++*$8%%%%%%%%%8#VxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY#8%8%%%%%%88V**=+::::+++++++++++++++++++++*xV8%%@%%%%%%%%%%#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=:+xxx+:+=~..-~:+*x*+--~~~..~*x~.-*xxx:.-=x+--+**=+++=xxxxx:--=xxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************xxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******************************x**x****x******x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+.-=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY$%%%%%%%%%%%%8V*=+:::+===+++=+++===++++++Y8%%%%%%%%%%8VxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY$8%%%%%%%%%%8x*=+::::+=++++++++++=++++++++=*Y$%@%@%%%%%%%%%%#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****=+:~~~:+:-~=xx*~.~x=-.+x=+~.-=xxx:---~~~:+*xxxx:--=xxxxxxxxxxxxxxxxxxxxxxxxxx******************************************xxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******************************x***********xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*=-.~*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%%%%%%%%%8#Y*=+:::+===+++=+++===++++++*#8%%%%%%%%%8#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV8%%%%%%%%%%%$**=+:::+==+++++=++++==+++++++=xY#%@@%%%%%%%@%%%#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**=++*xxxx:-~*:..----~+*xxx*-.-:=**xxxxxx+-~=xxxxxxxxxxxxxxxxxxxxxxxxx*x**********************************xxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************xxx*xxx***xx*xx*xxxxxxxxxxxxxxxxxxxxxxxxxx*+:::~--:*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*=+=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%%%%%%%%%8$x*==+::====++++=++====+++++=$8%%%%%%%%%%8YxxxxxxxYYYYYYYYYYYYVVVVVVVVVVV#%%%%%%%%%%%8Y*=++:::+==++++++++++==+++++++*xV8%%@%%%%%%%%%%%#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*==x=+::+=*xxxxxx+..+xxxxxxxxx+-~=xxxxxxxxxxxxxxxxxxxxxxxxxx************************************xxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************xxx*x*x*x*x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*+~~~:+=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*+:+*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%@%%%%%%%%#Vxxx**=+=*==++++=+++====++++=Y8%%%%%%%%%%%#$$$$###8888%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$xx==+::+===++++++++++===+++++=*xV8%%%@%%%%%%%%%8#Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+--*xxxxxxxxx++*xxxxxxxxxxxxxxxxxxxxxxxxxxx***********************************xxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***********x*************x**xx*****xxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=::*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%%%%%%%%%#$VYYVVVYYYYYYYxx**=++====++++=Y8%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#$VYYx*==**=+++++++++++==++++==*Y$%%%%%%%%%%%%%%8$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=:+*xxxxxxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***********************************xxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x*x***********x******x*x*x*x*xx*xxx*xx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=::=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%%%%%%%#VYxx**=========***xYVVY*=***xxxYV#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%888##$$VYxx*===+++++=++++=**Y#%%@%%%%%%%@%@%8$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+~+xxxxxxxxxxxxxxxxxxxxxxxxxxxx***********************************xxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xx*x************xx**x*x*x*xx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*::+*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%@%%%$x*==++:::::+=**=+++++==xV$##888%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%88##$VVYxx*==+++==*xY#%%@%@%%%%@%@@%%$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=+*xxxxxxxxxxxxxxxxxxxxxxxxxxxx**********************************xxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**********x*xxxx**xx**xxxxxx*xx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*+~:=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8%%@%%%%Yx#x::~~~~~:=V##*+++++++===x$8%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%888#$VY**==**xY8%%@@@%%%%@@@%@%$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**********************************xxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****x***xxx*x*xxxxxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=:~+*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV%%%%%%%x=$$=~~~~~~~+YY*=:~::::+++===x#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%88#$VYxxxY8%%%@@@%%@@@%%@8Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*++*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**********************************xxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxxxxxx*xxxxxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*+~:=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%%%%%%$:=++~~~~~~~~::~~~~~~::::++===x#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%88#$V#%%%%@@%@%@@%%%%8Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*+:=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************************************xxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYxxxxx
*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=:~+*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY8%%%%%%x:++::~~~~-~------~~~~::++====Y$8%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%88%%%%%%88%8%%%%%%%%8%%%%%%%8%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%8%%%%%%%%%%@%@%%%8Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=::=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************************************xxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*+~:=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV8%%%%%%Y:+++:=*=+:~--------~~::++===*V$$8%%%%%%%%%%%%%%%%%%8%%%%%%8%%%8%%%88%%%8%8888%8%888%%88%88%888888888%%%%%%88%8%8888%%%%%%%%%%%%%%%%%%%%%%8%%%%%%%%%%%@%8Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=::=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************************************xxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxYYYY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=:~:*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$888%%%%#=+++:+**+~--.------~~:+++===V#8#$#8%%%%%%%%%%8%%%%%8%%%8888%%8888%8888888888888888888888888888888888888%88888888888888%%%%%%%%%%%%%%%%%%%%%88888%%%%%%%%8Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*+~:*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************************xxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYxYxYYYYYY
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*=~~+*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY#88%%%%%%$=+++:~~~----.----~~~:+++==*#888$YYYV%%%%%%%%8%%%%888%888888%88888888888888888888888888888888888888888888888888888888888888%%%%%%%%%%%%%%%%%%888888%%%%%%%Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*:~+*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*************************************xxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
YYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*+~:=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV8%%%%%%%%%#Vx=++::~~-------~~~:++===Y#V**=:::+x8%%%%%888%8%8888888888888888888888888888888888888888888888888888888888888888888888888888%%%%8%%88%%%%%%%%8888888%%%%8Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=:~=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************************xxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
YYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=:~:=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY#%%%%%%%%%%@%%8#x+:~~-------~~~:++==*$Y+~:+=+::+*$%%8%8888888888888888888888888888888888888888###8888888888888888888888888888888888888888888888888888%%%%8%88888888%%8Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*+~:=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************************xxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxx
YYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=:~:=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY$8%%%%%%%%%%%%8%%#=::~~------~~~::++==x$+::~~+=+:::+Y8%%8888888888888##88888888888888888888888888###888888888888888888888888888888888888888888888888888888%88888888888888Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=:~+*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xx**************************************xxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYxxxx
xYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=::+*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$8%%%%%%%%%%%%#**Y8Y+::~~------~~~:+++==VV::~~--:**x**Y#%%888888888888#8#888888888#8888888888888888####88888888888888888888888888888888888888888888888#888888888888888888888Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*+~:=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x**************************************xxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxx
YxxYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=::+=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY#%%%%%%%%%%%%%#+~:*$*:::~~-----~~~~:+++=*$x:::+=*V$888$88%%8888888888888888888888888888888888888888888####888888888#888888#8888888#8888888888888888888888#88888888888888888888#VYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=:~:*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************xxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxYxxxxxxxxxx
YxxYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=+:+=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x$8%%%%%%%%%%%%%8*~:+VV+::~~~-----~~~~:+++=*#$YV$##88%%%%8#8%%%8888888888888888888888888888888888888888888#8#8888888888888888##888#888#888888888#88888888888###88888888888888888888#VYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*+~:=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x**************************************xxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYxxxxYxxxxxxxx
YYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=+:+=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**V8%%%%%%%%%%%%8%%8Vx**$*:::~~~-----~~~~::+==x%888888888%%%8####%888888888888888%8%8888888888888888888888888888#88888888888888888####888888888888888888888888888###88888888888888888888$Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=:~+*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************************xxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYxxYxYxxxxxYxxYxYxxxxxx
YYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*=++=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*Y#8%8888%%%888%88%%%8###V+::~~~~-----~~~~::+==Y%8%88888###$VVx*+x%888888888888888%8%8888888888888888888888888888#888888888888888888#####888888888888#88888888888888###8888#88888888888888#$Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*:~:=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xx**************************************xxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxYxxxxxxxx
YYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*==+=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x$8%%8888888888888%%%88888*+::~~~------~~~~::+==V%888#$VY*+:+==+:+V%8888888888888888%%888888888888888888888888888888888888888888888888######8888##88888888888888888888#8#88888888888888888888#$Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*+::=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****************************************xxxxxxxxxxxxxYxYYYYYYYYYYYYYYYYxYYYxYxxxYYxxYYxxYxxxxxxxxx
YYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*===**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*Y#%%888888888888888%8###88#=:::~~~--.---~~~~::+==V#$Y*=:~~-~:==::+Y8888888888888888%8%%8888888888888888888888888888888888888888888888888####8#888###88888888888888888888888888888888888888888888#$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*=::+*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*************************************xxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYxYYxYYxYYYYYYYxxxYxxxxxxxxxx
YYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*V8%88888888888888888%Y=+=*$Y+::~~~~--.--~~~~::++==VY=+:~~~~~+*=:~=V88888888888888888%%8%%88888888888888888888888888888888888888888888888888888##8888##888888888888888888888888888888888888888888888#VYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*=::+*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************************xxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYxxYYYYYxYYYxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***xxxxxxxxxxxxxxxxxxxxxxxxxxxxx**$88888888888888888888%V+~:=Y*+::~~~~-..----~~::++==Yx++:~~~~+*=::x#%88888888888888888%%%%%88888888888888888888888888888888%888888888888888888888##888888888888888888888888888888888888888888888888888#$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*=++=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************************************xxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYxYYxYxYxYxYxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**$%88888888888888888888%8*::*V=+::~~~--..----~~~:++==Vx:::++**YYYx$8%888888888888888888%8%%%888888888888888888888888888888888%888888888888888888888888#8888888888888888888888888888888888888888888888888#$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*=++**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************************xxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYxYYxxxYxxxxxxxxxxxxxxxxYxxx
YYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x#%8888888888888888888888%8VYYY=+::~~~--.----~~~::++==Vx=xV##888%%%%8888888888888888888%%8%%%888888888888888888888888888888888%%888888888888888888888888888888888888888888888888888888888888888888888888888#Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*===*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************************************xxxxxxxxxxxxxxxxxxYxYYYYYYYYYYYYYYYYYYxYxxxxYxxxxxxxxxxxxxxxxxYxx
YYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x#%88888888888888888888888%%888V=+::~~~------~~~~::++==V#88888888%%888888888888888888888%%%%%%888888888888%888888888888888888888%%888888888888888888888888888888888888888888888888888888888888888888888888888#$Yxxxxxxxxxxxxxxxxxxxxxxxxxx***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************************************x*xxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYxYxYYxYxxxxxxxxxYxxxxxYxxxx
YYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x#%888888888888888888888888%%%88$=+::~~~------~~~~~::+==V88###88%%%8%8888888888888888888%%%%%%%888888888%88%888888888888888888888%%8888888888888888888888888#888888888888888888888888888888888888888888888888888$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************************xxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYxYxxYxxYxxxxxxYxxxxxxYYxxxxYx
YYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x#888888888888888888888888888%@%%$=+::~~~--.---~~~~~::+==Y88##8#$$#8%88888888888888888%88%%%8%%%8888888888%88%888888888888888888888%%888888888%88888888888888888888888888888%8888888888888888888888888888888888888#Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************xxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYxYYxxxxYxxxYxYxYxYYxxYYxxYxxxxx
YYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx********xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x#%8888888888888888888888888888%%8$=+::~~~--..--~~~~~::+==x88##$Y*=*V8%88888888888888888888%%%%%88888888888%88%%888888888888888888888%%88888888%88888888888%8888888888888888%%8%888%8888%888888888888888888888888888#Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************************xxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYxxxxxxYYxxYYYYYxYYYYxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#%888888888888888888888888888888%%#*++:~~~--..---~~~~:::+=x#8#$x*===*V888%8888888888888888%%8%%88%88888%888%%88%8888888888888888888888%888888888%8888888888%%8888888888888888%%%88%8%888%%88888888888%88888888888888##Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************xxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYxxYxYxYYYYYYYxxxYxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*$%88%%88888888888888888888888888888%x++::~~--------~~~~~:++*#8Vx*=====Y88%8888888888888888%8%%%%$$%88888%888%%88%%888888888888888888888%%888888888%8888888888%%8888888888888888%%88%%%8888%88%8888%888%8888%8888888888##$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****************************************xxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*******************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*V8888%8%8888888888888888888888888888%V+:::~~~-------~~~~~~::=$8Y**=====Y%%%%888888888888888%8%8%%VY8%8888%8888%%8%%%%888888%8888888888888%888888888%8%88888888%%8888888888888888%%%888%8888%%8%%%888%888%888%88888888888##$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************xxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxx
xxxYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*******====*********xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*Y888888%%888888888888888888888888888%%#=+::~~~--..--------~~~:=V$Y*====*Y%%8%8888%%88888888888%8%8Vx8%88888%888%%%%%%%888888888888888888888%888888888%%888888888%%88%8888888888888%%888%%8888%8%%%888%%88%%888%%8888888888##$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************xxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxx
xxYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****=========*********xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#888%88%888%8888888888888888%%888888%%%x+::~~~~-------------~~~:+===****V%%%888888%88888888888%888Vx#%88888%8%8%8%%%%%8888888%8888888888888%%888888888%888888888%%%88%88888888%8888%%%8%%88%88%%8%%888%%88%%888%8888888888##$$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****************************************xxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxx
xYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xx******==========**********xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*$%88%88%8888888888888888888%8%%88888%%%%#=+::~~~---.---------------~+=***$%8%888888%888888888888888Y*$%88888%%%88%%%%%%8888888%888888888888888888888888%8888888888%%88%%8888888%88888%%88%88%%88%8%%888%%%88%8888888888#888#$$VVYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****************************************x*xxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYxxxYxxxxxxxxxxxYYxxxxxxxxxxxx
xYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************=========***********xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY888%88%%888888888%888%88888%%8%%8888%%%%%V=+::~~---.----------------~+==*#88%8888888888888888888888Y*V8888888%%888%%%%%%8888888888888888888888%888888888%88888%888%%%88%%8888%88%%8888%%8%%%8%88888%%888%%888%8888%8888$##$$YYxYVYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******************************************x*xxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYxxxYxxxxxxxxYxxxYxxxxxxxxxxxx
xxYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***********=*=========*********xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#888%88%888%88888%%88%%8888%%8%8%888%88%%%%Y++::~~--------------------+==x888%888%888888888888888888V*x#%88888%%888%%%%%%8888888%888##888888888%888888888%%8888%%888%%%88%%888%%8%%8888%%%%%%8%%88%88%%88%%%888888888#$$VxYx***==YVxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*******************************************x*xxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYxxYYYxYxxxYxYYxYYxxxYYxxxxxxxxxxxxxx
xxxxxYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x*************==========**********xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV88888%%888888888%%888%%8888%%8%88888%#$%%%88Y=++::~~----------------~:+=*V#8%%888%8888#8888888888888V**Y###888888$#%%%%%%%%%88888888#$#8#####$$88888888888%88888%888%%%88%%8888%88%%8888%%%%%%88%8%%8%%%88%8888##$VYYx***===+++===YYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xx****************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYxYYxYYYYYYYYYYYYYxYxYxxxxxxxxxxxxxxx
xxxxxYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x******************======***********xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#%8888%888888888%%%88%%%%888%%8888888%$V8%%888V*+++:~~~---~~~~~~~~~::+===x$#8%%888%888#V$####$$$$$VVYx***xxxxxxxxxxYYVVVVVVVVVVYYYYYYYxxxxxxx**xV88888888888%8888%8888%%%88%%88888%8%88888%%8%%88%%8%8888###$VVYYxx*====+++=+++++===YYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*********************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYxYYYYxYYYYYYYYYYYYYYxxYxxxxxxxxxxxxxxxxxx
xxxxxYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****************=*****===*************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV88888%8888888888%%88%%88%8888%8888888%$Y#%%%888$x*=++::::::::::::++=====*V$888#$$VVVYYxxxxxxxxxx*x*********************************************xY#%888888888%%888%%888%%%888%%8%88%8%%8888%%888#888###$VYYxxx**====+++:++:++=+::++++*YYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**********************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYxYYYYYxYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxx
xxxxxxYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$%8888%888888888%8888%%888888888888%8#8$xV888888#$YY*==++++++==========*YVYYYxxx***************************************===***********************xV%8888888888%8888%888%%%888%888%8888%8#888##$VVVVYxxx**======+++++::+::::::+=:::++=+xYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*******************************************x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYxxxYYYxYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************=**************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x88888%888888888888888%%888888888%%8$YYVYx*xxxxxxxxxxxxx**==========**xYYYx*******************************======+=++++++++::+++++++++++++++++==****Y8%888888888%8888%%88%%%88#8#$#8##$$#$YYVYYxx***====++++++++=+:+::+::::::::+=+:::+++=xYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*********************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYxYYYYYYYYYYYYxxxxxxxxxxxxxxxxxYxxxxxxxxx
xxxxxxxYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*V88888%88888888888%88888888888888%8Y*Y#88#$Yx***********xYYxxxxxxxxxYYxx******************=========++++++::::::~~~~~~~~--------~~~~~~~~~~~~~~:+=***x#%888888888%8888%%8%888#VYYx*xYxx**xx*=======++++++++::+++++++:::::::::::::+=+:::+++=YYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx********************************************x**x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYxYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x#8888%8888888888#8%8888##########8$*x$VYV$88#Vxx*************xxxx*************====+++++++::::::::~~~~~~~~~--~~::+=*xxx***====++++::::~~~~~~~~~+===**V888888888888888%%8%888$x**===*===+=*++++++++++++:+::::::+++++::::::+::::::+==+::++=+xVxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*********************************************xx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYxxxxYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYxxxxYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*V8888%888888888%8#888#############8VxYx****xY$88$Yx************************===++::::~~~~~~~~~~~~~~~~~---~~:=xV$$$VVYxx************====+++++::::+===**Y888888888888888%%88888$x===++*=++++=+++::++++:++:+:::::::+:+++:::::++:::++++*=++++===YYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**********************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYxYxYYYYYYYYYYYxxxxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYxxxYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************************xxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYxxxxxxx****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY888888888888888%##################8Vxx********x$88#VYx******************===++:::~~~~~~~~~~~~--------~~+*V#88#VY*==++++++++++++++++++++++++++++++====**#8888888888%8888%88%88#Y===++==++++=+:::::+:++:+::::::::::::+++::::++::+++++*x=++===*xVYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**********************************************x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYxYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************xxxxxxxxxxxxxxxxxxYxxxxxxxxxx************xxYV$$##888#####$$VVYYxx****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$88888##88888888#$##$$#$###########%$************x$8%8#Vx*VV*==**=**====++++:::~~~~~~~~~~~~~~~----~:*V#8%8$x*=+++++++++++++++++++++++++++++++++++=====*#%88888888888888%88%88#V*==+++=+++:=+:::::++:+++::::::::++::++++:::+=+++++++=xx*=*xxYV$Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYxYxYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*************************************xxxxxxxxxxxxxxxYYYYxxxx*******=============**xYYV$$###888888##8###$$VYxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY$$V$$$YY$#88888#$$$$$$$$$#$$#######88x*xxx**===****Y$8%%8$88Y*=++++++++::::::~~~~~:+:+=+:~~~~::+=x$8%%#V*=++++++++++++++++++++++++++++++++++=+++=======V%88888888888888%%8%888$*==+=+=++++++::+::++:++++:::::::+++:+++++++++=+++===*xYYYVV$###$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxx************************************xxxxxxxxxxxxxYYYYYxx*****==========+++++++++===**xxYV$$#################$$VYxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYx*=**=**V8888##$$$$$$$$$$$$$$######8%VV###$Yx=+++=*x*Y$8%%@@$x=++::::::::~~~~~~~~~:=++x$$$VYV$#8%%%#V*=+++++++++++++++++=====+++++++=====***===========V%88888888888888%%8%888$x==+=+=++++++::++:+++++++::+:++++++++++=+++==*=***xYY$###888888#VYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYxYYxxYYYYxYxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxx************************************xxxxxxxxxxYYV$$VVYYYYxx**===++++++++++++++++++++===*xYV$$$$##################$Yxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x=+++++=*##88###$$VVV$$$$$$$$$$$###8%@%%@@@@@%%8#Vx*xx**x$8%%$Y*=++:::::~~~~~~~~~~~:====xV#%@@@@%#Vx=+++++++++++++++=+==+++:::~~~::+++===*xxYYYYx*======$%88888888888888%%8%888#x====++++++++::+++++++==+::+:++++==++=====**xxYVV$##888%%8888888$Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYxYYxYxYYYYYYYxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYxYxYYYYxYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxx***********************************xxxxxxxYYV$#####$$$VVYYx**==++++++:::::::::::::++++==*xYV$$$$$$$$$$$$$$$#$######$Yx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**=++++==Y##88##$$VVVVV$$VVV$V$#88%%%@@@@@@@@@@@@@@%8#$Vx**xYYxxx*++::::::~~~~~~~~~~:+*====**Y##$x==++++++++++++====+++::~~:++=*xYVV$$$$$$$$VVVYVVVYx*===#%88888888888888%%8%888#Y*===+++++++++:+=++++++*+++++++===*==**YYYV$$##88888888%%8888888#$Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYxYxxxYYxYYYYYYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYxxYYxYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxx***********************************xxxxxxYV$##########$VVYxx**==++::::::::::::::::::+++=**xYVV$$$$$$$$$$$$$$$$$$$####$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x*=+++==*$#888##$VVVVVVVVVVVVVV$8@@@@@@@@@%#VYV$8%@@@%@%8Vx**xYxx*+:::::::~~~~~~~~~~~:===++======+=+=+++=+++===*==+++::+*Y$#8%%%@@@@@@@@@@@@@@%%%8888#Vxx#88888888888%88%%88%888#V*====+=++=+++++==++===**====**xxxVYV$$#888888888888%88%%88888888$$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYxYxYYYYxxYYYYYYYxYxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYxxxYxxYYxYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxx**********************************xxxxYV$#############$VVYYxx*=++::::::::::::::::::+++==*xxYVV$$$$$$$$$$$$$$$$$$$$####$xx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x=++===*Y##8888#VVVVYYVVVYYVVVV$$8%@@@@@%%Y+:::=$%%@@%@@@%#x*x**xx+::::::::~~~~~~~~~~~:+=+++=====+===+===+==xx*=++++*Y$8%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%8%%%888888888%88%8%8%888#Vx*=====+==++====**=*x*xYxYYVV$$$$88888%8%8%%8888888%88%8%8888888##Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYxxYYxYYYYYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYxxxYYxYxYYYYYxxYYYYYYxxxxxxxxxxxxxxxxxxxxxx*x********************************xxxYV################$$VVYYx*=++::::::::::++++++++++==**xxYVV$$$$$$$$$$$$$$$$$$$$$###8#YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY*x*=++===*V##8888#VVVYYYVYYxYYYVVV$$#%@@@@%Y:~~~:V%%%%%%@@@@@8Y****x=::::::::~~~~~~~~~~~~:+++======+========xYx*=++*Y#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%888888%8888%8%888#$x***=*******xxxxVVVV$$###888888888%88%%8%8%%8888888%8%88%8888$#####Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xx************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYxYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYYYYYYYYxYYxxYxYYYYYxxxx*xxxxxxxxxxxxxxxxxx*******************************xxY$#################$$$VVVYYxx*=+++++++++++++++++++====**xYVV$$##$$$$$$$$$$$##########VYx*x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x==+====x$##8#88$VVVYxYYYxxxYYYYV$$$#%@@@V+~~~~x%%%%%%%%%%@@@%$x**x*::::::::~~~~~~~~~~~~~~:+++===========*YY*==*Y#%@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%888%88%8%%88%%8#VYxxxYVV$$V$#####8888%8%%8%88%8888%888%88%%%%888888%8%8%888#$VYYY$#Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYxYYYYYYYYYYYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxYYYYYxxxx**xxxxxxxxxxxxxxxx*xx**************************xxxYV$$################$$$$VVVVVYYxx*=+++++++++++=+=+====***xYVV$######################$Vx***xx*x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xx=++====Y##88#88VVVVYxxYYxxxxYYYV$$V$8@@8=+::~=#%%%%%%888%%%@@%Vx**x+:::::::~~~~~~~~~~~~~~~:+++++++====*YVx**x$8%%8$V#%%%%%%%%%%%8%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@%%88%88%8%%88%%%88#$VV#888888%%888888%%%%%%888%88888888%8%%%8%888888%8888#$VYx*==*Y#$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYYYYYYxYYYYYYxxYYxYYYxxxx***xxxxxxxxxxxx*xxx*xx*x*********************xxYYVVV$$#############$$$$$$$$$$$VVYYYx**=============*****xxYV$$##################$##$Yx**x***xx****xx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x*=++====V##88888YVVYxxxxx**xxYYYVVVVV8@@V=++++Y%%%%%%%8888%%%%@%Vx*x=::::::~~~~~~~~~~~~~~~~:::+++++==*xVYxxY#8#Vx=+:Y8%%%%88888##8888888888%%%%%%@@@@@@@@@@@@@@@@%%888%88%%%%88%%%%%%8##8%%88888%8888888%%%%%888888888888%8%%%%%88888#V$$VYx**===++=*$$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**********************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYxYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYYYYxYxxxYYYYYxxxxYYYxxxxx***xxxxxxxxxxxxxxx*xx*xx******************xxYYxYYVVV$$$$$#####$$$$$$$$$$$$$$$$$$$VYYx*===********xxxxxxxxxxYYYYVVVVVVVVVVVVVVYYxxx*****x**x******xxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**x=++=====V##8888#YVVYx*xxx**xxxxxYVVVV8@%Y+++++Y###88####88888%%@%Y***:::::~~~~~~~~~~~~~~~~~~~::::++=*xVYxV##V=::~~~*8%%%%%88888#888#8#8888888%%%%%%%%%@@@@@@@@%%%88888%88%8%%8%%%%%%8%%88%%88888%8888888%%8%8888888888888%%%%%%88#$$VY***===++++++:+=V$Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx********************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYYYxxxxxYYYYYYxxYxxxYYxxxx****xxxxxxxxxx*x***xx*xxx****************xYYxxxxYYYVVVV$$$$$$$$$$$$$$###########$VVYxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxxxxxxxxxxxx********************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xx=++====*$#88888$YVVYx*x***=*xxxxYVYVV#@%x+:::+V88#######$$##88%%@#x*=:::::~~~~~~~~~~~~~~~~~~~~~~:+=*xVVV#$x+:~~~~~:V88888###$$$$$$$V$$$$######88%%%%%%%@@@@@%%8888888%%88%8%%8%%%%%%%%88%%%88888%8888888%%88888888888888888#$#$$VY**=++++:+++++:++::=x$VYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYxYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYxxxxxxxxxYYYYxYxYYxxYYxxxx****x*xxxx*x*x***x**xxxxxx************xxx****xxxxxxYYYYVVVVVVVV$$$###########$VVYYxxxxxxxxxxYYYxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************xxxxx*xxxxxxxxxxxxxxxxxxxxxxx*xV***=*===x##88#88VYVVx*****==*xxxxYYYVV#@%Y:---~V##%888%%%888##888%%Y**+:~~~~~~~~~~~~~~~~~~~~~~~~~:+=x$#8#x+:::~~~~~:YVY$$$$$###8%8888888%%%8888888%8%%%@@%%%8888888888%%88%%8%8%%%%%%8%88%%%88888%%888888%%%88888888888###$Yxxxx==+:::::::::+++:::+::+*$$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*******************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYxxxxxxxxxYYYYYxxYxxxYYxxxxx***********x***xxxxxxxxxxx*********xxxx*====*********xxxxYYVV$$$#########$VVYYYYYYxxxYxxxxYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxx*****************************x*xxxxxxxxxxxxxxxxxxxxxxx**$#VVVYYYYY$##88888YYVYx*****==*xxxxYYYYV$%@V:....*8$88#88%%%8%%%%%88%$x*+:~~~~~~~~~~~~~~~~~~~~~~~~~:+*$%%V=+:::~-----~=**#########8%%888%88%%888###8##%@%88%%88888888888%%8%8%%%8%%%%%%8%88%%%88888%8888888%%%88888##$$$VYxx*=+==+:+::::::::::::+:::+::+=$$Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYxYYYYYYYYYYYYYxxxxxYxYxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYYxxxxxxxxxYYYYYxYxYYxYxxxxxx*********x***xxxxxxxxxxxxx******xxxx**========+++++++===*xYV$$$######$VYYxYYYYYYYYYYYYxxxYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxx************************x*******xx*xx*xxxxxxxxxxxxxx*=Y88#8#######8#8888#YVVYx****===**x*xYYYYVV8@8=-...~V$V$$##8%###88%%%8%#x*=++::::::::~~~~~~~~~~~~~~~:+*#%8Y=+::~----. -V#$$$$$$$$88####888$###$$###8%#VY$%%88888888888%%8%8%%%%%%%%%%8%88%%%88888888888888###$VVYYx*=*==+++::+++:::~::::::::::+:::+:++=V$Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYxxxxxxxxxxYYYYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYYxxxxxxxxxYYYYxxYYxxYYxxxxxxx************xxxxxxxxxxxxxx****xxx***====++++++++:::::++*xYVV$$###$VYYxxxxYYYYYxYYYYxxxxYYxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**********************************x*xxxxxxxxxxxxxx**#888888888##8#8888#xVVx*=*======*x**xYYYVV#@%Y~. ....+V#$##$$#888##%#Y**==++:::::::::::~~~~~~~~~~:+Y%#x==+:~~-... +xV$VVVVVVVV$$######$$$$$##8##Vx**x#%88888888888%%8888%8%%%%%%8%8888%%8888888###$$VVYx***====+::+++:::::+++:::::::::+::::+:::::++=Y$VYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYxYYYYYYYYYYYYYYxxxxYYYYYYYYYxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYxYxxxxxxxxxxxYxYxYxxYxYxxxxxxxx*************xxxxxxxxxxxxxxx*xYx**====+++++++++::::::++*xYVV$$#$VYxxxxxxxYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxx***************************************x****x**xxx=x8888888888888#8888#xVVx*========*x**xYYYVV#%%8=- .~=Y$$$$$$$$$$$$$$V*=++::~~~~~~~~~~~~~~~~~~~~~~:+$8$====+::~~~~~--~:Y8VYVVVVVV$$$$$$$########$VYx*=***V%%88888888888%88888%8%%%%%888#$$##$V$VVVYYxx*====+++::::::::~::+:::::::+:::::::::+::::+::+:::+=x$VYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x**************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYxxxxxYYYYYxxxxxYxYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYxYxxxxxxxxxxxxxYYxxxxYxYxxxxxxxxx**************xxxxxxxxxxxx*xYx*=====++++++:::::::::+++=*xYVVVYxxxxxxxxxxxYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxxxx**********************************************x*=V8888888888888#8888$xVYx*========*x**xYxYV$#$$%$+:~~-~V8$V$VVVVVVVVYx*+:~~~~~----~--~~~~~~~~~~~~~~~~:+Y88V******=*****xxxY$#$$##$$$$VVVYYYxxxxxxx***=====*x#%888888888888%88%88%8%%%%%$$VYxxxxx**=====+++::++:::::::::::~::::~:::::+:::::::::++:+:+:+++++=*x$$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYxYxxxYYYYYxx*xxxYxxYYYYYYxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxYYxYYxYYxxxYxxxxxx**************xxxxxxxxxxxxYY**====+++++++::::::::+++++=*xYYxxxxxxxxxxxxxxxYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************************************xxx*xxxxxx*=*#8888888888888#8888$xVY**=======+*x**xxYYV$V*x#%V=+:++=$#$$$VVVVVY*++:~~~~~~--~------------~~~~~~~~~~:+Y#########$$$VVVYYxx**===+++:::++++++++===========*$%%88888888888%888%888%%%%%#Yx**=====+:::++::+:::++:::::::::::~::::::::::+:::::::::=+:++::====*YYV#$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYxxxxYYYYYx*=*xxxYxxYYxYYxx*xxxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxYxYYxYxxxYxxxxxxx*************xxxxxxxxxxxYY*=====++++++::::::::++++++==*xxxxxxxxxxxxxxxxxxxxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***********************************************+Y88888888888888#8888$xVY**===+====*xx*xxYYV$x**x$8$Y*==+=Y$###$Vx*++:~~~~~~~~-------------~~~~~~~~~~~~~~~=xxxxxx***==++++::::::::::::::+:++:+++++++++====*V8%%8888888%888%88888%%%%%%%$x*==+=+==+:::++:::::::::::::::::::~::::~:::::++:::::::+=+:===*xYYYV$$$#$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**********************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYxxxx*******==*xxxxxxxxxxxxxx*==**==*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxYYxxxxxxxxxxx**************xxxxxxxxxYx*====+++++++::::::::+++++===**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**********************************************+$%888888888888888888$xVY*====+===+=xx*xxYY$Y==**xYV$$#$$VVV$##Y=++:::~~~~~~~~~~----------~~~~~~~~~~~~~~~~~~::::::::::::::~~~~~~~~~~~~~~~:::::::::+++++===x#%%%888888%888%%88888%%%%%%8Yx==+==+=+::::++:::::::::::::::::::~::::::::::++:::::++=***xYYV$$#######$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x********************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYxxxxxx********xxxxxxxxxxxxxxxxxx*===*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xYxYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxYxxYxxxxxxxxx**************xxxxxxxxYx**===++++++++:::::::++++===**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxxxx********************************************=*#8#888888888##888888$xVY*====+===+=*xxxxxV$*==******xxxxxxxxY*+=+::::+==***=+:~~-----~---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::++===*$%%%888888%%88%%8%%88%%%%%%%$x*==+=++=+::::+:::::::::::::~::::::~:+:::+::::++++++=*xYVV$$######88888#$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxx********************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xYxYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxYYxxxxxxxxx*************xxxxxxxYVx***===+++++++++:::+++++===**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxx*******************************************+x#VYYVVVYV$$$$#8##888$xVx*====++==+=*xxxxxVY==**************x*+=+:+=*YVVV$$VVVY=~~~-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::++==*$%%%%888888%%88%8%%%88%8%%%%8Vx*=++=++=+:::++:::::::::::::~:::::::+++::+:++==**x*xV$$####8888888888888$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xYxYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxYYxxxxxxxxxxx*************xxxxxY$Yxxx*******=====++++++++==***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xx*xxxxxx******************************************=+xV=======****V####888$xVx*====++==++*xxxxxVx***************xx+=+::=YVVVYVVVVVVVY:~~--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::+++==Y%%%%88888%%%%8%%8%%8%%%8%%%%#xx=+++=:=+::~:+:~::::::::::::~:::::::+==+===*xYV$$$$$###88888888888888888$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYxYYxxxxYYYYYYYxxxxxxxxxxxxxxxxxxxxxYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxYYxxxxxxxxxxxx************xxxxY$VYYYYxxxYYxx****==*===+===**xxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxx**xxxxxx******************************************+=xx++++++++++=V####888#xYx*====++===+*xxxxxYx********=******x*+=+:::*YVVYVVVVVVV=~~~---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::++==x8%%%%88888%%%%88%8%%%%%%%%%%8Vx*+++=+:=+::~:+:::::::::::::::+++++==xxxxYYV$$#88888888888888888888888888$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*******************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxxxxYYYYYYYxxxxxxxxxx****xxxxxxxxxYxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYxYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************xxY$$VVVVVVVVVVYYxxxxxxxx**=****xxxxxxxxxxxxxxxxxYxYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxx******************************************+*x*++++++++++=V####888#xYx*====++===+=xxxxxVx==============*x*+=+::~~+YVVVVVV$V=~-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~-:::+++=*8%%8%888888%%88%8%%%%%%%%%%%8$xx=++=+:+=+::::+::::::::+:+++==***xYYY$$##8#888888888888888888888888888888Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x**************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxxxYYYYYxxxxxx**==***==*xxxxxxxxxxYxxYxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***********xx$#$$$$$$$$$$VVVYYYYYYYYYYxxxxxxxxxxxxxxxYYYYYYxxxYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xx*xxx*****************************************=+xx=++++++++++=V####888#YYx*=====+===+=*xxxYV*=======+++++++==x==++::~~:=xYYYx*:~~~~-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~-+++++=*#%%%%%88888%%%%8%88%%8%%%%%%8#Vx*=++=::+==+::+++++++==****xxYVV$$###8888888888%88888888888888888888888888Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******xx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxxxxxxxxxxxxxxxxx**====xxxYxxxxxxxxYxYxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxx*********xxV##$###$$$$$$$VVVVVVVV$VVVVYxxxxxxxxxxxxxxYYYYYYYxxYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****xxx*x****************************************+=x*+++++++++++=V$####8#8Yxx*=+===++==++*xxxY**======++:::::::+===++:::~~~~+*=::~~~~~~~-------~~~~~~~~:::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::+++++++*#%%8%%888888%%8%8%8%%%%%%%%%%8$x*=++=+:+=**=====*xxxYYV$V$$##888888888888888888%8888888888888888888888888#YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxYxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxx********xY########$$$$$$$VVV$$$$$$$$VxxxxxxxxxxxxxxxxYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******x*x***x************************************+*x=+++++++++++=V$####8#8Vxx*=++==++==++=xxxx+*======++:::::~~::+==++::~~~~:*x::::~~~~~~-~-~~~~~~~~~::::::::~:~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::+++*#%%8%%%8888%%%%8%8%8%%%%%%%%%8#VxYx*xx***YVVVV$$$$#####8888888888888888888888888%888888888888888888888888#YxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxx*****xx$#########$$$$$$$$$$######$YxxxxxxxxxxxxxxxxxYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***x*xx*xx**************************************==xx=+:+++++++++=V$####8##$xx*=++===+===+=*xxY~**=====++:~~~~~~~~::+=++:::~~:+xx+::::~~~~~~~~~~~~~~::::::~~~~~::::::::::~~~~~~~~~~~~~~~:::::::::::++++=#%%8%%%%8888%%%8%8%88%%%%%%%%%8#$$#$$###$$88888888888888888888888888888888888888888888888888888888#$##$VVYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxx*****xY##########$$$$$$$$$#######YxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****xx*xxx*************************************+*x*++:+++++++++=VV####8#8#xx**=+=======+=*xxVxVV======+:~~~~~~~~~~:++++:::::::xY*+::::::~:~:::::::::::~~-----~~~~:::::::::~~~~~~~~~~::::::::::::++=+=$%%8%%%%888%%%%88%88%%%%%%%%%%%%8888888888888888888888888888888888888888888888888888888888888##$$VVYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxYYYYYYYYYYxYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$##########$$$$$$$$$######VxxxxxxxxxxxxxxxxxxxxxYYYYYYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**x*xx*xx*************************************+xx=++++++++++++=YV####8###xx**=++=====*++**xxYV#*+====++:~~~~~~~-~~:+++++++:+xY+=xx*+:::::::::::::::~~-----------~~~::::::::::::::::::::::::::::+===V%%%8%%%%88%%%%888%8%%%%%%%%%%%%%88888888888888888888888888888888888888888888888888888##$$VVYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxx
xYYYYYYYYYxYYxYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY########$$$$$$$$$$$######$xxxxxxxxxxxxxxxxxxxxxxxYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxx*x*xx************************************==Yx=+++++++++++==YV$###8###V***=++=====*=+=**xYYV$*+===++:~~~~~~-----~:++++:+*=~---:+=+:::::::::::~~---------------~~~~::::::::::::::::::::::::++===V%%%8%%%%888%%%%8888%%8%%%%%%%%%8%888888%888888888888888888888888888888888888888##$VYVYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYxYYYYYxYxYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV#$$$#$$$$$$$$$$$$$$######YxxxxxxxxxxxxxxxxxxxxxxxxYYYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxx*xx***x********************************=x$x==++====+++===YY$#######$****+++====*=+=**xxxYV#x++==++:~~~~~-------~:~~~~~-------------~~~~~------------------~~~~~~~~~::::::::::::::::::++====V%%%8%%%%%8%%%%8%8888%%%%%%%%%%%8%88888888888888888888888888888888888888##$$VVYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YYYYYYYYYYYYxYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$$$$$V$$$$$$VVVVV$$$####Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxxx************************************=$#Y*Yxxxxxx****xxYV$####8###****=++====**=+=**xxxYV$V*+++++:~~~~~~------------------------------------------------~~~~~~~~~~~:::::::::::::::++==+=Y%%88%%%%%88%%%%%888%%%%%8%%%%8888%8888888888888888888888888888###$$VVYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYxxxxxxxxxxxxxxxxYxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxYYYYYYYYYYYYYYYYxYYYxYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYVYVVVVVVVVVVVVYYYVV$$$##$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxx***********************************=x88#########$$$$$$$######8##8Y=**=++=====*=+=***xxxYYVVY*=+++:~~~~-------------------------------------------------~~~~~~~~~~~~:::::::::::+++++++=Y8%888%%%%88%%%%8%888%%%8%%%8%8$88%888888888888888888888##YVVVYYxxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYxxxxxxxxxxxxxxxYYxYYxxYxYxxxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxYYVV$$#Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxx**********************************=V%888%888888888888888888#8##8$=***++======*+=***xxxYYYYVVVY*=+::~~~~-------------.--.--------------------------------~~~~~~~~~~~::::::::++++++++=V8%888%%8%%%8%%%%%88%%88%8%88%8V#8%%88888888888888##$$VYxxxx****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxYYYYYYYxxxxxxxxxxxYYYxYYxYxYxYxYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxYxxYYxYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY******=*========*xxYYV$VYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xx**********************************#8888%%8888888888888888888##88*=**=+====+=*=====*xxxYYYYYYV$VY*+:~~~~-------------....----------------------------~--~~~~~~~~~~~::::::++=+++==*x$88888%%8%%8%8%%8%%88%%88%8888%V$8%%88888888##$$VVYxxx****===+======***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x*xxxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxYYYYYYYxxxxxxxxxxxxYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxYxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY*====++++++++++++=*xxYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxxxxxxxxxxxxxxx*xxxx********************************=x#8888%%88%8888888888888888###8V+*x*=====++=*=====xxxxYYYYYYYYVVVY*+~~~~~~-----------.---------------------------~-~~~~~~~~~~~~::::+++===***xxx*Y#8888%%88%88888%8888%8888%8888Vx#888##$$VYYxxxxx***=++::~~~~~:::::::~~~::=**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x**xx*x*x**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYxxxxxxxxxxxxxxxxxYYYYYYYxxxxxxxxxxxYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxYxYYYYYYYYxYxxYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY*===+++++::::::::+==*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*==*xxxxxxxxxxx*xxxxxxxxxx*x********************************=Y88888%%88%88888888888%88888####*=*x*=====+=*=+===*xxxxYYYYYYYYYYYVVY=:~~~~-------------------------------------~~~~~~~~~~~::::+++==***xxxx**==*$%8888888888888888888%88888###Y*xVYYxxx*******===++::::::++++++:++++++++::~~:+=*xxxxxxxxxxxxxxxxxxxxxxxxxxx**************x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYxxxxxxxxxxxxxxxxxYYYYYYxxxxxxxxxxxYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxYYYYYYYYYYYxxxYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*===+++::::::::::++==****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******==*xxxxxxxxxx*=xxxxxxxxxxx*x********************************=V%8888%888%%8888888%888888888##8V=*x*==*===+=*=====*xxxYYYYYYYYYYYYYVVYx+:~~------------------------------~~~~~~~~~~~~~::::+++=**xxxxx**=======xV88888888888######$$$$VYYYYxxx***********=+++::::+++++++:::::::::::::::++++:+::::+*xxxxxxxxxxxxxxxxxxxxxxxx**************x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYxxxxxxxxxxxxxxxxxxYYYYxxxxYYYYxxYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxYxYYYYYYYxYYxYxxYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxYx====++++:::::::::++==****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxxxxxxx**=++=xxxxxx*=**==*xxxxxxxxxxxxxx******************************==#88888%8888%888888%%8888%88888#8#x****==*====*=++=+=*xxYYYYYYYYYYYYYxxxxYx=:~-~-----------------------~-~~~~~~~~~~~::::++=**xxxx**==++::::::++==x#%%8###VVVYYYxxxxxxxx********x****==++::::::++::::::::::::::::::::::::+:+++++++::::=*xxxxxxxxxxxxxxxxxx****************x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxYxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxYxYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxYx====+++::::::::::++===***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*=====*xxxxxxxxxxxxxx*=*xxxxxxx*=++*xxxxxxxxxxxxxxxx*****************************=*#88888%8888%88%8888%%888%8888888#$x***==**======+=+=***xxxxxxxxxxx*xx****xxx=+~~-------------------~~~~~~~~~~~~~::++=**xYYYx*=++:~~---.-----~:+=xV$VVYxx*x*x******xx*x***x*x**==++::::++++::::::::::::::::::::::::::::::::+::::::++:::+*xxxxxxxxxxx*x***********************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxYxxxxYYYYxYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxYx====+++::::::::::++===**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*===*xxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxxxxxxxxxxx*x*x***************************+x88888888888%88%8888%%888%%8888888#$x*x*=**==*=**===**************************x*=:~~------------~~~~~~~~~~~~::++=**xxYxx*=+:~~--.. ...---~::+++:::::=xxxxx*x**x***xxxx**==++:::++++:::::::::::::::::::::::::::::::::::::::::::::::+++::+=*xxxxx*xx*************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxYxYYYYYYYYYxYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxYx===+++++:::::::::++===**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxx****************************+x888888#888888%%%888%%%888%88%8888#8#x*xxx********x******************************x*=+:~--~~~~~~~~~~~~~~::+=**xxxxx**=:~~--.... ..--~~:::~~~~------~+*xxxxxxx*x***==+:::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::=*xx**x***************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxYxYYYYYYYYYYYYxYYxYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxYx===++++++::::::::++===***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxx***************************=x$8888%#$%888%8%%%%8%%%8%8%%8%88888##Vx*********************************************x*=:-.--~:~~~::+=*xxxxxxxx*=+:~---.............-~~~~-------------.---~:=xxxx**==+++++++::::::::::::::~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::+:::=*x****************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxYYYYYYYYxYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxYx*===+++++++++::::++===***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxxxxxx*=*xxxxxxxxxxxxxxxxxxxxxxxxxxxx******************************xYVVVYx$###8V$8###8888888$#888###$YYx*************************************************+~-~=xxxxxxYY$$*=*===+::~~---........---~~--................---~~::+==*==++++++:::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::+::+=***************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxYYYYYxYYYYYYYYYYYYYYYxYxYYYYYYxxxxxxxxxxxxxxxxxxxxxxY*===++++++++++++++==*****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**=**xxxxx*=+=xxxxxxxxxxxxxxxxxxxxxxxx*x*xxxx**************************************xx**xxxxxxxxxxx*xYYYxxx*******************************************************==*********YY+++++:::~~~--------~~~--... .......---~~::+++==+++:::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::+::+**************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxYx===++++++======****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**===***==+*xxxxxxxxxxxxxxxxxxxxxxxxxx*xxxxxx******************************************************************************************************************************xV=++::::::~~~~~~~~----... ....--~~::+====++::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::++:+=***********************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxYxYxYxxYYYYYYYYYYYYxYYYYYYxxxxxxxxxxxxxxxxxxxYx=======*=****xxxxYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*=======*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*******************************************************************************************************************==**********V*+++++++::::~~--......... ..--~~:::+**=+:::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::+++=**********************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxYxYxxxxxxxYYYYYYYYYYxxYYYYYYYxxxxxxxxxxxxxxxxxxxx******xxxxxYYYYYVV$$$$$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******************************************************************************************************************::=*********YYx====++::~~---.......... ..--~~::::++=+::~~~~~~~~~~~~~~~~~~~-~~~--~~~~~~~~~--~-------~----~~~~~~------~~~~~~~~~~~~~~~::::::::::::::::+++*********************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxYxxYYYYYYYxxxxYYYYYYYYYxxxxxYYYYYYxxxxxxxxxxxxxxxxxxYxxYYYYVVVVVVVVVVV$$####$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x*x*x*****************************************************************************************************************************YV*+::::::~~----..............--~~::::++++::~~~~~~~~~~~~~~~~~~-~------------------------------------------~----~~~~~--~~~~~~~~:::::::::::::::++*********************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxYYxYYYYYYYxxxYxYYYYYYYYYYYxxYYYYYYxxxxxxxxxxxxxxxxxYYY$$$$$$$$$$$$$$$$######Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******************************************************************************************************************************Vx:::::::~~~-----.........--~~::::::::::~~~~~~~~~~~~~~~~~~~----------------------------------------------------~~~~~~~~~~~~~~~~~::::::::::::::+=******************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYxxxxxxxxxxxxx
xxxxxxxxxxxxxxYYYYYYYYYYYxxYxYxxxxYYYYxxxxYxYYYYYxxxxxxxxxxxxxxxY$$#####$#$$$$$$$$$######Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************************************************************************************************xY+::::::::~~----......--~::::::::::~~~~~~~~~~~~~~~-~--~~----------------------------------------------------------~~~~~-~~~~~~~~~:::::::::::::+=*****************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxYxYxxxxxYxxxxxxxxxxxxxxxxYYYYYxxxxxxxxxxxxxxxx$########$$$$$$$$$######$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****************************************************************************************************************************x*:~~:::::~~---------~::++::::::~~~~~~~~~~~~-~~----------------------------------------------------------------------~~~-~~~~~~~~~::::::::::::::+=****************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYxxxxxxxxxxxxxxxV#########$$$$$$$$######$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************************************************************************************************xx+:~~~:::~~~~-~~~::++++:::::~~~~~~~~~~~~~~----------------------------------------------------------------------------~~-~~~~~~~~~::::::::::::::+=*=*************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxxxxxxxxxxxxxxxxxxx*
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYxxxxxxxxYYYxxxxxxxxxxxxxxxY$##########$$$$$$$######Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************************************************************************************************x=::~:~:~::~::++++++::::~~~~~~~~~~~~~~------------------------------~-~~~~~~-~-----~-----------------------------------~~--~~~~~~~~::::::::::::::++*=**********xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**
xxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYxxxYxYxxxxxxxxYYYYYYYV###########$$$$$$######$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************************************************************************************************************x*+:~~~~::++==++::::~~~~~~~~~~~~~~~--------------------------------~~~~~~~~~~~~~~~--~~----------------------------------~~--~~~~~~~~~:::::::::::::++==********xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxYxYYYYYYxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***x
xxxxxxxxxxYxYxxxYxxxxxxxxxxxxxxxxxxxxxxxYYYYYxxxYxYYxxxxxxYYYYYYYYY$##########$$$$$$$######Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************************************************************************************************************Y*+:::+++++:::~~~~~~~~~~~~~~~~~---------------------------------~~~~~~~~~~~~~~~~~~~~~~~~-~-----------------------------~~~~~~~~~~~~~~::::::::::::::+==*******xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYYYYYxxxxxYYYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxx****
xxxxxxxxxYYxYxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxYYYYYYYYYYV###########$$$$$$$#####$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************************************************************************************************************************xxx=++:::~~~~~~~~~~~~~~~~~~~--~---------------------------------~~~~~~~~~~~~~~~~~~~~~~~~-~~~~-~-------------------------~~~--~~~~~~~~::::::::::::::++==******xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYxYYYYYYYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*******
xxxxxxxxxxYxxYxYxYYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYY$########$$$$VVVVV$$$##$Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******************************************************************************************************************=++++==++::~~~~~~~~~~~~~~~~~~~--------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~-~-~-~~------------------------~~~~~~~~~~~~:::::::::::::::::+==****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxYxxYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx********
xxxxxxxxxxxxYxYxxYxYYxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxYYYYYYYYYV#######$$$$VVYYYYYVVVVVVxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*************************************************************************************************************=+::~:::::~~~~~~~~~~~~~~~~~~~~~-~--------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----~-----------------------~~~-~~~~~~~~:::::::::::::::::+=*****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxYxYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*********
xxxxxxxxxxxxxxxxxYYxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxYxxx$#####$$$VVVxx***xxxxxxxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*********************************************************************************************************=+:~~~~:::~~~~~~~~~~~~~~~~~~~~~~~---------------------------------~-----~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~---------~--------~-~~~~~~-~~~~~~~~~:::::::::::::::::+*****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***********
xxxxxxxxxxxxxxxxxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY##$$$VVYYxx*=++++=======**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******************************************************************************************************==+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--~-~--~---~--~~~~~~~~~--~~~~~~~~::::::::::::+:::::=*****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***********
xxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxYxxxxxxxxxxxxxYxxxV#VYYYxx*==++:::::++++===*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************************************************************************=+:~-~~::~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------~~~~~~-~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::+::::+=***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x***********
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYxxxxxxxxxxxxxxxYxYVVxx**==+++:::::::++++===*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***********************************************************************************************=+:~--~~:::~~~~~~~~~~~~~~~~~~~~~~~-----------------------~~~~~~~~~~~~-----~~~~~~~~~~~~~~~~~~~::::~:::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::++::::+=***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************
xxxxxxxxxxxxxxxxxxxxxxxxxYYxxxYYYxYxYxxxxxxxxxxYYYYYYxxxxxxxxxxxxxxYYYYYVx*===++++++::::::+++++=**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxx******************************************************************************************=+:~~~~::::::~~~~~~~~~~~~~~~~~~~~~~--------------~~~~~~~~~~~:::::::~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::++::::+*=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYxxxxYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******x*********
xxxxxxxxxxxxxxxxxxxxxYxxxxxYYxYxYYYYYxxxxxxxxxxYYYYYYYxxxxxxxxxYYYYYYYYYYY===+++++++::::::++++++==*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***x*x***xxxxxxxxxxxxxxxxxxxxxxx************************************************************************************==+:~--~:::::::::~~~~~~~~~~~~~~~~~~~~~------------~~:::::~::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::++++:::+=***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****x************
xxxxxxxxxxxxxxxxxxxxYYYYxYYxxYYYYYYYYxxxxxxxxxxxYYYYYYxxxxxxxxxYYYYYYYYYYYx===++++++:::::::++++++==*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**x************x*x*xxxxxxxxxxxxxxxxx************************=****************=**********************************====++::~----~::::::::~~~~~~~~~~~~~~-~~~~~~----------~~~~:::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::~~~~::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::++++:::+***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYxxxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****x*x**********
xxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYxxxxxxxxxxxYYYYYYxxxxxxxxxYYYYYYYYYYYY*=+++++++:::::::::+++++==*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**x*****************xxxxxxxxxxxxxxxxx*********************************=*******************=**=*******====+++::~~~~~~~~~~~::::::::~~~~~~~~~~~~~~~--------~-------~~~::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::~:++++++:+::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::+++++:::+*=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*******xxx**********
xxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYxxxxxYYxxxxYxYYxxxxxxxxxxxYYYYYYYYYYYx*==+++++++::::::::+++++==**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*******************xxxxxxxxxxxxxxx************************=*=****************=**************===+::~~-----~~~~:::::::::::~~~~~~~~~~~~~~~~~~~~-----~-----~~~:::::::::::::~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::+::::+++++++++::::::::::::::::::::::::::::::::::~~:::::::::::::::::::+++++:::+=*=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***x******x*********
xxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxYxYYYYYYYYYx*=+++++++:::::::::++++===**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**********************xxxxxxxxxxxxx************************=**********=**=***=***==***====+::~~~~~~::::::::::::::::::::::~~~~~~~~~~~~~~~~~~----~----~~::::+::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::+++::++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::+++++++:::+=***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*********x*x*x*********
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYxx*+++++++::::::::::++==***xxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*********************xxxxxxxxxxxxx****************************=*=*=*****=**=****==++::~~~~~::::+:::::::::::::::::::::::~~~~~~~~~~~~~~~~----~~~~~~:::++++:::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::+++++++++:::+*=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*********x*x***********
xxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxYYYYYYYYxxxxxxxxxxxxxxxxxxxxxYxYxYYYYYYYYYxxx*=+++++++:::::::+=*xxYVVV$Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**********************xxxxxxxxxxxx*************************=******=******===+::~~~~~:::+++::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~-~~~~~~:::++::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++:::=*=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x*********xxx***********
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYxxxxxxxxxxxxxxxxxxxxxYYxxYYYYYYYYYYYxx*=++++++++++++==*xYV$$####$Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***********************xxxxxxxxxxx************************=***=*****==+::~~~~:::++++:::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~::++++:::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::+++==++::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++:++=**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************xx**x*********
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYxxxxxxxxxxxxxxxxxxxxxxxxYxxxYxYYYxxxx*==+=++==*xxxxxxYVV$$######$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************xxxxxx************************=*=***==+::~~~~::+++++:+:::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~:::++++:::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::++++==++:::::::::::::::::::::::::::::::::::::++:++:::++++++++++++++++++:++***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************xxxxxx********
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYx*===**xVVVVVYVVVV$$$$######Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************x*xxxxx******************=******==+:~~~~::+++++:::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::++++++::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::++==++::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++x**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************xxxxx*********
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYYxxxxxYYxxxYYV$$$$$VVVVV$$$$$######$Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****************************x**********************==+:~~~~::+++::::::::::::::::::::~~::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::+++++++:::::::::::~~~~~~~~~~~~~~~~~~::::++++++++:::::::~~~~~~-~-~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::+++==++::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++=x**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****************xx*x********
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYxxxxxxYVVV$$###$$$$$$$VV$$$$$$#####$Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****************************x*****************===+~~~~:::+:::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::++++++++::::::::::~~~~~~~~~~~~~~~~:::+++++++++++++++++++++:::~~~~-~-~-~~~~~~~~~~~~~~~~~~~~::::::::::++++++==++::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++=Y**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x*****************xxx*********
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYxYYYxxxxxxxYV########$$$$$$$$$$$$$$$$$$$VVYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******************************x***********==+::~:::::+++:::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::+++++++++::::::::::~~~~~~~~~~~~~~~:::+++++++========++++++++++++::~~~~-~~~~~~~~~~~~~~~~~~~~~~::::::::::+++++++==++++:::::::::::::::::::::::::::::::++++++++++++++++++++++++++++=x**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx********************xxx*********
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYxxxxxxxxxV#########$$$$$$V$$VVV$VVVVVYx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************************=+:~--~~::++++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::++++++++:::::::::::~~~~~~~~~~~~~~~::+++++++========++===+++++++++++::~~~-~-~~~~~~~~~~~~~~~~~~~~:::::::::::+++++++x*=++++++:::::::::::::::::::::::::::::+++++++++++++++++++++++++==xx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******************x*xxxxx********
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYYYYYYYYYYYxxxxxxxxxY$########$$$$$VVVVVVVVYYYxx*===*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****************************x*=++:~-~~~:+++++++++:::::::::::~::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::++++++++:::::::::::~~~~~~~~~~~~~~~::++++++++==++++++++++==+++++++++++:::~~~-~~~~~~~~~~~~~~~~~~~~::::::::::+++++++++xYx===++++++::::::::::::::::::::::::::+++++++++++++++++++++++++==*x**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx********************x*xxxxx********
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxYYYYYYYYxYxxxxxxxxYV########$$$$VVVVVYYYYxx*==++++=**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************:-~:+++++++++++++++++::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::+++++++++:::::::::::~~~~~~~~~~~~~~~::+++++++++==+++++++++++++++++++++++:::~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::++++++++***====++++++:::::::::::::::::::::::::::+++++++++++++++++++++++++*x***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx********************x*xxxx*********
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYYYYxxxxxxxxxxxxxxxxxxxYYxxYYYYYYxxxxxxxxxxxY$#######$$$VVYYYYxxx*=++:::++++=**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*********************=--+==++==++++++++++++:::::~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::+++=+++++:::::::::::~~~~~~~~~~~~~~~~::++++++++++++++++++:::+++++++++++++:::~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::+++++:+=x*=======+++++:::::::::::~:::::::::::::::::++++++++++++++++++++++=****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*********************xxxxxxx*******
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYV########$VVxx****==+:::::::++++==*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******************+.~+==+++=++++++++:+:::::::~~~~~~~~~~~~~~~~~~-~-~~~~~~~~~~~~~~~~~~~~~~~~~::::+++=+++++:::::::::::~~~~~~~~~~~~~~~~~::++++++++++++++++:::::::::+++:+++:::::~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::+++++:+*x========+++++++::::::::~~~~~::::::::::::::::::::+++++++++++++::++*x**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xx*********************xxxxxx********
YYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY$######$$Y*===+++:::::::::::+++++=**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****************--+++:++++::::::::::::::::~~~~~~~~~~~~~--~-~---~~~~~~~~~~~~~~~~~~~~~~~~~::::+++=+++++:::::::::::~~~~~~~~~~~~~~~~~~::::+++++++++++++::~~~~~~~:::::::::::~~~~~-~~~~~~~~~~~~~~~~~~~~~::::::::::::+++++:=*x=+======++++++:::::::::~~~~~~~~::::~:::::::::::::::++:::::::::::+=****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxxxx**x*******************xxxxxxx*x*******
YYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV$####$VY*++:::::::::::::::::+++++==**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************~~=++++++:::::::~~~~~~~~~~~~~~~~~~~~~~--------~~~~~~~~~~~~~~~~~~~~~~~~::::+++==++++::::::::::~:~~~~~~~~~~~~~~~~~~~~::::+++++++:+::::~~~~~~~~~~::::~~~~~~~-----~~~~~~~~~~~~~~~~~~~::::::::::::::++:++*xx=+======++++++:::::::::~~~~~~~~~~~~~~::::::::::::::::::::::::::::+=*=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxxx************************xxxxxxxxx*******
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYV$#$$Yx*++:::::::::::::::::::::++++==**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*************=.:+++++++::::~~~~~~~~~~~~~~~~~~~~~----------~~~~~~~~~~~~~~~~~~~~~~~:::::+++==++++:::::::::::~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::~~~~~~~~~~~~~~~~~~~----~--~~~~~~~~~~~~~~~~~~~::::::::::::::++++=*xx++=======+++:::::::::::~~~~~~~~~~~~~~~~::::::::::::::::::::::~~::+=*=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxxxxxxxxxxxxxxxxxxxxxx**xxxx**xx********************x*xxxxxx********
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYV$VYx==++++:::::::::::::::::+++======**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************=-:+++++++::::~~~~~~~~~~~~~~~~~~-~----------~~~~~~~~~~~~~~~~~~~~~~~~::::++===++++:::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::~~~~~~~~~~~~~~~~~~~--------~-~~~~~~~~~~~~~~~~~::::::::::::::::+++*xxx++=======+++::::::::::::~~~~~~~~~~~~~~~~~::::::::::::::::::::~~~::+=*=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxxxxxxxxxxxxxx*xx***xx**************************xxxxxx*x*******
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYVYx*==+++++::::::::::::::+++==**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***********:-+++++++++:::~~~~~~~~~~~~~~~~-----------~~~~~~~~~~~~~~~~~~~~~~~~~~:::+++==++++++::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~--~--------~-~~~~~~~~~~~~~~~~~~:::::::::::::::::+=*xxx++=======++++::::::::::::~~~~~~~~~~~~~~~~~~~~::::::::::::::::~~~~:+=***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****x*xxxxxxxxxxxxxxxx*****xx****************************xxxx**x*******
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYx*===++++++::::::::::++==**xxYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**********~~++++++++++::~~~~~~~~~~~~~~-~--------~-~~~~~~~~~~~~~~~~~~~~~~~~::::::++===+++++:::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~--~~~~~~~~~~~~~~~~~~-~-----~------------~-~~~~~~~~~~~~~~~~~~:::::::::::::::::++**xxY=+=======++++:::::::::::~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::~~~::+***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******x*xxxxxxxxxxxxxxxx****x*x*****************************xxxxx********
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYx*==+++++++:::::::++=*xxYYYYVVVVVVVVVVYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*******=-:++++++++++:::~~~~~~~~~~~---------~~--~~~~~~~~~~~~~~~~~~~~~~~~::::::++===+++++:::::::::~~~~~~~~~~~~~~~~~~~~~-~~--~---~--~~~~~~~-~~~~-~-~------~-----------~~~~~~~~~~~~~~~~~~~::::::::::::::::::+**x*xY=+=======++++:::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::~~~~:+=x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***********xxxxxxxxxxxxxx***********************************xxxxx*********
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYxxxYxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYx*==+++++++::::++=*xYYVVVVVVVVVVVVVVVVVYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******+.=++++++++++:::~~~~~~~~~~~--------~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::++===++++++:::::::::~~~~~~~~~~~~~~~~~~~~~~-~-----~-~----------~---------~------~----~-~~~~~~~~~~~~~~~~~~~~:::::::::::::::::+=****xY*++=====+++++::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::~~~:+=***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*************xxxxxxxxxxxx*****xx******************************xx*x*********
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*==++++++++++=*xYYVVVVVVVVVVVVVVVVVVVYYxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****~~=++++++++:::::~~~~~~~~~--------~~~~-~~~~~~~~~~~~~~~~~~~~~~::::::::++====+++++:::::::::::~~~~~~~~~~~~~~~~~~~-~---------------------~--~------------~-~-~~~~~~~~~~~~~~~~~~~~~::::::::::::::::+:+=***x*xV*++=====+++++::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~::::::::~~~::+***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************xxxxxxxxxxxx****xx********************************x**********
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*==+++++++=xYYVVVVVVVVVVVVVVVVVVYYYYxxx*****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=-+++++++::::::~~~~~~~~~~~------~~~-~~~~~~~~~~~~~~~~~~~~::~:::::::::+++====+++++:::::::::::~~~~~~~~~~~~~~~~~~~----~---------------------~-------~---~-~-~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::+=******xVx++=====+++++:::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::~~~~:+=x**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x*x*****************xxxxxxxxxxx*************************************************
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYx*====+=*xYVVVVVVVVVVVVVVVVVVYYYYxxx**=====****xxxxxxxxxxxxxxxxxxxxxxxxxxxxx:~=+++:::::::~~~~~~~~~~~~-~-----~~~-~~~~~~~~~~~~~~~~~::::::::::::::+++=====++++++:::::::::~~~~~~~~~~~~~~~~~~~~--~---------------------------~--~~~~-~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::+=*x*****xYx++====++++++::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::~~~~:+=***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***********************xxxxxxxxx***************************************************
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxx*==*xYVVV$$$$VVVVVVVVVVVYYYxx**==+=========****xxxxxxxxxxxxxxxxxxxxxxxxx-:+++:::::::~~~~~~~~~~~~~~---~-~-~~-~~~~~~~~~~~~~~~~::::::::::::::++++=====++++++:::::::::~~~~~~~~~~~~~~~~~~~---------------------------~-~-~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::+=*xx******Yx+++===++++++::::::::::~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~::::::::~~~~:+***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*************************xxxxxxxxxx**************************************************
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYxxYVVV$$$$$$$VVVVVVVVYYYxx*=+++++++++++======*****xxxxxxxxxxxxxxxxxxx=.=++::::::::~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~:::::::::::::::++++======+++++++:::::::::~~~~~~~~~~~~~~~~~~~~---~----------------~---~-~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::+=*xxxx*****YY=+====+++++++::::::::~~~~~~~~~~~~~~~~~---~~~~~~~~~~~~~~~~~:::::~~~~:+=*=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************xxxxxxxxxx**************************************************
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYV$$$$$$$$$$$$VVVVVVYYYxx*=+++++++++++++++=====********xxxxxxxxxxxxxx:-=++:::::::~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::++++===**==+++++++::::::::::~~~~~~~~~~~~~~~~~~~~~---~-------------~---~~-~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::+=xxx*x**x***xY=+====+++++++:::::::~~~~~~~~~~~~~~~~~-~-----~~~~~~~~~~~~~~::::::~~~:+=***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****************************xxxxxxxxx***************************************************
**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYV$$$$$$$$$$$$VVVVYxx*==++++++++++++++++++====**xxxxxxxxxxxxxxxxxxx-~=++:::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::+++====**===+++++++::::::::::~~~~~~~~~~~~~~~~~~~~~~~~-----------~--~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::++*xxxxxxx*****xY=++===+++++++::::::::~~~~~~~~~~~~~~~-~------~~~-~~~~~~~~~~::::::~~~:++***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******************************xxxxxxx****************************************************
***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYV$$$$$$$$$$VVVYx**=++++++++++++++++++++===**xxYYYYYYxxxxxxxxxx*.+=++:::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::+++====***====+++++++::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~-~-~~--~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::+=*xxxxxxxx*****xY*++===+++++++::::::::~~~~~~~~~~~~~~~-~---------~-~~~~~~~~~:::::::~~~:+=**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*******************************xxxxxxx****************************************************
*****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYV$$$$$$$$VVYYx*=++++++++++++++++++++===*xxYYYYYYYYYYYYYxxxx= ==+::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::++++===***x*====++++++::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::+:+++=xxxxxxxxx*x*****Vx++===++++++++:::::::~~~~~~~~~~~~~~~~~-----------~~~~~~~~~~~:::::~~~:+=*=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*********************************xxxxxx****************************************************
*****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYVV$$$$$VVYx*=++++++++++++++++++++==*xxxYYYYYYYYYYYYYYYYY: *+++:::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::+++=====**xx*=====++++++:::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::++++=*xxxxxxxxx**x*x***Yx=+===++++++++:::::::~~~~~~~~~~~~~~~~--------------~~~~~~~~~:::::~~~:+=*=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************************************xxxx*************************======**********************
******xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYVVVVVYxx*=++++++++++++++++++===*xxYYYYYYYYYYYYYYYYYY~.*+++::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::+++====***xxxx*===++++++++::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~::::::::::::::::::++++++=*xxxxxxxxxxxxxxx**=xY=+===++++++++::::::~~~~~~~~~~~~~~~~~~-~------------~~~~~~~~~::::~~~:+=*=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************************x**************************=======**********************
********xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYxx**=====+++++++++++++===*xxYYYYYYYYYYYYYYYYYY~.*+++::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::++++====*=====**x=====++++++:::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::+++:++++=*xxxxxxxxxxxxx*x***==xV=+====+++++++::::::~~~~~~~~~~~~~~~~~----------------~~~~~~~~:::::~~~:+***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****************************************x***********************==========**********************
*********x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****=========++++++++==**xYYYYYYYYYYYYYYYYYYY~.*+++:::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::+++++++=====++::::+=**===+++++++:+:::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::++:++++=*xxxxxxxxxxxx********=xVV*=+==++++++++:::::::~~~~~~~~~~~~~~~~~---------------~~~~~~~~~::::~~~:+***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************************************************************=============************************
*********x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxYxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***==*================**xxYYYYYYYYYYYYYYYYYxY:.=+++:::::::::~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::++++++++=====++::::::::+=*=++++++++++::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::++++++==*xxxxxxxxx***********=xY=**=+===++++++++::::::~~~~~~~~~~~~~~~~~---------------~~~~~~~~::::::~~:+***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**********************************************************===============*************************
************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**===***==========**xxYYYYYYYYYYYYYYYYYxxY+.=+++::::::::::::~~~~~~~~~~~~~~~~~~~:::::::::::::::++++++++====+:::::::~~~~~:+=+++++++++++++:::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::++++++++=**x*xxxx*************==xY=:=*=+====+++++++::::::~~~~~~~~~~~~~~~~~-----------------~~~~~~~::::~~~:+**=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***********************************************************==============****************************
************x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxx***********==***xxYYYYYYYYYYYYYYYYYYYxY*.=+++::::::::::::~~~~~~~~~~~~~~~~~:::::::::::::+++++++++++===++::::::::~~~~~~~:++++++++++++++::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::++++++=**********======*******=xx=:+=x=+====++++++++:::::~~~~~~~~~~~~~~~~------------------~~~~~~~:::::~~:+=x=xxxxxxxxxxxxxxxxxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*************************************************************========*********************************
***************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******x*xxxxxx**********xxxYYYYYYYYYYYYYYYYYYYYYx-+=++:::::::::::::~~~~~~~~~~~~~::::::::::::+++++++++++++===++::::::::::~~~~~~~~~::::++++++++++++:::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~:::::::::::::::::::++++==********====++===******==xx+::++**+====++++++++::::::~~~~~~~~~~~~~~~~-----------------~~~~~~~:::::~~:+=x*xxxxxxxxxxxxxxxxxx*****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************************************************====*********==**************************
**************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****xxxYYYYYYYYYYYYYYYYYYYYYY~:=+++:::::::::::::::~::::::::::::::::::::+++++++++++++==++:::::::::::::~~~~~~~~~~~::::++++++++++::::::::::::::~:~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::++++==*****====++++++===*****==*x*+:+:++=*=+====+++++++::::::~~~~~~~~~~~~~~~------------------~~~~~~~~:::::~::=x**xxxxxxxxxxxxxxxxx***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**x*********************************************************************===**=***************************
*****************xxxxx*xxxxxxxxxxxxxxxxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****xxxYYYYYYYYYYYYYYYYYYY+-*=++:::::::::::::::::::::::::::::::::::++++++++++++==++:::::++::::::::~~~~~~~~~~~~~~::::+++++++++::::::::::::::::::::::~:::~::::::::::::::::::::::::::::::::::::++++==***===++++++++++==***x**==*x=+:::+++=*=+====+++++++:::::::~~~~~~~~~~~~~~~~----------------~~~~~~~~::::::::=x**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*********************************************************************=========**=*************************
****************x*xxx****xxxxxxxxxxxxxxxxxx*****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****xxxYYYYYYYYYYYYYY*.=*=++::::::::::::::::::::::::::::::++:+++++++++++++++:::::++++:::::::::~~~~~~~~~~~~~~~~:::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++=======+++++++++++++===******=***+::::+++++========++++++::::::::~~~~~~~~~~~~~~~----------------~~~~~~~~::::::::+x**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx********************************************************************===========***************************
****************x**xx*****xxxxxxxxxxxxxxx*******xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****xxxYYYYYYYYx-~x=++++::::::::::::::::::::::::::::++++++++++++++++:::::++++::::::::::::~~~~~~~~~~~~~~~~~~:::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::+++++=====+++::+++:+++++++===*****==*x*+:::::++++++==+====++++++::::::::~~~~~~~~~~~~~~~~----------------~~~~~~~::::::::+xx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**x****************************************************************============*=***************************
*******************xx*****xxxxxxxxxxxxx*********xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***x*x*xxxxxxxxxxxxxxxxxxxxxxxxxxx*******xxYYYY=.**=+++::::::::::::::::::::::::::++++++++++++++++:::::++++++::::::::::::::~~~~~~~~~~~~~~~~~~~::::::::::+::::::::::::::::::::::::::::::::::::::::::::++++++++===++++::::::::+++++++==*****==*x*++:::::+++++:+==+====++++++:::::::::~~~~~~~~~~~~~~~----------------~~~~~~~::::::::+xx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************************************============*===*==************************
********************xx****xxxxxxxxxxx************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******xxx-~x==+++::::::::::::::::::::::::+++++++++++++++::::::++++++++::::::::::::::::~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++::::::::+++++++===****==**x=+:::::::+++++::+=======++++++::::::::~~~~~~~~~~~~~~~-----------------~~~~~~::::::::+xx=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************************************=============*====*=************************
*********************x*****xxxxxxxxxx**************x*****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=-+x==+++:::::::::::::::::::::++++++++++++++++::::::+++++++::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::++++++++++++++++++:+:::::::::::::+++++===****==**x*+:::::::::++++:::+==+====+++++++:::::::~~~~~~~~~~~~~~~-----------------~~~~~~~:::::::+*x**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******************************************************************=====***=*=========***********************
**********************x*****xxxxxxxxx********************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=~=x==+++::::::::::::::::::++++++++++++++++:::::::++++++++::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::+++++++++++++++++:+::::::::::::::::::::::::++++++===***==**x*++::::::::::::::::::+=++====++++++::::::::~~~~~~~~~~~~~~-~---------------~~~~~~~::::::::*x**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************************************************************************===============*********************
****************************xxxxxxxx************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*:=x*=+++::::::::::::::++++++++++++++++++:::::::+++++++::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~:::::::::::::::::::::::::::::::::::::::::::::::::::+++++====*====*x*=+::::::::::::++:::::++==+=====++++++:::::::~~~~~~~~~~~~~~-~--------------~~~~~~~~~:::::::*Y**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***********************************************************************==============*=*********************
*****************************xxxxxxx*************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*:+x*=+++++::+::::::+++++++++++++=+++:::::::::++++++:::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::~~::~~:~~::::::::::::::+++++===*=**==***=+::::::::::::::::::::+:+==++====+++++++:::::::~~~~~~~~~~~~~-~---------------~~~~~~~~:::::::=Y**xxxxxxxxxxxxxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************************************************************=============***=*******************
*****************************xxxxxxx***************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=+*x*===++++++++++++++++++=====+++:::::::::+++++++:::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::+++++====**==**x*=+:::::::::::::::::::::::++===+======+++++::::::::~~~~~~~~~~~-----------------~~~~~~~~~:::::::=Y**xxxxxxxxx*xxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****************************************************************************=======*===*=*===******************
*****************************xxxxxxx****************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****************xxxxxxxxxxxxxxxxxxxxxxxx*xxxxxxxxxx*==xx*====+++++++++++======+++++:::::::::+++++++::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::+++++====*==**x*=+:::+:::::::::::::::::::::::+==++=====++++++:::::::~~~~~~~~~~~~----------------~~~~~~~~::::::::=x**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******************************************************************************=*========*=*=*=******************
*****************************xxxxxx******************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****x*x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxx******xxxxxxxx*=xYYx**===============++++:::::::::::+++++++::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::+++++========*x*=+::::::::::::::::::::::::::::++=*=++======++++::::::::~~~~~~~~~~~-----------------~~~~~~~~:::::::=x*=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*************************************************************************=**=======*======***=*******************
*****************************xxxxxx*******************************x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****xxxxxxxxxxx*xYYYxx********==+++::::::::::::::+++++++:::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::+++++=======**x*=+::::::::::::::::::::::::::::::+++==++======+++++::::::::~~~~~~~~~-~-----------~-~~~~~~~~~~~:::::::=xx=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxx*************************************************************************==*===*===*========*=*****************=*
*******************************xx************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****xxxxxxxxxxxYx*xxYYYYYYYx=++:::::::::::::::::++++++:::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::++++========*x*=+::::::::::::::::::::::::::::::::+++=*=++======+++++:::::::::~~~~~~~~-----------~~~~~~~~~~~~~~:::::::+xx=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYxYYYxYxxxxxxxxxxxxxxxxxxxx***************************************************************************=****==**======*==**********************=
*****=*****************************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****xxxxx**xYYYx***=***xVY=+:::::::::::~~::::+++++++:::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::++++========*x*=:::::::::::::::::::::::::::::::::::++++**+++======+++++::::::::~~~~~~~~~-----~--~~~~~~~~~~~~~~~~:::::::+xx=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYxxxxxxxxxxxxxxxxxxxxxxx*********************************************************************************==========***********************=
**=======****************************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****xxxx**xYYx*****=====xx=+::::::::::~~~~~:::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::++++======*xx*+:::::::::::::::::::::::::::::::::::::++++=x*++========+++::::::::~~~~~~~~~~-----~-~~~~~~~~~~~~:::::::::::+xY**xxxxxxxxxxxxxxxxxxxxxxxx*x**x*x*xxxxxxxxxxxxxxxxxYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxx*************************************************************************************===*==***************************
***=========****************************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**x***xYYx*******==*=*x=+:::::::::::~~~~::+++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::++++======*xx*+::::::::::::::::::::::::::::::::::::::++++++*x=++=======+++++::::::::~~~~~~~~~--~~~~~~~~~~~~~~~::::::::::::+*Y**xxxxxxxxxxxxxxxxxxxxxx*x********xxxxxxxxxxxxxxxxxYYYYYYYxxxxxxxxxxxxxxxxxxxxxxxx**********************************************************************************======*==*************************==
****==============***********************************************************xxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****xxx*=======**===*x*+::::::::::::~~~:::+++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::++++=====*xYx=+:::::::::::::::::::::::::::::::::::::::::+++++=x*=++=======++++::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::+*Y**xxxxxxxxxxxxxxxxxxxxx*xx***xxxxxxxxxxxxxxxxxxxxxxxxxYxYxxxxxxxxxxxxxxxxxxx*xxxx***********************************************************************************==**===***************************==
******==============**********************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xx****xx*=========***===*=+::::::::::::~~~~::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::++++====*YVY=+::::::::::::::::::::::::::::::::::::::::++++++++=*x*++========+++:::::::::~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::+=Y**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxx***************************************************************************************==******************************=
*************=======*********************************************************x*xxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****xx*===========***==*=++::::::::::~~~~~::+++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~::::::::::::::::+++====*Y$$VYxx*==+++:::::::::::::::::::::::::::::::::::+++++++==*x=++=======++++::::::::~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::+=Yx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****x*x***************************************************************************************==******************************==
*******************************************************************************x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****xx*========+=+==**===*=++:::::::::~~~~~~::+++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++====x$$VVYYYYYxx**==+++:::::::::::::::::::::::::::::::++++++====x*=++======++++::::::::::~~~~~~~~~~~~~~~~~~~~~~::::::::::::::+*Y**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****xxx************************************************************************************************************************==
*******====*=*******************************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****xx==+=======++++======*=++:::::::::~~~~~~~:++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++====Y$VVVVVVYYxx**=========+++::::::::::::::::::::::::+++++++====*x*=+=======++++::::::::::~~~~~~~~~~~~~~~~~~~~:::::::::::::::+*Yx*xxxx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****xx*x***********************************************************************=**************************************************
*******===========**************************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x*xxxxxxxxxxxxxxxx*xxx****xx*=++========+++++=====**++:::::::::~~~~~~~::++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++===x$VVYVYYYYxx*==++++++=========+:::::::::::::::::::+++++++======xx*=+=====+++++::::::::::~~~~~~~~~~~~~~~~~~~::::::::::++++===xVVx*****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****xxx***************************************************************************************************************************=
*******=*============************************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxxxxxxxxx*xxx******xx*=+==========++++++=====x=+:::::::::~~~~~~~~:+++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++=+=*#VVVVYYYYxx*=+++++++++++++===***=+::::::::::::::::+++++++====***xx=++=====++++++::::::::::~~~~~~~~~~~~~~~::::::::::+++++++===*YYx****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*******xx*************************************************************************************************************************===
******===============***********************************************************x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxx****xx=++=========++++++++=====x*++::::::::~~~~~~~~:++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++=V#VVVVYYYYx*=+++++++++++++++=*xYYVVVx=+::::::::::::++++++====*****Yx=++=====+++++::::::::::~~~~~~~~~~~~~~::::::::::::::+++++++++=**x***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****x**x***********************************************************************=**************************************************===
********=****=========************************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***xx*=++===========++++++++====*x++::::::::~~~~~~~~::+++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++=*#VVVVVVYYxx*=+++++++++++++++=xxYVV$###$Y*=::::::::+++++++====*****xY*++++==+++++++::::::::::~~~~~~~~~~~~~~~~~~~~~::::::::++++++++++====*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****xxx*******************====*************************************************************************************************=====
******========***===****************************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***Yx*=+============++++++++++====*=++:::::::~~~~~~~~~:++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++=++=Y$VVVVVVYYx*=+++++++++++++++=*xYVV$$$###8##Vx=::::+++++++=====******xY*+++=++++++++++:::::::::~~~~~~~~~~~~~~~~~~~~~~~~::::::+++++:::+++==**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****xx******************====*=************************************************=*************************************************======
***============**=********************************************************************xxxxxxxxxxxxxxxxxxxxxxxYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xYx*=+============++++++++++++===*x+:+::::::~~~~~~~~~::+++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++=V$VVVVVVYxx*=++++++++++++:++*xYYVV$$$$$$###88#Vx=++++++++====********xx=++++++++++++++::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::++:::::+++=**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx****x**xx***************==***************************************************==************************************************========
***============*=*********************************************************************xxxxxxxxxxxxxxxYxxxxxxYxxYYYxxxxxxxxxxxxxxxxxxxxxxxxxx*xxxxxxxxxxxxxxxxxxxxxxxxx**xYx*=+===========+=+=++++++++++====*x+:+:::::~~~~~~~~~~:++++++::::::::::::::::::::::::::::::::::::::::::::~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::++++++++++*$VVVVVVVYY*==++++++++++++:+=xYVV$$$$$$$$$$$###8#$Y*++++++====*********xx=++++++++++++++:::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::++=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****************************************************************************=***********************xx************************========
***=*==========**************************************************************************xxxxxxxxxxxxxxxxxxxxxYYYYYYYYxxxxxxxxxxxxxxxxxxxx*****xxxxxxxxxxxxxxxxxxxxx***Yx*=+==============+++++++++++++====*x++:::::~~~~~~~~~~~:+++++::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::++++++++++x$VVVV$VVVYx*===+++++++++++*xYV$$$$$$$$$$$$$$$###88#V*=+=====***********x*+++++++++++++++:::::::~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~:::::::::::::+==*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*****x********************************************************************************************xxxxxxx**********************=========
=**==*========***************************************************************************xxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYxxxxxxxxxxxxxxxxxxxxx****x*xxxxxxxxxxxxxx*=*xx*=================++++++++++++++====*Y=+:::::~~~~~~~~~~:++++++:::::::::::::::~:::::::::::::::::::::::::::~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::++++++++++x#VV$$$$VVYxx**=====++++++=xYVV$$$$$$$$$$$$$$$$$###88#Y=====********xx***x*++++++++++++++:::::::~~~~~~~~~~--~~~-----~~-~--~~~~~~~~~:::::::::::++==*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*******x******************************************************************************************xxxxxxxxx********************==========
===*=====*=====*==************************************************************************xxxxxxxxxxxxxxxxxxxxxxxxYYYYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***xY*================+==+=++++++++++++=====x*+:::::~~~~~~~~~~:+++++::::::::::::::::~~~~:::~::::::::::::::::::::::~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::++++++++++xY*xYVVVVVYxxx**=======++=*YV$$$$$$$$$$$$$$$$$$$$$####Vx**=*********xx*x**x=+++++++++++++:::::::~~~~~~~~--------------------~~~~~~~~~::::::::::::+=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx******x***x******************************************************************************xxxxxxxxxxxxxxxxxxx*****************============
*==*===========*===**************************************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***Y#8#$$VVYxx**=====+==+=++=+++++++++++++====*x+:::::~~~~~~~~~~:++++:::::::::::::::::~~~~~~~~~~~~~~:::::::::::::::~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::+++++++++=*=:::++=***x*****==*======xVV$$$$$$$$$$$$$$$$$$$$$$$$VY*=********x*xx*xx**xx=+++++++++++++:::::~~~~~~~~~----------------------~~~~~~~~~:::::::::::+==*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx***************************************************************************************xxxxxxxxxxxxxxxxxxxxxx****************=============
***=====*==*==*******************************************************************************x*x*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**Y#%%%%%%%%%%88##$VY*===++++++++++++++++++=====x=+::::::~~~~~~~~:++++::::::::::::::~~~~~~~~~~~~~~~~~~::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::++++++++====:::::::::++==*******===*xV$$$$$$$$$$$$$$$$$VVVVVVVYYx*===*x******xxxxxx**x*+++:++++++++++:::::~~~~~~~------------------------~~~~~~~~~::::::::::::+=*xxxxxx*xx*xxxxxxxxxxxxxxxxxxxxxxxxxxxxx*******x******************************************************************************xxxxxxxxxxxxxxxxxxxxxx****************==============
*****=*======*=******************************************************************************x*xxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xV8%%%%%%%%%%%%%%%8888#$Vx*++++++++++++++++==*==x*+::::::~~~~~~~~::+++::::::::::::::~~~~~~~~~~~~~~~~~~~:::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::++++++++++==+:::::::::::::+=*******xYV$$$$$$$$$$$$$$$VVVVYYYxxx**==+==***x*x**xxxxx***x=+:::+++++++++::::::~~~~~~~------------------------~~~~~~~~~::::::::::::+==*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx********x****x*********====*******************************************************xxxx*xxxxxxxxxxxxxxxxxxxxxx**************================
********==*=*=*=*******************************************************************************xxx****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*Y#888%%%%%%%%%%%88888888888#Vx=++++++++++++++=**=*x=+::::::~~~~~~~::++::::::::::::::~~~~~~~~~~~~~~~~~~~~:::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::++++++++++==*+:::::::::::::::++*xxxxYV$$#$$$$$$$$$$$$VVYYxxx**==+++++===***x*x*xx**x**xx+:::+++++++++::::::~~~~~~~--------------------------~~~~~~~~~:::::::::::+==*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx************x******===*==********************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxx************===================
*********===*=*==*******************************************************************************xxxx****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*Y$88#8%%%%%%%%%88888888888888888#Y=++++:::++::+=**==x*+::::::~~~~~~~~:+++:::::::::::::~~~~~~~~~~~~~~~~~~~~~::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::++++++++=+====*+::::::::::::::::::=*xV$$#####$$$$$$$$VVYxx**==++::::++++===*****x*******Y*+:::+++++++++:::::~~~~~~~~-------------------------~~~~~~~~~~::::::::::::+=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx********************==**********************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxx**************==================
***********=*=**********************************************************************************x*xx****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*x$88#88%%%%%%%%888888888888888888#88#Y=+::::::::+=**==**=+:::::::~~~~~~:+++:::::::::::::~~~~~~~~~~~~~~~~~~~~~~::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::+++++++=+===+**+::::::::::::::::::::=xV$########$$$VYx*=+++::::~~~:::+++===*************Y=:::++++++++::::::~~~~~~~~~---------------------------~~~~~~~~::::::::::::+=*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*******************************************************************************xxxx***xxxxxxxxxxxxxxxxxxxx************======================
*************=**********************************************************************************x*xx******xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xV88##8%%%%%%%888888888888888888#8#######x+:::::+++=====*x*++::::::~~~~~~::+::::::::::::::~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::+++++++=====+*x+:~::::::::::::::::::::=x$#######$Yx*=+::::~~~~~~~~:::+++===************xx+:::+++++++:::::::~~~~~~~~~--------------------------~~~~~~~~:::::::::::::+==*xxxxxxxxxxxxxxxxxxxxxxxxxxxxx*******************************************************************************xxx******xxxxxxxxxxxxxxxxxx***********=**=====================
*****************************=*********************************************************************x******xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xV#8##8%%%%%%%8888888888888888888#########88V=:+::++++=**==xx=+::::::~~~~~~::++::::::::::::::~~~~~~~~~~~~~~~~~~~~~~::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::++++++=====+=x+~~:::::::::::::::::::::+*V$##$$Yx*=++::::::~~~~~~~::::+++==************x*:::++++++++::::::~~~~~~~~~~---------------------------~~~~~~~::::::::::::::+=*xxxxxxxxxxxxxxxxxxxxxxxxxxxx******************************************************************************xxx*****xxxxxxxxxxxxxxxxxx**************=======================
*****************************************************************************************************xx****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xV#8##88%%%%%888888888888888888#8###########888$=+++++++=***=xY*++::::::~~~~~::+:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::++++======+=x+~~~::::::::::::::::::::::=Y$VY**==+++:::::::~~~~~~~::++=***************x=:::++++++::::::::~~~~~~~~~~~-------------------------~~~~~~~~~:::::::::::::+=*xxxxxxxxxxxxxxxxxxxxxxxxxxx*****************************************************************************xxx***xxxxxxxxxxxxxxxxxxx**************=========================
********************************=*******************************************************************x**x****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xV#88#8%%%%%%88888888888888888#8###########8888#88$=++++++=****=YY=+:::::::~~~~:::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::~~~~~~::::::++++=====++=x=~~~:::::::::::::::::::::::=xx*====++++::::::::::::::+=*xxxxxxx*******=xx+:::+++++++::::::~~~~~~~~~~~--------------------------~~~~~~~~~:::::::::::::+=**xxxxxxxxxxxxxxxxxxxxxxxx***********************==****************************************************xxx****xxxxxxxxxxxxxxxxx***************========*=================
******************************************************************************************************x*****xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*xV#88#8%%%%%8888888888888888888############88#8##8888$=++++==****=x$*=+:::::::~~~:::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::++++======+=x=~~:::::::::::::::::::::::::=**====++++::::::+++++==*xxYYYVYYVx*******=Yx+:::++++++::::::::~~~~~~~~~~--------------------------~~~~~~~~~:::::::::::::+=**xxxxxxxxxxxxxxxxxxxxxxx*******************======**************************=************************xxx****xxxxxxxxxxxxxxxxx***************=**=*======================
**********************************=*******************************************************************x*x***xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV#88##8%%%8888888888888888888###########88##88#88#88888Y++++==****=*$Y=+:::::::~~~::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::++++======+=x=~~:::::::::::::::::::::::::+***=====++++=======*xYYYVVVV$VV$Vx********Y*+:::+++++::::::::~~~~~~~~~~~~-------------------------~~~~~~~~~:::::::::::::+=***xxxxxxxxxxxxxxxxxxxxx*****************=====****************************==************************xxx****xxxxxxxxxxxxxxxx***************===****=====================
**************************************************************************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxV#88##8%%88888888888888888888#########8#8###8#8888888888%#*+====****==VV*=+:::::::~~:::::::::::::::::::::~~~~~~~~~~~~~~~~-~~~~~~:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::++++======+=x*:::::::::::::::::::::::::::+=x*=******xxxxxxxxYVVVV$$$$$$$##Vx********Y*::::++++:::::::::~~~~~~~~~~~~-------------------------~~~~~~~~~~::::::::::::+=**xxxxxxxxxxxxxxxxxxxxx***************************************************************************xxxx***xxxxxxxxxxxxxxx*************==**=******=====================
**************************************************************************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxY#8####88%888888888888888888########8####888##8888888888%%8%V+====****==VYx=+::::::::~:::::::::::::::::::::~~~~~~~~~~~~~~~~-~~-~~~~:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::+++++=+===+=Y*:~:::::::::::::::::::::::+++=xxxYYYVYVVVVVVVVVVVVV$$$$$#$$##Vx*******xY*+:::++++:::::::::~~~~~~~~~~~~--------------------------~~~~~~~~~~:::::::::::+=**xxxxxxxxxxxxxxxxxxx****************************************************************************xxx****xxxxxxxxxxxxx****************====******=*===================
***************************************************************************************************************xxxxxxxxxxxxxxxxxxxxxxxxV#8####8%8888888888888888888#########8##8#88888888888%8%88%8%%#*===*****==YYx=+::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~-~---~~~~:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::+++++====+=Yx:~~~:~:::::::::::::::::+++++=xV$$$$$$$$$$$$$$$$VV$$$$$$$$$#$Y********xY*+:::++++:::::::::~~~~~~~~~~~~~~------------------------~~~~~~~~~~~~~::::+:::+***xxxxxxxxxxxxxxxx********************=====****************************=***********************xxxx****xxxxxxxxxxx****************====*********====================
****************************************************************************************************************xxxxxxxxxxxxxxxxxxxxxV#8####8888888888888888888888#######8##8888888888888888%8%8%%8%%%Y===****==*Yx*=+:::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~---~~~~:::::::::::::~::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::+++++===++=Yx:~~:~::::::::~::::::::++++++=x$######$$$$$$$V$VV$$$$$$$$$$$$x********xY*+:::++++:::::::::~~~~~~~~~~~~~-------------------------~~~~~~~~~~~~~::::::::+***xxxxxxxxxxxxxx******************========***************************************************xxxx****xxxxxxxxxxx*****************===**********====================
*************************xxxxx**********************************************************************************xxxxxxxxxxxxxxxxxxxV#8###88888888888888888888##########8#8888888888888%8%888%%%8%8%8%%V===*=====*Yx*+++::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~--~--~~~~~:::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::+++++++==++=YY+~~~~~:~~~~~~::::::::++++====Y$######$$$$$$$VVV$$$$$$$$$$$$V**********x*+::::+++::::::::::~~~~~~~~~~~~~~----------------------~--~~~~~~~~~~~~~::::::+xx*xxxxxxxxxxxx****************======******************************************************xxxxxx****xxxxxxxxxx******************************=====================
*************************xxxxx***********************************************************************************xxxxxxxxxxxxxxxxV#8###88888888888888888888########88#8888888888888%8%%8%88%%%%8%88%%%V=========YYx=+++::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~------~~~~:::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::++++++++++=YY+~~~~~~~~~~:~:::::::++++====*V$$####$$$$$$VVVVV$$$$$$$$$$#$x************+::::+++:::::::::~~~~~~~~~~~~~~~~------------------------------~~~~~~~::::::+YY*xxxxxxxxx*************************************************************===*==*********xxxxxxxx****xxxxxxxxx******************************======================
****************************xxx*xxx********************************************************************x**********xxxxxxxxxxxxx$#8##888888888888888888888########8888888888888888%8%8%88%%8%%%%%%%%%%%V=========Vx*=+++::::::::::::::::::::::::~:::::~~~~~~~~~~~~~~~~~-------~~~~::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::+++++++++++xV=~~~~~~~~~~::::::::++++=+===xV$$#$$$$$$$$VVVVVVV$$$$$$$$$$Y**********=*x=::::+++::::::::::~~~~~~~~~~~~~~~~~-----------------------~~:+*xYYVVVYYxx*=+=YY*xxxxxxx**********************************************************=======*=********xxxxxxxxx*****xxxxxxx********************************======================
=*====***==*=***************xxxxxxx*******************************************************************************xxxxxxxx*xY$88#8888888888888888888888########8#8888888888888888%8%88%8%%%%%%%%%%%%%%Y========*Yx*+++:::::::::::::::::::::::~~~~:::::~~~~~~~~~~~~~~~~~~~------~~~:::::::::::::::~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::++++++++++*Yx+:~~~~~~~::::::::++++=====*Y$$$$$$$$$$VVVVVVVVVV$$$$$$$$Y***********==**+::::+++::::::::~~~~~~~~~~~~~~~~~~-----------------:+=xYVV$$##8888%88%888#$$#Y*xxxx**********************************************************=========************xxxxxx*****xxxxxxxx***********=*********************=====================
===========**==***************xxxx*********************************************************************************xxxxxxxV#88888%%8888888888888888########88#88888888888888%8%8%8%%%8%%%%%%%%%%%%%%%8x==****==Yx*=+++:::::::::::::::::::::~~~~~~~~~::~~~~~~~~~~~~~~~~~--------~~~~::::::::::::::~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::++++++++++=***=:~~~~:~::::::++++=======*V$$$$$$VVVVVVVVVVVVVVVVVVVVVV*************=*x=+:::+++:::::::::~~~~~~~~~~~~~~~~~------------~+*V$##########888888888888####Yxxx*********************************************************=========**************xxxxx******xxxxxx**********************************======================
==================********************xx***************************************************************************xxxxxV#88888%8888888888888888#########888888888888888888888%888%8%8%%%%%%%%%%%%%%%V****=+=+*Y*=++:::::::::~~~~~:::::::::~~~~~~~~~~:~~~~~~~~~~~~~~~~-----------~~~:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::+++++++++++==*x*:~~~:::::::++++==+=====Y$$$$$VVVVVVVVYYYYYYYYYYYYYxY**************=*xx+:::++++:::::::::~~~~~~~~~~~~~~~~~-------~+xV##############888888888888####$Y*********************************************************=========****************xxxxx*******xxxxx***********************************=====================
===================********************xx*************************=*************************************************xY$888888%888888888888888#8########88888888888888888888%8%%8%%%%%%%%%%%%888888%%8Y*=++=**=Yx*=+::::::::::~~~~~::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~-~-~---------~~~:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::+++++++++++++=**=+:~::::::+++++=+=====x$$$VVYYYYYYYYxx*******xxx**xx***************=*x*+:::+++::::::::::~~~~~~~~~~~~~~~~---~+x$8888#############88888888888%8####$x*********************************************************======******************xxxx*********xxx**************=*********************=====================
====================*************xxx****x*************************=***********************************************xxYVVYYYxxx****xxxYYYV$#8888#####8##888888888888888888%88%%%%%%%%%%%8888####88##VY*===****=*Y*=++::::::::::~~~~~::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~~~::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~-~~-~~~~~~~~~~~~~~~~~::::::::++++++++++++++===+::::::+++++++++===xVVVYxx*****====++++++======xx****************==*x=::::+++::::::::::~:::~~~~~~~~~~~+x$88888888#############8888888888%88#####Y********************************************************=**=*=*********xxxxx***xxxx**********xx*************************************=====================
=====================************xxxx****xx*****************************************************************x****xYx=++:::::::::::::::::+=*YV####8##88888888888888%8%8%8%88%%8%88888######88#$VYx***********=xx==+::::::::::~~~~~~~::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------~~~::::::::::::::~~~~~~~~~~~~~~~~~~~~~~--~-~-~--~----~-~~~~~~~~~~~~~~~:::::::++++++++++++++++===+::+++++++++++++xxxxx**==++++:::::::++++++==*******************===**+::::+++::::::::::::~~~~~~~-~=V#88888888888#8##########8#888888888888#$$##Y*********************************************************************xxxxxx**xxxx***********xx*************=***********************=====================
======================**********x**xx*****x****************************=***************************************xYV*++:::::::::::::::::::::::+=xV$#8#88888888888888%8%8%%%%%%88#######888#$VYx**************=*x*=++:::::::::~~~~~~~~::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------~~~:::::::::::::~~~~~~~~~~~~~~~~~~~~~~----~-~------------~~~~~~~~~~~~~::::::::++++++++++++++++=*=+:+++++++++++=x***===+++++:::::::+++++++==********************===***+::::++:::::::::::~:~~~~~=V#8888888888888888############88888888%888$$$##Y********************************************************************xxxxx***xxxx**********x**************************************======================
======================**************x*****xx******************************************************************xVY=+:::::::::::::::::::::::::::::+x$88888888888888%8%%%%%%88#####8888#$Vx******************==*x==+::~:::::::~~~~~~~~::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~------------~~~::::::::::::~~~~~~~~~~~~~~~~~~~~~~~---------------------~~~~~~~~~~~~~:::::::+++++++++++++++++=*=+++++++++++=*===+=++++++++++::++++++++==********************=*===*x*+:::::+::::::::::~~~~=V#888888888888888888############88888888%888#$$$##Y*******************************************************************xxxx***xxxx***********x***************************************=====================
=====================*************x*******xxx****************************************************************xVx+++:::::::::::::::::::::::::::::::+*V888888888%88%%%%%%88####888#VYx**********************==x*=++:~~::::::~~~~~~~-~::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------~~:::::::::::~~~~~~~~~~~~~~~~~~~~~~~-------------------------~~~~~~~~~~~~::::::++++++++++++++++++=**+++++++++**===++++++++++++++++++++++==********************=****==*x*+::::::::::::::~~:x###88888888888888888888#############8888888888#$$$##Y********************************************************************xxx*xxxxx***********x**************************************======================
======================*********************xxx**************************************************************xV*++++::::::::::::::::::::::::::::::::::*#%8888%88%%%%%888###88#Vx**************************==*x==+::~~::::::~~~~~~~~~::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~-----------~~:::::::::::~~~~~~~~~~~~~~~~~~~~~~~---------------------------~-~~~~~~~~~~:::::+++++++++++++++++++=x*++++++=***==++++++++++++++++++++++==*********************=*****==*x*+::::::::::::~+V888888888888888888888888888##########888888888%8#$$$##Vx********************************************************************xxxxxx**************************************************=======================
=======================*********************xx**********************=**************************************xYx++++::::::::::::::::::::::::::::::::::::=#%88%8%%%%%88###88#Vx*****************************=*x*=++::~~::::::~~~~~~~--:+::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~-----------~:::::::::::~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------~-~~~~~~~~~~:::::+++++++++++++++++++*x*+++=*x****=====++++++++++++++++==*********************=********==*x*=::::::::::=#88888888888888888888888888888###########88888888%8#$$$#8Vx********************************************=***************x*****xxxxxxxx**********************************************===========+============**
========================********************xxxx**********************************************************xY*++++:::::::~::::::::::::::::::::::::::::::=#%8%%%%88####88$x****x**************************==xx=+++::~~::::~~~~~~~~~--~++:::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------~::::::::::~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------~~~~~~~~~::::::++++++++++++++++++=xx*=*xxxxxx****===++++++++++++++==********************************===**=+:::::~*8%88%8%8888888888888888888888888##########888888888%8#$$$#8$x***************xx********************************===******xxxxxxxxxxxxxxx*******************************************=========================****
======================*=********************xxxxx******************====**********************************xY*++++::::~~~~::::::::::::::::::::::::::::::::=8%%%88###88$Y****xxx***************************=*xx=++::~~~~:::~~~~~~~~~--~+=+::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~:::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------~~~~~~~~~~::::::++++++++++++++++++*YYxxxYYxxxx****===++++++++++++=***********************************===*x*+:~:=88%8888%%%8888888888888888888888888##########8888888888#$$$#8$x************xxxxx***************************=*=====****xxxxxxxxxxxxxxxxxxx*************************************==========================*=*****
========================**********************xxx******************=====*********************************Yx++++:::::~~~~~~~~:::::::::::::::::::::::::::::*8%88#8##Vx***xxxxxxxx************************==xx*++:::~~~~:::~~~~~~~~~--~:==+::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~:::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------~~~~~~~~~:::::::+++++++++++++++++++*VVYYYYYYxxxxx**==++++++=====*x************************************===*xx=+$88888%88%%88%88888888888888888888888#########8##888888%88$$$$#$x**********xxxxxx************************=========*****xxxxx**xxxxx*xxxxxx*******************************===============================*=******
=========================**********************xx******************=======******************************Yx+++::::::::~~:::::::::::::::::::::::::::::::::::Y%888$Yx*xxxxxxxxxxxx************************=*Y*=++:::~~~~:::~~~~~~~~~---~+==+:::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------~:::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------~~~~~~~~~::::::+++++++++++++++++++=Y$VYYYYxxYxxxx**========**xYx***************************************==*xV88####888%8%%%%%88888888888888888888888########8#88888888%8#$$$##Y********xxxxxxx*********************============*****xxxxx***xxxxxxxxxxxx***************************==================================********
==========================**********************x********************======****************************Yx++++:::::~::~~:::::::::::::::::::::::::::::::::::+#%#Yxxxxxxxxxxxxxxxx***********************==xx==+:::~~~~::::~~~~~~~~~---~:+=++:::~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------~~~~~~~~~~:::::::+++++++++++++++++++*V$VYYYYYYYYxxxx*****xxxYYY*******************************************=*x$8#####888%%%%%8%8888888888888888888888#########8#8888888%8#$$$$#V******xxxxxxxx*******************=======*************xxxxx*xxxxxxxxxxxx*************************=***==============================***********
===========================**********************x********************==******************************Yx+++:::::::~::~:::::::::::::::::::::::::::::::::::+=VV**xxxxxxxxxxxxxxxx***********************=*Y*=++:::~~~~:::~~~~~~~~~-----::+=+::~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------~:::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~----------------------------------------~~~~~~~~~::::::+++++++++++++++++++++xVVYYVVYYYYYYYxxxxYYYYYYx*********************************************=*xV#8#####88%%%%%%%88888888888888888888888########88888888%%8#$$$#$x**xxxxxxxxx***************************************xxxxxxxxxxxxxxxxxxx*****************************============================*************
=====**====================**************************************************************************xY=+++::::::~~~~::::::::::::::::::::::::::::::::::::+=Yxxxxxxxxxxxxxxxxxx***********************==xx=+++::~~~~~:::~~~~~~~~------~:+=+::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------~::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------~-~~~~~~~~::::::+++++++++++++++++++++=Y$VVVVVVVVYYYYYYVVVVYx*************************************************=*Y$8######88%%%%%%%8888888888888888888888########8888888%%8#$$$$#Y**xxxxxxx*******************************====****xxxxxxxxxxxxxx***********************************===========================**************
=====**====================*************************************************************************xY=+++::::::::~::::::::::::::::::::::::::::::::::::::++xVxxxxxxxxxxxxxxxx************************=*Y*=++:::~~~~~:::~~~~~~~~~----~~:+=+::~~~~~~~~~~~-~~~~~~~~~~~~~~~~----------~::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~--------------------------------------------~~~~~~~~~~:::::++++++++++++++++++++:+*VVVVVVVVVVVYYVVVVYx******************************************************Y$88##$##88%%%%%%%%88888888888888888888########88888888%%8#$$##$x*xxxxx****************************=======****xxxxxxxxxxxxx******************************================================****************
=====**====================************************x***********************************************xY*+++::::::::::::::::::::::::::::::::::::::::::::::::++*VYxxxxxxxxxxxx**************************==xx=++:::~~~~~~:::~~~~~~~~-----~~:+=+::~~~~~~~~~-~-~~~~~~~~~~~~~~~----------~~::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------.-----------------------~~~~~~~~~~~::::::++++++++++++++++++++:+xVVVVVVVVVVVVVVYx***************************************************xxx***x$88##$##88%%%%%%%88%888888888888888888########88888888%8#$$$##Y**xx***************************========****xxxxxxxxxxxxxx*****************************=================================****************
====**====================************************************************************************xx*+++:::::::::::::::::::::::::::::::::::::::::::::::::++=YVxxxxxxxxxxxx**************************=*Y*=++::~~~~~~:::~~~~~~~~-------~:++::~~~~~~~~-~---~~~~~~~~~~~~~~~~---------~~:::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------.......--------------------~~~~~~~~~::::::+++++++++++++++++++++++=YVVVVVVVVVVVYx***************************************************xxxxxx****V#8##$$##88%%%%%%%8888%888888888888888######8#8888888%8#$$$##$x****************************========*****xxxxxxxxxxxxxx**xxx************x**********=============================*********************
====****==================************************************************************************x*+++:::::::::::::::::::::::::::::::::::::::::::::::::::++*VYxxxxxxxxxxxx*************************=xx*+++::~~~~~~:::~~~~~~~~------~~+++::~~~~~~~~~~~-~~~~~~~~~~~~~~~~----------~::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~----------------.-.......---...----------------~~~~~~~~:::::::++++++++++++++++++++++++*YVVVVVVVVYx*****************************************************xxxxxxxx***xV###$$##88%%%%%%88%%8888888888888888#########888888%%8#$$$##Y*************************========********xxxxxxxxxxxxxxxxxx************x*********===========================************************
=====***==================**********************************************************************xYx+++:::::::::::::::::::::::::::::::::::::::::::::::::::::+=YYxxxxxxxxx***************************=*x*=++:::~~~~~~:::~~~~~~~~------~:++:::~~~~~~~~-~--~-~~~~~~~~~~~~~~---------~~::::::~~~~~~~~~~~~~~~~~~~~~~~~~~-~-------------------.........-.....-.--------------~-~~~~~~~::::::::+++++++++++++++++++++++=xVVVVVVY*===*******************************************************xxxxxx**=xY$##$$$##8%%%%%%%8%%8888888888888888#######8888888%%8#$$$##$x**********************======***********xxxxxxxxxxxxxxxxx******=*****xx*********=======================***********=***********=**==
===========================********************************************======*******************VY=+++::::::::::::::::::::::::::::::::::::::::::::~~:::::::++*YYxxxxxxxx***************************=xx*=++:::~~~~~::::~~~~~~~-------~:::::~~~~~~~~~-~-~-~~~~~~~~~~~~~~~---------~:::::::~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------....................----------------~~~~~~~::::::::++++++++++++++++++++++++*YYYYx*=====**=***************************************************x*xx*xxx****x$###$$##8%%%%%%%%%%%88888888888888########888888%%%8#$$$##V**********************==*************xxxxxxxxxxxxxxxxx************x**************==============*********************************=
============================*********************************************========**************YV=++:::::::::::::::::::::::::::::::::::::::::::::::~~:::::::+=xVxxxxxxxxxxxxxx*********************=Yx==++:::~~~~~::::~~~~~~~-------~:::~~~~~~~~~~~-~-~~~~~~~~~~~~~~~~---------~~:::::::~~~~~~~~~~~~~~~~~~~~~~~~~~-~~------------------...................--------------~~~~~~~~~~:::::::++++++++++++++++++++++++=xY*=========***************************************************x**xx***x******xV###$$###8%%%%%%%%8%888888888888888#######888888%%%8#$$$#$Y***********************************xxxxxxxxxxxxxxxxx******=*****************==*=====**=************=*****==************=*=***==
============================***********************x**********************==========**********Y$*+++::::::::::::::::::::::::::::::::::::::::::::::::~~::::::++=YYxxxxxxxxxxxxxxx********************Y*==+::::~~~~~::::~~~~~~~------~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~---------~::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~-~-~---------------.....................---------------~~~~~~~::::::::+++++++++++++++++++++++++*x*=======**********************************************************************Y$###$$$#88%%%%%%%8888888888888888##8###########888#$$##8#Y*********************************xxxxxxxxxxxxxxxxx*************************=**==********=***************=***********=**======
======*======================********************xxxxx*************************==************x$x++++::::::::::::::::::::::::::::::::::::::::::::::::~~~~::::+++*Vxxxxxxxxxxxxxxxxxx***************=*Y*==+::::~~~~~::::~~~~~~--------~~~~~~--~~~~~~~~~~~~~~~~~~~~~~~~~---------~~::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~-~--~---------.---......... ..........------------------~~~~~~~~::::::::+++++++++++++++++++++++++xx======************************************************************************xV#8##$###8%%%%%%%8%88888888888#$VYx*=++++++++++===*Y$#8%#Y********************************x**xxxxxxxxxxxx******=*******************************************=**************=**=*======
======*======================**********************x****************************************x$x+++:::::::::::::::::::::::::::::::::::::::::::::::::::~~~:::::++=xYxxxxxxxxxxxxxxxxxx**************=xY*=++:::::~~~:::::~~~~~~~-----------~----~~~~~~~~~~~~~~~~~~~~~~~~---------~~:::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------.----....... ..........------------------~~~~~~~~:::::::::+++++++++++++++++++++++++=x*====*=*=******==**************************************************************xV#8##$$##8%%%%%%%88888888$Y*=+::::::::~:~::~~~~~~::+=*V$Vx*********************************xxxxxxxxxxx************************************************************=**=====*=*=*====
=============================*********************************************====**************VY++++:::::::::::::::::::::::::::::::::::::::::::::::::::~::::::::++*VYxxxxxxxxxxxxxxxx***************=xx*==+::::::~~:::::~~~~~~~----------------~~~~~~~~~~~~~~~~~~~~~~~~~~------~~::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------.---...... ...........--------------------~~~~~~~::::::::::++++++++++++++++++++++++=x**===*==***=*=*=************************************************************xx**xY#88##$##8%%%%%888%8$Y=:::::::::::::::::::~~~~~~~~~~::=*xxx*****************************xxxxxxxxxxxx**************************************************************======*=====*==
======***=====================********************************************=======**********VY=+++::::::::::::::::::::+++++:::::::::++::::::::::::::::~~:::::::++=xVxxxxxxxxxx*xxx*****************=xx===++::::~~~:::::~~~~~~~----------------~~~~~~~~~~~~~~~~~~~~~~~~~~------~~:::::::::::::~:::~~~~~~~~~~~~~~~~~~~~~~~~~-----------.---..................--------------------~~~~~~~~~:::::::::+++++++++++++++++++++++++=**======*===**=*=***************************************************xxxxxxx*xxx**xV#%8#$$##8%%%%%8V*:::::::::::::::::~::~~~~~~~~~~~~~~~~:+*xxx**************************xxxxxxxxxxxx**************************************************************===============
**=======*=====================********************************************=======********YV=++++::::::::::::::::::::+++++:::::::+++++::++:::::::::::~~::::::::++*VYx****x*x**********************=xx*==++:::::~~:::::~~~~~~~~~------------~~~~~~~~~~~~~~~~~~~~~~~~~~~-------~~::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~-------------..................---------------------~~~~~~~~~~::::::::++++++++++++++++++++++++++==*===*========****************************************************x*******xxxxx**xV8%8#$##8%%8V=:~:::::::::::::~~~~~~~~~~~~~~~~~~~~~:~~~::+=xYxx********************xxxxxxxxxxxxxx***********************************************************=*===============*
*****==**=====================*********************xxxx**********************======******x$*++++::::::::::++::::::::+++++:::::::++++++++++++:::::::::::::::::::++=YY****x*************************=*x*==++:::::~~::::::~~~~~~~~~--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----~~:::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~-----------..--..............-..---------------------~~~~~~~~~~~~::::::::++++++++++++++++++++++++::+================*********************************************************xxxxxx**xV#8###88#*::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~:~:::::~:+=xYxxx***************xxxxxxxxxxxxxxx*******************************************************======================
*********======================**********************xxxxx**********************===******Vx+++++:::::::::+++:::::::+++++::::~:::+++++++++++++::::::::::::::::::++=xYx******************************=x*==++::::::~:::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----~::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~--------------..............--.----------------------~~~~~~~~~~~~::::::::++++++++++++++++++++++++:~~+=============**********************************************************x*x**x****xV88%8V+:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::+=*xxx************xxxxxxxxxxxxxxxxx******************************************************=============*========
**********====================************************xxxxx*****************************YY=+++++++:::::+++++++::::++++++:::::::+++++++++++++:::::::::::::::::::++*xx*******************************=x*==+++::::::~::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~----~::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~---------------............---------------------------~~~~~~~~~~~~~:::::::++++++++++++++++++++++++:~:+===========*====*************************************************************xx**Y#%$+::::::::::::::::::~~~~~~~~~~~~~~~~~~~::::::~::::::::::::=*xxx******xxxxxxxxxxxxxxxxxxxxx**************************************************=====*==*================
**********====================*************************xxxxx****************************Y*++++++++++++++++++++:::+++++::::~::::+++++++++++++::::::::::::::::::++=Yx********************************=*x*=+++::::::~::++::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~----:::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~-~---------------.........-----------------------------~~~~~~~~~~~~~~~~::::::+++++++++++++++++++++++::~~:===========*==************************************************************xxxx**V#=:::::::::::::::::::::~~~~~~~~~~~~~~~~:::::::::::::::::::::::+**xxx*xxxxxxxxxxxxxxxxxxxxx*************************************************=**==*====*================
****=****====================*=************************xxxxxxx**************************Yx++++=++:::+++++++++:::++++++::::::::++++++++++++++::::::::::::::::::+=YVx********************************=*x*==+++:::::~~:++++::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----~:::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~---------------.-.-..--------------------------------~~~~~~~~~~~~~~~~~~::::::++++++++++++++++++++++++:~-:=============**=****=************=**************************************xxxx**Vx~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+=*xxxxxxxxxxxxxxxxxxxxx***********************************************==============================
*********=====================*==*****=*********=******xxxxxxx**************************xY=+==*++::++++===+++:::+++++::::::::+++++++++++++++:::::::::~~:::::::=YVx**x*******************************=x*==+++::::::~~::++::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--~----~~:::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~------------------.-----------------------------------~-~~~~~~~~~~~~~~~~~~::::::++++++++++++++++++++++++:--~+===========*==**=*****=*=*****=*=***********************************xxxxx*xV+~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+=*xYxx***********************=**********************************=**=*============================
*=*******================*====******=*=*****************xxxxxxxx*************************YY====+++:+++====+++:+++=+++:::::::++++++++++++++++::::::::~~~::::::*VYx***********************************=***==++:::::::~:::+++::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------~::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~:::::::+++++++++++++++++++++++:-.~+==========**==******=***===***************************************xxxxxxVY:::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::++:++=xxxx******************=====*********************************=****=======*====================
*********=============******=******==*****=*************xxxxxxxx**************************xx====:::+++==++::+++==++++:::::::+++++==***==++++:::::::~~~::::::*Vx*************************************=*x*==+++:::::::~~::+++:::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------~::::::::::::::::::::::::::~~~~~~~~~~~~~~~~-~-----------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~::::::++++++++++++++++++++++++:-.~+=============*==**===*=****=************************************xxxxxx$*~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++:+::++++++++*xxx*****=****=**========**********************************==*========***===*==============
=***=****=========*********=***********=*==*************xxxxxxxxxxx***********************:=x*=*+::::+*++++++++===+++::::+++++++=Y$#$x==++++::::::~~~:::::+xVx***************************************=x*==+++:::::::~~::::++:::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------~::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~:::::::+++++++++++++++++++++++:--~+========*=====*========**************************************xxxxxxx$+~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++=xYYx*=================********************************=*================================
***=**=*========**==**************==*==**=*=*=**********xxxxxxxxxxxx*********************=--:**x=::::+*==++=++===+++::++++++++++=V###x+=++++::::::~~~::::+YVx****************************************=*x*==+++:::::::::~:::+++:::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------~::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~-~~----------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~::::::::++++++++++++++++++++++++:--:=====================***=***********************************xxxxxxY$:::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++::::::+=****===============******************************=======*============================
=**==*****==************************===*==*====********xxxxxxxxxxxxxx********************+---~+xY+:::+===+=++=*==++::::++++++++=Y####*+=++++:::::~~~::::*VY******************************************==x*===+++::::::::~~::::++::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------~::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::+++++++++++++++++++++++:--:=*====================*=**********************************xxxxxxVV:::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++:::::::~~~~:::=x===============*****************************==**================================
**=********************************====*===*===********xxxxxxxxxxxxxxxx*****************x~.----~x*::::==+++++=*===+::::++++====Y####V===+++::::::~~:::+x$Y********************************************=**===++++::::::::~:::::++::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------:::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~----------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::+++++++++++++++++++++++:--:================*====******************=****************xxxx*xVY::::::::::::::::::::::::::::::::::::::::::::::+::::::::::++++::::::::::::::~~~~~~~~~~:x*==============************************=****====================================
==***********************************==*=*=*====*******xxxxxxxxxxxxxxx*x***************x=-.-----:x+:::+*++++++*x==+++:++++===+x#####x+==+++::::::::::+Y$x************************************=********==**===+++++::::::::~~::::+:::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------~:::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~---------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::++++++++++++++++++++++:--+===============**==***********************************xx****VY::::::::::::::::::::::::::::::::::::::::++++++::::::++::::+::::~~~~~~~:::::~~~~~~~~~~:x*===============***********************=========================================
*************************************===**=*=====**********xxx**x**x*******************x:..------=x::++*=+:::+=x*==+::::++===x$####V===+++::::::~:::+YV**************************************=***=*==*==**===+=++++::::::::::::::++::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------:++::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~--------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::+:+++++++++++++++++++++~-~+*============*==*===********=***=*******=***************x*VY:::::::::::::::++::++++++++::::::::::+:++++++:::~~::::::::::::~~~~~~~~~~~:::~~~~~~~~~+x=================*******************==*==*======================================
**********************************=****=*==========***********************************x*-..-.----~x*+++**++:::+=x*=+::::+++==Y#####x+=+++:::::~~~::+YVx********************************====***=**=======**======++++++:::::::::::::+::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------~:+::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~------------------------------------------------~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::++++++++++++++++++++++~-~+*==========*=***=*************==*==**=******************VY::::::::::::+++++++++++++++++++::::::+++++++:::~~~~~~~~:::::::~~~~~~~~~~~:::~~~~~~~~~*x====================*****=======================================================
*************************************==**=*==========*********************************x+-.--.-..--+Y=++*x++::::+=x==+:::::+==x##88$=++++:::::~~~~:+**=************************************=*====*=======*x========++++++::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------~++:::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~--------------------------------------------------~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::++++++++++++++++++++:--:=============*=******==*****=*==*=*=*******************VV:::::::::::::++++++++++++++++++++++:+++++++:::~~~~~~~~~~::::::~~~~~~~~~~~::~~~~~~~~~:Y=================================================================================
*************************************======*=========================*****************x:...---..--~*x*==x*++:::++**=+:::::++=x##8#x++++:::~~~~~~:+x=~~:+=********************************=**==***=======**==========++++++:::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------~:++::++++:::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::++++++++++++++++++++:--:=*==========*=************====**===*****************x$V::::::::::::++++++++++++++++++++++++++++++:::~~~~~~~~~~~~::~~~~~~~~~~~::::::~~~~~~~~*Y=================================================================================
***************************************===================================*************~....-...---~+xVYYY=++++++=x*=+:::::+=*$#V*=++::::~~~~~::=Yx:~--~~:=******************************=**=****=======**=============+++++:::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------~++::+++++::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~--~~------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::+++++++++++++++++++++~-~+*========*=**=***=*==*=========*=******************$Y:::::::::::::+++=+++++++++++++:++::::++:::::~~~~~~~~~~~~~:~~~~~~~~~~~~::::::::~~~~:+x*=================================================================================
*****************************************====================================*********+-...-.....--~~*xxxYY=++++++*Y=+:::::++*$Y=++:::::~~~~::=*x=~- .--~~:+***********=***************===*============*==================+++::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------~:++:+++++++++::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~-~-------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::++++++++++++++++++++--:=========****=*****============*******************$Y::::::::::::::++==++++++++::::::~~~~~::::::~~~~~~~~~~~~~=+:~~~~~~~~~~~::++:::~~~~::=*+=================================================================================
***************************************==*===================================*=*******:-.........--~~x****YVx******Yx=+::::+*Yx==++::::~~~::+==:~-. ..-~~~:+*********=***********=*=***==============x====================+++:::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----~----~+++:+++++++:::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::++++++++++++++++++++:--+=========***=***=*=*=========*******************Y$=::::~~~::::::++=*=++++++:::~~~~~~~~~~~~~~~~~~~~~~-~~~~:+==:~~~~~~~~~~:+==+::~~~~:+=~~+================================================================================
***************************************==========================================*=***~-.........---:x******xxYYYYYV$*+++:+*Y*==+:+==:::::+=+:----... ..-~~~~+***==**=****==*=****=**==*=============*========++++==========+++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------~:++++++++++++:::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~-~~-~------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::+++++++++++++++++=+~-~==*=====****=*==*=*=========********************YV+::~~~~~~::::+++=*=++++:::~~~~~~~~~~~~~~~::~~~~~~~~~~::+*=:~~~~~~~~~:::**+::~~~::=+--~+===============================================================================
****************=======*************===============================================**=--..-......---:x**************V$*+++*Y*=+++x#8#$x=+++:~-.......... ..-~~-~+=*==**====**==**=*==================**========++++++++=++=====+++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~----------~+++++++++++:::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~-~-------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::++++++++++++++++++++--:==*==*=***========*=======*********************V*::~~~~~~::::+=++=*=+++:::~~~~~~~~~~~~~~:+:~~~~~~~~~~:::**+~~~~~~~~~:::x*+::~~::+=:---~+===========================================================================+++
************=============*********==================================================*+--..-......---:x***************VV*=*Vx==+=V8%###8#=:~-............... ..--~~-:+=*=========*==*===================**===========+++=+++++=+++==++::::::~~:::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~----~-----:+++++++++++++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::+++++++++++++++++++:-~+=*=*===*==*============**********************x*:~~~~~~~:~::+=++=xY=++:::~~~~~~~~~~~~~:=+:~:~~~~~~~~:::=*+:::~~~~~~:::x*+::::::+=~----~+=================================================================+=+++=++++++
=******==============================================================================:--..-......---:*=*=*=**=********YVYV#*=+*$%8#$$88V+~--. .--...--..........--~--:====*====*=*===================================+++++++++++=====++::::~~~~~~::::~~~~~~~~~~~~~~~~~~~~~~~~~~~----~~-~--~+++++++++++++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::++++++++++++++++=++~-:====*==*=**===========**********************x*:~~~-~~~~~~::==+*VVV*+::::::~~~~~~~~:::=*=::::~~~~~~:::=x=::::~~~~~::+xx+:::::+x+------:============================================================+==++++++++++++++
=====================================================================================~---........---:*=====**=**********xV#*==*YV$##88Y*=:~--...--....--..........-----:=*=============================++==============+=+++++=========++::::~~~~~:::~~~~~~~~~~~~~~~~~~~~~~~~~~~~----~-~---:++++++++++++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~----------------------------------------------~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::+++++++++++++==+:-~+====*===============**********************Y*:~~~--~~~~~~:+=*YVVVV*::::::~~~~~~~~:::xx*::::~~~~~~:::+**::::~~~~~:::xx+::::=xY:--~----+==============================================================+=====++++++++
====================================================================================+----........---:*========***********x$V=++++=x##Y***=:~---..---...----..........---~:+===========================+~+==============+=====+==========+++::::~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~-----~----~+++++++++++++:::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~-------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::+++++++++++++++==+~-:==*================*******************=**Y*:~~~---~~~~~~::*VVVVVV=:::::~~~~~~~~:::xx*+::::~~~~~:::+**+::::~~~::::*Y****xY**~-~~~---:==========================================================+=============++++
====================================================================================+----........---:*===========*********x$Vx===*xYx******+~----.---....----.........-----~+=========================+~:==============++=+====+==========+++:::~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~-----~-~--:+++++++++++++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------~~-~~~~~~~~-~~~~~~~~~~~~~~~~~~~::::::::::::::::+++++++++++++++==:-~=*=================*************=====**=*x=:~~------~~~~::=YVVVVx+:::::~~~~~~~:::=x*+::::~~~~~:::+*x=:::::::::::+Yxx**===*~~~~-----+*========================================================+==========+=+++++
====================================================================================:----........---:====================*=*xYYYxx*******=**=:--------....-----..........----~:=======================+~:==============++=====+=============+++:::~~~~~~~~~~~--~~~~~~~~~~~~~~~~~~~~~~--~~~--~:=++++++++++++:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~::::::::::::::::++++++++++++++===+~~+================***************=====++++=*+~~------~~~~::+xVVVV*:::::~~~~~~~~::+xx=:::::~~~~::::=x*+::::::::::+Vx=====**~~~~~~---~*==========================================================+=======++++++++
====================================================================================~-.--........---:========================****====*======*=+~-------......----..........---.-:+=====================::==============++=====================+++:::~~~~~~~~~~--~~~~~~~~~~~~~~~~~~~~~~--~~~--~=+++++++++++:::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~---------------------.---------------------------~~~~~~~~~--~~~~~~~~~~~~~~~~~~::::::::::::::::::+++++++++++++====:-+=================********==+++:~~~----.--+=:~-------~~~:::=Y$VY+::::~~~~~~~~~::*x*::::::~~~::::+**+::::::::++*V======**~~~~~~----+*==============================================+=+=++=++=+++++=+++++++++++
====================================================================================----.-.......---~===========================*=============*=+-.-----.......---...........---.-~+===================+:============+=+++++=++=================+++:::~~~~~~~~~---~~~~~~~~~~~~~~~~~~~~~---~~-~+==+++++++++:::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------.----------------------------~~~~~~~~~-~~~~~~~~~~~~~~~~~~:::::::::::::::::::+++++++++++++====:~:============****===+::~~-------.....-----~=+~~----~++:::::+x$Vx:::::~~~~~~~~::=x*+::::::~:::::+*x*=====******======+*=~~~~~~----~=================================================++++=++=+++++++++++++++++
===================================================================================+-----........---~=============================================~-.---.........--.............--.-~+================+:~============++++++++++==+================+++:::~~~~~~~~---~~~~~~~~~~~~~~~~~~~~~--~~-~:===+++++++++++:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------------~~~~~~~~~--~~~~~~~~~~~~~~~~~~::::::::::::::::::+++++++++========+~~====****==++:~~----------....-------------:+:~~~*$#8#V+::::*VV*:::::~~~~~~~:::xx*:::::::::::::=VYxx*x***====+======*=~~~~~~-----:===============================+=====+===+==+==+++++++++=++++++++++++++++
=====+=============================================================================+-.---........---~==============================================+-..--..... ....--..............-.-~:==============+-~============++++++++++==+++==+==============+::::~~~~~~----~~~~~~~~~~~~~~~~~~~~~--~~~:====+++++++++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------~~~~~~~~~--~~~~~~~~~~~~~~~~~::::::::::::::::::+++++++++++=======+~+**=+::~~-----------------------.....-------:=+*####8%#*::::x#Y::::::~~~~~::::=Y*+:::::::::::+YY===+=+==============+~~~~~~~----~=======+===================+=++++==++++==++=+===++=++++++++++++++++++++++
=====+=============================================================================:-.---........----+===============================================:-..--..........................----:+=========+=:-~+===========++++++++++=+=+++++===============+++:::~~~~~----~~~~~~~~~~~~~~~~~~~~---~~~+*===++++++++:::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~--------------------------------------------------~~~~~~~~----~~~~~~~~~~~~~~~~:::::::::::::::::::++++++++=======++::~-----------------.--------....-------------~+Y88$$#8%#x+::*V*=:::::~~~~:::::+Yx*+:::::::::+xY=+=+===+=======++==+*+~~~~~~~-----:*=+==+==+============+++=++=++==+++++++=++=+++=+++++++++++++++++++++++++
===================================================================================~..---........----+================================================+~...-............................---~+++==++==+:--+===========+++++++++++++++++++================+++:::~~~~---~~~~~~~~~~~~~~~~~~~~~---~~+*===++++++++::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------~~~~~~~-----~~~~~~~~~~~~~~~::::::::::::::::::++++++====++::~-------.-...........---------...---------... ..----~Y%%####$Y+:=Y=+=:::::::::::::::xVYx*===+==**xx=====+=++++=+=+=+++=+*+~~~~~~~-----~+=+=++========++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++
===================================================================================-..--..........---:=====+============================================:-................................----:+===+++++~+===========+++++++++++++++++++++================+++:::~~~~~~~~~~~~~~~~~~~~~~~~~~---~~=*===++++++++++:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------.-----------------------------~~~~~~~~-----~~~~~~~~~~~~~~::::::::::::::::::+++++++:~~----------.............----.-....---------.... ..--~~::+x8%$*+::+=YY+++=::::::::::::::*#**xxxYYYxx*==++==+++=+=+++++++++++*:~~~~~~~------:=====++++++++++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++
===================================================================================-.----............:*===================================================:. ...............................----~:++++++~+===========++++++++++++++++++++++=================+++:::~~~~~~~~~~~~~~~~~~~~~~~~~--~-+*===+++++++++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~---------.--------------------------------------~-~~~~~~------~~~~~~~~~~~~~~:::::::::::::+++++::~------------..............--.......---------.... .....--~::++++++x$*++**xY**x=:==::::::::::::+Vx=++======+++=++++++++++++++++++++==~~~~~~~~------~==++++=++=++=++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++
==================================================================================+-.--.-........--.-~==+=====+==++++++++=+++++++++++++++++++++++++========+~. ................................---~:++++::===========++++++++++++++++++++++===================+++::~~~~~~~~~~~~~~~~~~~~~~~~----+*===++++++++++:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~---------------------------------------------------~~~~~~--~--~~~~~~~~~~~~~~~::::::::++++::~-------------.....................-----------..........-~:::++++++++++=*xYYY*==++*Y*++:::::::::+=*Y*++=+=+++++=+++++++++++++++++++++++=+~~~~~~~~-------+=++++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
==================================================================================:..-.--.........-.--==+++=++++++++++++++++++++++++++++++++++++++++++++++=+++-....... .........................-----~:+++============+++++++++++++++++++++++++=================++::~~~~~~~~~~~~~~~~~~~~~~~~--~=*===+++++++++:::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------~~~~~:-----:~~~~~~~~~~~~~~:::::+:::~--------------....................-----------..........--~::+++++++++++++++++++++++++++=xxxx*====**xxY*=+=+++=++++++++++++++++++++++++++++==:~~~~~~~---.----:==++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
==================================================================================:..-.--........-...-+=+++++++++++++++++++++++++++++++++++++++++++++++++++++=+:-....... ..........................-----:=============++++++++++++++++++++++++++=+===============++::~~~~~~~~~~~~~~~~~~~~-~~--~**===++++++++++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------~-~~~~:~-.-~:~~~~~~~~~~~~::::::~---------------.................-------------..........--~~:++++++++++++++++++++++++++++++++++==******====+++++++++++++++++++++++++++++++++++++==~~~~~~~----..---~==++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
=====================================================================+++=====++===~....--........--...:*++=++++++++++++++++++++++++++++++++++++++++++++++++++++++:. ..................................---~:+==========++++++++++++++++++++++++++==+===+===========+:::~~~~~~~~~~~~~~~~~~~---~-:x====++++++++++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--~--------------------------------------------------~~~~~~~~:~~~~~~~~~::::~~----...-.-----...................-----------............--~::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+~~~~-~~---...----+=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
============================================================+==++=+==++++==++=++==-....--........-....~==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++:~. ...... ............................---~:+=======+++++++++++++++++++++++++++++===+=============+:::~~~~~~~~~~~~~-------~~=*=====+++++++++++:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~-----------------------------------------------------~~~~~~~~~~~~~~:~~~---..............................----------............---~~::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+~~~--~----...---~:=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
=+=========================================================++==++===++++++++++++=+-...-.-........-.-..-+=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:~. ...... ...............................-~+======+++++:++++++++++++++++++++++====+++===========+:::~~~~~~~~~~~~~------~~**======++++++++++:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----.----------------------------------------------~--~-~~~~~~~~---................................---------.............---~~:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=:~~---~----...----~==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++=+=============+======+==+=++================================+==++++++++++++=+-....--........-....-:=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:- ..... ...............................-~:+===++++++:+++++::+++++++++++++++++=++=============+::::~~~~~~~~~~~------~:x*======++++++++++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~----.--.---------------------------------------------~~~~~~---...................................-------............---~~::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=:~~--------....---~==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++=++++==+==+=+========++=+================+=++===============+=+=====+=======+==+......-.........--..-~=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:- ..................................---.--~+==+++++::+++++::+++++++++++++++++===++=========**+::::~::~~~~~~~~-~~~~~=x========+++++++++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--.....~-----------------------------------------~~~~~---.................................--.----...............---~:+===+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=~~---------....---~+=++++++++++++++++++++++++++++++++++++++::++::+:::+++++++++++++++++++
++++++++=+==+++=+=====================================================+==+=====+=:................--..--+++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:- .................................-------~:++++++++++++++:::++++++++++++++=+==++=+=======**+:~~::++:~~~~~~~~~~~~**========+=+++++++:::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~--..-~~-------------------------------------~~~~~--..................................------.................--~:++===*=:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++~~---------....----:=++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::
+++++++++=+==+=======++====================================================++==+=:......-........--...--:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:-. ...............................---------~++++++++++++::::+++++++++++++=+++++++========*x=:::::++:~~~~~~~~~::x*==========+++++++::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--~~~~~---------------------------------~~~~~--.........................................................--~:++========*::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++~~---------....----~==++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::
++++=+++++================================================================+==+===:................--..--~+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:-. ........----..................----------~:+++++++++++::::++::++++++++++++=+++========*Y*++:::+=+:~~~~~~~:+x===========++++++++:::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------~~~~~--.........................................................--~:++==============::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++=++++++++++++++++++=:~----------.....---~+=++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::
++++++++++=++++++===============================================================+~................--..--~++++++++++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:-. ........----..................----------~~++++++++++::::++::++++++++++++++++========*YY*=+::+*=::~~~~::=x===========+++++++++::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------~~~~~-..........................................................--~:++==================+~+++++++++++++++++++++++++++++=++++++=+++++++++++=+++++=+==++====++++==++==+=+=+=+=++=++++++++++++=+~~----------.....----:=++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++=+=+++++=+=============================================+=========+====+~..........-.....--..---+==++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:-. ........------.................----------~:+++++++++:::+:~~:++++++++++++===========*xYYx*==*Y*+:~~:::=*============++++++++++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------~~~~--.........................................................--~~:+=======================+~:+++++++++++++++++++++=++++++++++=++=+++==+=+++=====++==+=++==+===========++========+=============+~~------...-.....----:==++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::
+++++++++++++++++++++++=========++=+=============================+=+==+=========+~..........-.....--..---:==++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:-. .........-----.................-----------~:++++++++:::~~~:+++++++++++==++=========xYYYYYYVYY=++++=x=============++++++++++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------~~~~--................. . ....................................-~::+=============================:-++++++++++++++++++++++=++++++====++==+====+==+=+=======+=========================================:~~------...-.....----~==+++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++=+++++==+++++=++================+============++========++~..........-.....--...--~==+=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:-. ..........------................------------~:++++++::~~~:+++++++++++++++==========*xYYYYYYVYYxxYVx=============+++++++++++:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------~~~~~-................. ..................... ...........--:++=================================+-~=+=++++=++=+++++++==+===+=+========+============================================================~~------..........----~+*++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::
+++++++++++++++++++++++++++++++++++==++==++===+=+====++=======+================+:-..........-.....--...--~+=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:-............-------...............------------~~:++++++::::+++++++++++++===+=========*YYYYYYYVVVVY*============+++++++++++:::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------~~~~--................. ..................... ..........--~++======================================~-+++++=++++==+=+=++====+==+==============+====================================================+=+~~------...........----:*++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
+++++++++++++++++++++++++++++++++++=++=+++++=+=====++++======================+=+:-..........--....---..---:*=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:-............--------...............-----------~~::++++++++++++++++++++++++===========xYYYYYYYVY*=============+++++++++++::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~------~~~~~~-....-............ ................... ..........-~:+==========================================:-:=+=+=++=++===+================+===============================================================:~------............----~=+++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+++++++++++++++++++++++++++++++++++=++=++=+==+++=+===+=====+===================+:-..........--....---..---:*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:~...--.......---------...............----------~~:::+++++++++++++++++++++=+==========*xYYYYYY*=============++++++++++++++:::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---~~~~~~-........-......... ............... .. ...........-:+======================================+=+=+=+=+.~=+=+++++=++==+=++=============================================================================~~~-----............----~=++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+++++++++++++++++++++++++++++++++++++++++++++==+++=====+======+===========+====::-...........-....---..---~==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:~-.---........--------...............----------~~~::+++++++++++++++++++++============xYYYY*==============++++++++++++++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--..................... ............. ...... ..-~:=================*=======================+==+=++==+.-+++++==+==+++==+=++==+=======================================================================+~~------............----~+=+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++=++++=++++++==+=+++===========+==+========+====::-..........--....---..---~==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:~-.----........--------..............-----------~~~:::+++++++++++++++++++===========xYY*===============+=++++++++++++++::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~-.......---............. ............. ........-~:+===============================================+======--+=++++++++=+=+=+=+===========================================================================:~~-----......... ....----:=++::::::::::::::::::::::::::::::::::::::::~~::~~~:::::::::::::::
+++++++++++++++++++++++++++++++++++++=+++++++++============+==+===========+====:~-...........-....---..----+*+++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++~------.........--------........-.....----------~~~::::+++++++++++++++++==========*Y*===============++++++++++++++::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~-......-----........................... ........-:+=============*================================++=++=======-.:=++=++++==+==+============+===============================================================+=:~~-----......... ....----~++::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::
++++++++++++++++++++++++++++++++++++++++++=++=++++==++=++=+===+===++=+++===+===::-...........-....----.----:*=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:-------........---------......----...----------~~~:::::++++++++++++=+==========x*+====================++++++++++:::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~:::~~--......------.......................... .......-~++==================================++++++++=======++++++======-.:++++=+==+==+===++===================================+=======================================:~~----.......... .....--~++:::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::
+++++++++++++++++++++++++++++++++++++++++++=++++++++++++++=++=+++=++====+=++===:~-.-.........-....----.----:==+=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:~--~~~--........----------....---------------~-~~~::::::++++++++++++========**+====================+++++++++++:::::::::::::::::~~~~~~~~~~~~~~~~~~:::~---.......------.......................... ........-~:+===============================++++++++++++++++=====++++++==+====-.:==++=+=++=++===++===========================================================================~~~----.......... ......--:+::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++========+++==++==:~-.-..........-...----..---~==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:~--~~~--........-----------...--------------~~~~~~::::::+++++++++==++====**++====================+::+++++++:::::::::::::::::~~~~~~~~~~~~~~~:::~~-....--....----.......................... ......-~:+===========*===================++++++++++++++++++++++==++++=+++==+===-.+=++========================================================================================+~~~----......... .....--~+::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+++++++++++++++++++++++++++++++++++++++++++++++++=+++==++++==+=++=+===+==+=====:~~.-.-........-...-----.---~+=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:~---~~---........------------------------~~~~~~~~~::::::::+++==========*++===================+=:::++++++::::::::::::::::::~~~~~~~~~~~~:::~--...-----.------......................... ......-~:+=============================+++++++++++:::::++++++++++====++++++======+..+=++++++=======+============================================================================+~~~----....... . ......-~::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++==++=========+=====+~~....-.......-...---------~+==++=++++++++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:~--~~~--.---...------------------------~~~~~~~~~~~::::::::+========*=:=================+++=+~~:++++::::::::::::::::::::~~~~~~~~::::~-....------------.......................... ......--:+=============================++++++::::::::::::::::++++++++===++++=+=======+.-+++++++++==++=++=+========+=+=++============================================================:~~~---....... .....--:::~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++=++==+==+==++=+==++~~....-........-..---------~:=+==++++++++++++=+=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:~---~~---------.------------------~~~~~~~~~~~~~~~~~::::::::+=====*:+================++++=+::+++++:::::::::::::::::::~~~~~::::~--...------------.......... .............. .. .......-~:+===========================++++++::::::~~:~~~~::::::::++++++++===+++==========: -++=++++++++++=+++++=======+++==+==========================================================+=:~~~--.... ... ....--~:~~~~~~~~~~~~~~~~~~~~-~-~-~------~--~~~~~~~~~~~~~~~~~~~~~~~~~~~
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++=++++:~...--............---------:==+==+++++++++++++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:~--~~~-------.-------------------~~~~~~~~~~~~~~~~~::::::::++=*+~================+++++++++++++++::::::::::::::~:::::::::~-.....---.--------........ ............. .... ........-~+============================+++++:::::~~~~~~~~~~~~:::::::++++++++==========+======: :=+++++++=+=++==++++++++=++=========+===================================================++++=:~~---.... ... .....-~~~~~~~~~~~~~~~~~-~-~----------------~--~~~~~~~~~~~~~~~~~~~~~~~~
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:~...---...........---------~+=+++++++=+++++++++++++++++++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:=:---~~--------------------~~~~~~~~~~~~~~~~~~~~~~:::::++++++=~+==============++++++++++++++:::::::::::::::::::::::~~-....---...-------......... ................... .......-~:+=========================++++++::::~~~~~~~~~~~~~~~~~::::::::++++++++===+=============~.+++++++++=+=+++++=++++++==++=+++=+=++=++=+==============================================++++=:-----.... ... .....-~~~~~~~~~~~~~~-------------------------~~~~~~~~~~~~~~~~~~~~~~~~
++++++++::::::::+::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++~...-.--..........--------~~:=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::=++~--~~~------------------~~~~~~~~~~~~~~~~~:::::::::+++++=:~============+=+++++++++++++++::::::::::::::::::::~--.....-.....-----.......... ..................... .........-~:+========================++++++:::~~~~~~~~~~~~~~~~~~~~~::::::::+++++++++================+--+++++++++++++++++++++++++=++++=+++=+=+++=============================================+++=++++:-----.... .. .....-~~~~~~~-~~---------------------------------~~~~~~~~~~~~~~~~~~~~
++++:::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++:.....--..........---------~~==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::====:~--~~~---------------~~~~~~::::::::::::::::::::+++++:-+==============+++++++++++++++:::::::::::::::::~--....-......------.......... ................................-~:+==========++++++=+=====+=++++++:::::::::::::::::::::::::::::::::+:+++++++=================+.~=+++++++++++++++++++++++++++++=+++++====+===+========================================++++++++:-----... .. .....~-~--~-------------------------------------~~~~~~~~~~~~~~~~~~~~
:::+:::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++:.....---.........---------~~:=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++~:==+==+~---~~~--------------~~~~:::::::::::::::::::++++++~~==============++++++++++++++++::::::::::::::~-............-----........... ...............................--:++==++=++=================+++++::::::~~~~~~~~~~~~~~~~~~~~::::::::+++++++++++++=================~-++++++++++++++++++++++++++=++++++++++++=++++=+=++==+===============================+++++++++++:-----... . ....--~-----------------------------------------~~~~~~~~~~~~~~~~~~~
::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++-....---..........---------~~==++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++~+**=++==:~---~~~------------~~~~~~::::::::::::::::++++++-+=============+++++++++++++++:+:::::::::::~--...........-----...........................................-~:++=+=++=++=++++++++++++::::::~~~~~----------.................. ......--~~::::+++===============+-~++++++++++++++++++++++++++++++++++++++++++++=++++++++=+=======+================++++++++++++::::----.... ...---------------------------------------------~~~~~~~~~~~~~~~~~~
:::::::::::::::::::::::::::::::::::::::::::::::::+:+++++++++++++++++++++++++++++++-.....---.........---------~~:=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:==========+~---~~--~--------~~~~~~~::::::::::::::+++++~~===========++++++++++++++++++++:::::++:~--...........----............................................-~:++++++++++::::::::::::::::~~~~~--------.................. ......------~~:::++=====*~.:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++=+++=++=====++++++++++++:::::::----.... . ...---------------------------------------------~~~~~~~~~~~~~~~~~
::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++~.....---.........----------~~==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:=====**==*==:~---~~~-~~~~-----~~~~~~~::::::::::++++++-+===========+++++++++++++++++++:::++::~-............----..........................................--~::::::::::~~~~~~:::::::::~~~~----------........... ............-.----------~:+.-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::~:-.-.... ...---------------------------------------------~~~~~~~~~~~~~~~~~
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:+++++++++++++++++++++:.....---.........----------~-:=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+*=+===*******=:~---~~~~~~~~~~~~~~~~~~~:::::::++++++~~=============++++++++++++++++:++++:~--...........----..........................................-~::::~~~~~~~~~~~::::::::::~~~~---------............ ..........-.------------------- :++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::~~~~~-...... ..---------------------------------------------~~~~~~~~~~~~~~~~~
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::+++++++++++++++.....-.-..........---------~--+=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:=Y*=====********=:---~~~~~~~~~~~~~~~~~~::::::++++++-:==========+++++++++++++++++++++:~--...........-----........................................--~:::~~~~~~~~~~~~:::::::::~~~--------........... . ........---------------------..:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::~~~~~~~~-..... ...----------------------------------------------~~~~~~~~~~~~~~~
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::+++-......--.........------------:=++++++++++++++++++++++++++++++++==++=+++++++++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++:xYx*======******x*=:~--~~~~~~~~~~~~~~~:::::++++++:-+========+=+++=+++++++++++++++:~--...........---.........................................-~::::~~~~~~~~~~:::::::::~~~~------........... ........-------------------- .++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+::::~~~~~~~~-~--..... ...--------------------------------------------~~~~~~~~~~~~~~~~~
:::::::::::::::::::::::::::::~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::+~......--..........-----------~=++++++++++++++++++++++++++++++++=+==++==+=+++=+=+++++=+=++++++++++++++++++++++++++++++++++++++++++++++++:=xxxx**=======****xx*=+~-~~:::::~~~~~:::::::+++++~~==========+=++++++++++++++++:~--..........----.......................................--~::::~~~~~~~~~~::::::::~~~------.......... ......---------------------. ~=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::~~~~~~~------... ....-------------------------------------------~-~~~~~~~~~~~~~~~
:::::::::::::::::::::::::~~~~~~~~~~~:~~:::::::::::::::::::::::::::::::::::::::::::::-......-..........-----------~+++++++++++++++++++++++++++++++++++====+=======++=+====+++++++=+++++++++++++++++++++++++++++++++++++++++++:=****xx**=======***xxxx*+:~~:::::::::::::+++++++-:========+++++++++++++++++:~----........---.......................................---~:::~~~~~~~~~::::::::~~~~-----......... .......--------------------- :=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::~~~~~~~----------.. .. .-~------------------------------------------~~-~~~~~~~~~~~~~
::::::::::::::::::::::::~~~~~~~~~~~~~~~~:~::::::::::::::::::::::::::::::::::::::::::~..................----------~=+++++++++++++++++++++++++++++++=+=+=================+============+==+++++++++++++++++++++++++++++++++++++:+**====*x***===+====***xxx*+:~~~:++++::++++++++~-==========++++++++++++++:~----.......---........................................--~:+::~~~~~~~~:::::~:~~~-----........ .......----------------------. -+++=++++++++++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::~~~~~~-------------. .. .~~-----~---------------------------------------~~~~~~~~~~~~
::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::-........... . ..----------~==++++++++++++++++++++++++++++++=++=+==================================+=======++=+++==++++++++++++++++++++:=*=++++==*****===+++====**xx*=+~~~::++++++++++~:==========+=++++=+==+:~-------...-.---......................................---~::::~~~~~~~~::::~~~~-----......... .......------------------------ :==+===++=+==+=+==+===++=++++=++=+++++++++++++++++++++=+=+=++=++++++++++++::::::~~~~~~---------------. .. .-~~~-~~~----------------------------------------~-~~~~~~~~~
::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~:::::::::::::::::::::::::::::~.......----~~~------------~+*++++++++++++++++++++++++++++++++++===============================================+==++++==++++++++++++++++::=*=+++++++===***===++++++==****=+:~~:+++++++:-+=======++=+++=++==+:~-------..------................................-....---~:+::~~~~~:::~:~~~~~-----........ .......----------------------. .+=+==++===++++=+=+======+=+++=++++++++++++++++++++++=++==+=++++++++++++++:::::~~~~~~~~--------------.. .. .-~~~~~~~~~-----------------------------------------~~~~~~~~
::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::-..--~:::+++++++::~~~~~~:++++++++++++++++++++++++++++++++++++++++==============================================+==+=====+===++=+++++++++:+*=++++++++++++===**===+++++++==**=+::::::++~~==========++++===+:~-------.------.-..............................--...---~:::~~~~~~~~~~~~~~------....... .......---------------------- :=====================+=====++===+++=+==++=+++=++++++=++++++++++++++++++::::::~~~~~~~--------------.-.. . .-~~~~~~~~~~~---------------------------------------~~~~~~~
:::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::~~~:::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++========================================+====+==+=====+++++==+++++=+=++:+*=:::::::::::++++========+++++++=====+::~:-:=========++====+:----------------.-..........................----.-.---~::::~~~~~~~~~~~~-----....... .......----------------------- .+============================+====+===+==+==+===+==+++++++++++++++++++::::::~~~~~~~~-------------.-.... .. .-~~~~~~~~~~~~~---------------------------------------~~~~~
:::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~:::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++==========================================+===+===++++++=++++++++++++~==+:~:~::::::::::++++=========++++=======+~+============+:~---------------.-..........................------.---~::::~~~~~~~~~~------...... ........----------------------. :==+===============+==+=++===++====+=+++=+++==+++=+==++++==++++++++++:::::::~~~~~~~~~-----------.-....... ... .~~~~~~~~~~~~~~~--------------------------------------~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++==+=======================================+=++++++++++++++++++++++::==:::~~~:~~~~~~:::::++++=============***+~+====+====+:~---.--------------.......................------------~::::~~~~~~~--------...... .......................... . . ...........----------------------- -===================+==========+=++++=++===+++++++=++=+===+=++++++++:::::::~~~~~~~~~~~-------------....... ..-~:~~:::::~~~~~~~~-------------------......-----------~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=============================+===+==++=++++++++++++++=++++++++:+*=+:::::::::::::::::::+++++++=====****=~~=======+::~-----.--.---------.......................-----------~~:::~~~~~---------...... ........----------------------~ .+===+======+==========+=====+++++==+=+++++=+==++======+===+++++++:::::::::~~~~~~~~~~~~~~---------------... ............. --~:~::::::::::~~~~~~~----------------.........----------~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~--~~-------~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::++:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=================================+==++==+=++=++++++++++++++:+*=+:::::::::::::::::::::::+++++++=====-:=====+:~~--......-----------......................----------~::::~~~~---------...... .......---------~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------~. :============+==+=========++=++==++=+=+=+++++==++==++++=+++++++++:::::::::~~~~~~~~~~~~~~~~~~~------------.-. ....---------~~~~~~--~~~::::::::::::::~~~~~~~--------------.............-------~~~~
~~~~~~~~~~~~~~~~~~~~~-~-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::+:::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=====================++=+=+++++=+===++=+=++++=+=++=++++++++~+*=+:::::::::::::::::::::::+++++++++++-+===+:~~---.....----------......................----.-.---~~:::~~----------..... ......-----~~~~~~:::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::++++++++++++++++:::::::~~~~~--:- ~=====================++==+++=++++++++=+=+++++==+=+++++++++++++++::::::::::~~~~~~~~~~~~~~~~~~~~~~~-----------. .......---------~~~~~~~::~:::::::::::::::~~~~~~~~-~---------..............------~~~~~
~~~~~~~~~~~~~~~~~~~-------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::+:+++++++++++++++++++++++++++++++++++++++++++++++++++++=++++===+===========++++++++++++++===+==+=+=+++=++++==+++++++++~+*=+::::::::::::::::::::::++++++++++:-+=::~~---..-.-..-.-----.......................----..---~::::~~----------..... ....------~~~~~~~~~~~~~--------.......................... . .....-----~~~~~~:::::::::::::::+: .+=============+===++=++=+=++++++++++++++==++++==+=+++++++++++++::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~------------......--------~~~~~~~~~~:::::::::::::::::~~~~~~~~~~-------................-----~~~~~
~~~~~~~~~~~~~~~~~~----------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+=+++++++++++++++++++++++=+=+=++==+++++++++=+=++++++=+++~+*=++:::::::::::::::+::++++++++++++~.:~~~----...-..-.-.-......................-.-......--~::::~------------.....------------------........... . . . . .........-------------------~+. :============+=++==++++====++==++==++===++++===++++++++++++++++:::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~------------.---------~~~~~~~~~~~~~~::::::::::::::::~~~~~~~~~------................-----~~~~~
~~~~~~~~~~~~~~~~~~-----------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=====+=====++===++=++===+++++++++++==+++++~+*=++:::+:+:+:++++++++++++++++++++..:~~--------....................................--~:+::~--------~~~~~~~~~-----....... ..........-------------------~~ ~================================+===========+=+++++++++++++++:::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~--------------------~~~~~~~~~~~~~~:::::::::::::::~~~~~~~~~~~-----...............----~~~~~~
~~~~~~~~~~~~~~~~~~------------------------------~--~-~-~~-~-~-~-~-~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++==+=============+==+==+=+==+====++++++++++++++++++:+*=++++++++++++++++++++======+==: :+:~-----.......................-.............-~:++:~~~~~::::++::::~~~---..... ..........---------------------~ .+================================+===========+++++++++++++++:::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~------------------~~~~~~~~~~~~~~~~~:::::::::::::~~~~~~~~~~~------.............-----~~~~~~
~~~~~~~~~~~~~~~~~------------------------------------------------~~-~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++================+=+++++++++++++++++++++++++++++++=+:+===+++++++++++++=++==========+-.+:~~-----..................----..-.........-~::+:::::+++++++:::~~~~~~~~~~~~~~~--... . .... .. .. .. . .............-.-------------------~. :======================================+======+++++++++++:::::::::::~~~~~~:::::::::::::::::::~~~~~~~~~~~~~~~~~-~~-~--------------~~~~~~~~~~~~~~~~~:::::::::~~~~~~~~~~~~~~--------.........-------~~~~~~
~~~~~~~~~~~~~~~~~~----~-------------------------------------------~-~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++::++++++++++++++++++++++++++==++=+++++++++++++++++++++++++++++++++++++++++++++::=*==++====+=================: -+~~~~---.-.............-.-----.-........-~:+==+::::::~~--........----------~~~~~~~----....... . .............----------------------~- -=============================================+++++++++++::::::::::::~~~~~~~~:::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~-----------~~~~~~~~~~~~~~~~~~:~~:~~~~~~~~~~~~~~~~~~----------.-....--------~~~~~~
~~~~~~~~~~~~~~~~~~~~~--~------------------------------------------~-~-~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::+++++++++++++++++::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++=+~+*=========================~ ::~~-------...........------..-......--~:++++:::~---.. ........---------.............. .......-------------------------~..+===============================+===========++++++++++:::::::::::::::~~~~~~~~~~~:::::::::::::::::~:~~~~~~~~~~~~~~~~~~~~~------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------.-.---------~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~-~------------------------------------------~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::+++++++++++++++:::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++====+==++=+=++++++++=+==++++=+::=*======================+..::~~~-------........------.-....----~:++::~~---... .............---------.............. .........-------------------~- :============================================+++++++:::::::::::::::::::~~~~~~~~~~~::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------.-.-.-------~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~-~~~------------------------------------------~-~-~-~---~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::+:++:+++++::::+::::+:+:::::::::::::::::++++++++++++++++++++=+==++==+=====++==+=====++=+=+=++=++==+===::=*=====================+ -:~~~~~-------.....---.--.--------~~:+:~--...... ..........-----~~~~~~~~~~~-----........ ..............-------------~- -+===========================================+++++++:::::::::::::::::~~~~~~~~~~~~~~~~::::::::::::::::::::~~~~~~~~~~~~~~~~~~-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------.-.....------~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++=+++===++==+==+==+=++++++==+=+==+=====+++==+:+=*===================: ~+~~~~~-----........-....------~~:+:~-...... ..............----~~~::::::::::~~~~----.... ...............------------~~ .+===========================================+++++++:::::::::::::::~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::~~~~~~~~~~~~~~~~-~-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------..........------~~~~~
~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------~-~~~-~---~---------------~~~~~~~~~~~~::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++=++++=+====+=++++=+===+++==++====+==+=++~+**=================~ ~:~~~~---------........----~~~:::~--..... ......----------~~~~~~~~~~~~:::::++:+::::~~--.... .................-.-----------~. :============================================++++++:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::~~~~~~~~~~~~~~~~~-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------...........-------~~~
~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------------------------~----------------------------~~~~~~~~~::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++=+++++====++===++==+==+==+====+==+==+~:*x***=============- ::~~~~~--------.....----~~~:::~--.... .....------~~~~~~~~~~~~~~~~~~~~-------~~~~~~~::::::++++++:::~~---......................-------------~. :=============================================++++++:::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::~~~~~~~~~~~~~~~--~-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------............-------~~~
~-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------~--~------------------------~~~~~~~~~::::::::::::::::::::::::::::::::::::+::+++::+++++++++++++++++++++++++++++==+====+=+++++=+++=+++++++++=+=+=+++::=*********=======- ::~~~~---------------~~~::::~--.... . .. . ....---~~~~~~~~~~~~~~-------------------~~-~~~~~~~~~~~~~~~~~~~~~~~::::::+++++++++++:::~~~------------------.---~~. ~=============================================++++++::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::~~~~~~~~~~~~~~~~-~--------------------~~~~~~~~~~~~~~~~~~~~~~~---------------..............------~~
------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------~~~~~~~~---------------------------------~-~~~~~~~::::::::::::::::::::::::::::::::::::::::::::+:++:+++++++++++++++++++++++++==+====+=+=++++++++++++=+++++=+=++:~+========****=*=- ::~~~~----~--------~~~:::~----.... . ... .. ....---~~~~~:~~~~~~~~~------------------------------~~~~~~~~~~~~~~~~~~~~::::::::::::::::++++++==========++++::::~~~~~::~~~::. ~==============================================+++++++::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::~~~~~~~~~~~~~~-~--------------------------~~~~~~~~~~~~~~~~~~---------------................------~~
------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------------~~~~~~~~---------------------------------------~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++=++===+===++==++++=+===++++++=+=++:-:==============- ::~~~~----------~~~:::~----......... . .. ...--~~~::::::::~~~~~~~---------------------------------------~~~~~~~~~~~~~~~~~~::::::::::::::::::+++++++==========================*x- -===============================================+++++++::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~~~~~~~~~~~~~------------------------------~~~~~~~~~~~~~~-------------......................----~~
------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------~~-------~------------------------------~--~~-~~----------------------------------------~~~~~~:::::::::~:::~~~::::::::::::::::::::::::::::::::+++++++++++++++++=+++=+++=++=+==+=++====++=+===+++=++++=+==+~~+==========+=- ::~~~--~----~~~::::~----................. . ...--~~::+++++::::~~~~~~~~~~~~~------------------------------------~---~-~~~~~~~~~~~~~~~::::::::::::::::+++++++++===========================**-.+=============================================+++++++++::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------~-~~~~~~~~----------...........................----~~
-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----~----------------------------------------------~-~------------------......--.-.-------------~~~~~~~~~::~~~~~~~~~~~~~:::::::::::::::::::::::::::::::++++++++++++++++++++++++====++++++==+=++===++====++=+=++=+=+~~+=========+=~ ::~~-~-~~-~~::::~-------...--........... ...--~~:::+++++:::::~~~~~~~~~~~~~~~~------------------------------------------~-~~~~~~~~~~~~~~~:::::::::::::::+++++++++++============================: ~==============================================++++++++++::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--~~-~------~~~~~~~-~-------------------------------------------~----------................................----~
--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~--~~~-~~-~----------------~----------------------------------------...........-----------------~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::++++++++++++++++=++=+======+==+=====+====++=+==++==+==++===+~:+======++=~ ~:~~~~-~~~:::~-----------------........---~~~:::++++:::::::~~~~~~~~~~~~~~~~~~~~~-----------------------------------------~~~~~~~~~~~~~~~~~::::::::::::::::++++++++++============================+..+==================+===+=======================++++++++++::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------------------------------------------------------------------....................................---~~
--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~--~~-~~-~~---------------~-~----------------------------------------.........-.---------------~-~~~~~~~~~~~~~~~~~~~~~:::::::::::::::~~~~:::::::::::::::+++++++++++++++++=======================+=+===+++++====+==+:~:+====+++: ~:~~~~~:::~----------------------~~~~~::::+::+:::::::::::::~~~~~~~~~~~~~~~~~~~~------------------------------------------~~~~~~~~~~~~~~~~::::::::::::::::++++++++++=============================~ ~++++++++=++=+++=++++=++==+=====+======++++====++++++++++++:::::::~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------........................................---~~
--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--~-~~~~~--~~-~--------~-~~~~~~~-~--------------------------------------........-------------------~~~~~~~~~~~~~~~~~~~~~~~:::::::::~~~~~~~~~~:::::::::::::::+++++++++==++++============================+=+==++=+++=++=+:~:+===+++.~+~~~~~~------------------~~~~::::++++:::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~---------------------------------------~--~~~~~~~~~~~~~~~:::::::::::::::++++++++++++=============+=++=====+==+==+..:=+++++++++++++=+++=+++++==++===+==+++==++++++=+++++++++++++::::::~~~~~~~~~~~~~~~~~~~~~~--------------------------------------------------------------------------..........................................---~~
--------~-~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~-~~~~~~-~~-~-~--~-~~~~~-~~~~~~~~---------------------------------------.....--------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::+++++++++++==+===================================++=++===+=+=+:~:+=+++--:~~~---------------~~~:::++++++++::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~-----------------------------------------~-~~~~~~~~~~~~~~~:::::::::::::::++++++++++=============++=+==+=====+=+===~ ~+++++++++++++++++++++++++++++=+==+++=++==+++++++++++++++++++::::::::::~~~~~~~~~~~~~~~~--------------------------------------------------------------------------............................................---~~
----------~~~~~~~~~~~~~~~~~~~~~~~~~~-~~-~-~~~~~--~~-~~~~~~~~~~~~~~~~~~~~-~----------------------------------------.---------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::+++++++++++===+=======================+=============++=====+=+~~:+++- --------------~~::+++===+++++++::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~-~-----------------------------------~---~-~~~~~~~~~~~~~::::::::::::::::::++++++++++===========+=+++++=+++++++=++=:..++++++++++++++++++++++==+++=++=+++++++++==+++++++++=++++++++:::::::::::~~~~~~~~~~~~~~~~~~------------------------------------------------------------------------................................. ..........---~~
----------~~~~~~~~~~~~~~~~~~~~~~~~~~-~~-~-~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::++++++++++=++============================+==+==+=====+========+~~:+-.~~--------~::++========++++++++:::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~------------------------------.----------~~~~~~~~~~~~~~~::::::::::::::::+++++++++++===========++=+++++++++++++++++- ~++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++::::::::::::::~~~~~~~~~~~~~~~-~--~---------------------------------------.---------------------------............................................---~~
----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~-~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------------------~--~~----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::+++++++++++=====================================+==+=++==++++++=+:~.-~----~~::+============+++++++++:::::::::::::::::::::::::::~~~~~~~~~~~~~~~~-----------------------------~~~------~-~-~~~~~~~~~~~~~::::::::::::::::++++++++++++===========+++++++++++++++++++=~ -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::~~~~~~~~~~~~~~~~~~~~~-----------------------------------------------------------------............................................---~~
~--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~-~~-~-~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------~-~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::+++++++++++============================================+=++++====+~--~~::++=========+++====++++++++++::::::::::::+~~~~::::::::~~~~~~~~~~~~~~~~~------------------------------~~--~--~-~~-~~~~~~~~~~~~:::::::::::::::::++++++++++===========+=+++++++++++++++++++: .:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~--~----------------------------------------------------------..........................................----~~
---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~-~~~~-~---~-~~-~~~~~~~~~~~~~~~~~~~-~-------~-~~~-------------------------------------~~~~~~~~~~~~~~~~~~~~~~~-~~~~-~-----~~~~~~~~~~~~~~~~~~~~~~~~::::::::::+++++++===+=====================================+==+==+==+========+--:+===========+=++++===+++++++++++::::::::::::+::::::::::::~~~~~~~~~~~~~~~-~-----------------------------------~--~~~~~~~~~~~~~~~::::::::::::::::++++++++++++=========++++++++++++++++++++++:. :+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~---------------------.----------------------------------.---..................................------~~
------~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~--~~--~~-----~-~~-~~~~~~~~~~~~~~~~~~-~--~-~~~~~~~------------------------------------~~~~~~~~~~~~~~~~~~~~~---~~~--------~~~~~~~~~~~~~~~~~~~~~~~~:::::::::+++++++++++++++=============================+=======+=======++==+==:.~===++====+++==++++++++++++++++++++::::::::::::::::::::::::~~~~~~~~~~~~~~~-----------------------------------~~-~~~~~~~~~~~~~~~~:::::::::::::::::++++++++++++========+++++++++++++++++++++++- ~+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::~:~~~~~~~~~~~~~~~~~~~~~~~~--------------------.----------------------------------------................-............--------~~~
-~-~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~--~~~~~-~-~-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~-~----------------------------------~~~~~~~~~~~~~~~~~~~~~~-~~~-~~--------~~~~~~~~~~~~~~~~~~~~~~~:::::::::++++++++++===+========================================+====+======+~ :==+==++=+++++++++++++++++++++++++++::::::::::::::::::::::~~~~~~~~~~~~~~~-~-----------------------------------~~~~~~~~~~~~~~~~~::::::::::::::::+++++++++++++=======+++=++++++++++++++++++++~ .++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::~~~~~~~~~~~~~~~-------------------------------------------------------------.-..........--------.-.-.---------~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--~~--~~~~~~-~-~-~~-~~~~~~~~~~~~~~~~~~~~~~~~-~--~~~~---------------~-----------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------~~~~~~~~~~~~~~~~~~~~~~::::::::::++++++++=+===============================================+=========+..+=++++==+++++++++++++++++++++++++++::::::::::::::::::::::~~~~~~~~~~~~~~~~~---------------------------------~-~~~~~~~~~~~~~~~~~::::::::::::::::++++++++++++++======+=++++++++++++++++++++++:- ~+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::~~~~~~~~~~~~~~~~-------------------------------------------------------------..-....-----------------------~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~-~~~-~~~~~~~~~~~~~~~~~~~~~-~~--~~~~~~~~-------~~~~~-------------~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----~~~~~~~~~~~~~~~~~~~:::::::::::+++++++++++=+========================================================: -++=++++++++++++++++++++++++++++++++::::::::::::::::::::::~~~~~~~~~~~~~~~~---------------------------------~~~~~~~~~~~~~~~~~~~::::::::::::::::++++++++++=+=+++===+++++++++++++++++++++++++:~~ :==++++++==++==+==++=+==+++=+==++=+====+++++=++=++++==+++==+++++=++++++++++++++++++++++++++::::::::::::::~~~~~~~~~~~~~~~----------------------------------------------------------------------------------------~~~~~::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~-~~~~~~~~~-~----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---~~~~~~~~~~~~~~~::::::::::::::::++++++++++++=+===+====================================================: ~=++++++++++++++++++++++++++++++++++:::::::::::::::::::::~~~~~~~~~~~~~~~~~-------------------------------~~~~~~~~~~~~~~~~~~~~:::::::::::::::+++++++++++++==+++====+++++++++++++++++++++++:-~--+========================================================+==+=++=+=+=++++=++++++++++++++++++++++++:::::::::::~~~~~~~~~~~~~-----------------------------------------------------------------------------------~~~~~~~:::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~--~-~~-~-------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~-~-----~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::+++++++++++++==========================================================~ :=++++++++++++++++++++++++++++++++++:::::::::::::::::::::~~~~~~~~~~~~~~~~~~------------------------------~~~~~~~~~~~~~~~~~~~:::::::::::::::++++++++++++++===++==++++++++++++++++++++++++:..-~+=========================================================++==++==++=+=++=+++==++++++++++++++++++++:::::::::::::~~~~~~~~~~~~~~-----------------~~-~~~--------------------------------------------------~-~-~~~~~~~~~::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~-~~~~-~~~-~~-~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::++++++++++++==+======================================================+=+- :=+++++++++++++++++++++++++++++++++++:::::::::::::::::::~~~~~~~~~~~~~~~~~~------------------------------~~~~~~~~~~~~~~~~~~~:::::::::::::::++++++++++++++====+++++++++++++++++++++++++++:--:+=====+::==================================================+=+=========++===+=++=++++=++=+++++++++++++++:::::::::::~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~--------------------------------------------~~~~~~~~~~~~~:::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::+++++++++++========+=++=======================+==+==+======+++=++=+==+=+- +++++++++++++++++++++++++++++++++++:::::::::::::::::::::~~~~~~~~~~~~~~~~~------------------------------~~~~~~~~~~~~~~~~~~~:::::::::::::::+++++++++++++======++++++++++++++++++++++++++:--+=======:~:===============================================+=====================+++=====+===+++++++++++++++:::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------------------------------------------~~~~~~~~~~~~~:::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::+++++++++++=+==+==================+========+=====+======+====++======++==+..+++++++++++++++++++++++++++++++++++++::::::::::::::::::~~~~~~~~~~~~~~~~~~~----------------------------~~~~~~~~~~~~~~~~~~~:::::::::::::::++++++++++++========+++++++++++++++++++++++++:--+=========+====================================================================+========+======++=++++++++++++:::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------------~~~~~~~~~~~~::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::++:+++++++++++++====+=+============+=============================+=====++++==: .+++++++++++++++++++++++++++++++++++++:::::::::::::::::~~~~~~~~~~~~~~~~~~~---------------.------------~~~~~~~~~~~~~~~~~~~::::::::::::::::++++++++++++==+++==+++++++++++++++++++++++++:~-+=================================================================================================+=++++++++++++:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------~~~~~~~~~~~:::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++=+++=====================================================+===++===+:.-+++++++++++++++++++++++++++++++++:+++:::::::::::::::::~~~~~~~~~~~~~~~~~~~---------------------------~~~~~~~~~~~~~~~~~~~::::::::::::::+++++++++++++++++++==+++++++++++++++++++++++++:~~+=============================================================+++++++++++++++=+++=+==+============+=++++++++++++++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------~~~~~~~~~~~~:::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++==+================================================================+--~++++++++++++++++++++++++++++++++++++::::::::::::::::::~~~~~~~~~~~~~~~~~~~---------------------------~~~~~~~~~~~~~~~~~~::::::::::::::++++++++++++++==+::+=+++++++++++++++++++++++++:~~+=================================================++=+++++++++++++++++++++++++++++++++++++++++++=+=+=++++++++++++++++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------~~~~~~~~~~~~:::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++===================================================================~-~-:++++++++++++++++++++++++++++++++:++++::::::::::::::::~~~~~~~~~~~~~~~~~~~-------------------------~-~~~~~~~~~~~~~~~~::::::::::::::::++++++++++++++==+::==++++:+++++++++++++++++++:~~+=======================================++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------------------------~~~~~~~~~~~~:::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::+:+:::::::::::::::::::::::+::::::::::::::::::+++++++++++++++++=====================================================================+---.:+++++++++++++++++++++++++++++++::++++:::::::::::::::~~~~~~~~~~~~~~~~~~~---~----------------------~-~~~~~~~~~~~~~~~:::::::::::::::+++++++++++++=+==++::=*++++:++++++++++++++++++:-~+==============================++++++++++++++++++++++++=++=+++==++===+====+=++=++===+++++++++++++++++++++++++++++++++++++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------------~~~~~~~~~~~:::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::++++++++++:+::::::::++++++++++++++++++:+::+::++++++++++++++++==========================================+===+++=======================+-. :+++++++++++++++++++++++++++++++:~:+:::::::::::::::::~~~~~~~~~~~~~~~~~~~-~-----------------------~~-~~~~~~~~~~~~~~:::::::::::::::+++++++++++++++===+=++==++++:+++++++++++++++++:-~+=======================++++++++++++++++++++++++==============================+=++===+++++++++++++++++++++++++++++++++::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~---------------------------------------~~~~~~~~~~~~:::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::++++++++++++::++++::+++++++++++++++++++++++++++++++++++++++===========================+++++++++++++++++++++++++++++++++=++++==========+:. :++++++++++++++++++++++++++++++:~::++:::::::::::::::::~~~~~~~~~~~~~~~~~~~-----------------------~~~~~~~~~~~~~~~~~:::::::::::::++++++++++++++++++===++===+++++:+++++++++++++++:~-~+===================++++++++++++++++++++++++=================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~------------------------------------~~~~~~~~~~~~:::::::::++
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++=+=======================+++++++++++++++++++++++++++++++++++++++++++++++=+=========~ ~++++++++=+++++++++++++++++++++~::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~----------------------~~~~~~~~~~~~~~~~::::::::::::::::++++++++++++++=+++=++++++++++++++++++++++++++:~-~================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------~-~--~---------------~~~~~~~~~~~~~~:::::::::::+++
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++==================++++++++++++++=+++++==++=+==========++=+++++++=+++++++============: -+++++=+++++++:+++++++++++++++=:::::+:::::::::::::::~~~~~~~~~~~~~~~~~~~~~----------------------~~~~~~~~~~~~~~:::::::::::::::::+++++++++++++=++=++=+++++++++++:+++++++++++++:~.:=============++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::~::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~:::::::::::::+++
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++==============+===+=++++++=============================================================+..+++++=+++++++::++++++++++++++=+:+:++:::::::::::::::~~~~~~~~~~~~~~~~~~~~~---~-----------------~~~~~~~~~~~~~::::::::::::::::++++++++++++++=+=++==++++++++++++::+++++++++++:~--:===========+++++++++++++++++++++++++++++++++++++++++++++++++==============+=============+++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::+++++
::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::++:++++++++++++++++++++++++++++++++++++++++++++++++++++++==+==++=++=+++======++====================================================================- :=+++++=++++++:++++++++++++++++++++++::::::::::::::~~~~~~~~~~~~~~~~~~~~~~-------------------~~~~~~~~~~~~~:::::::::::::::++++++++++++++++=++++=+++++++++++++::++++++++++:~.-:=======++++++++++++++++++++++=++++++++++++++++++++++==============================+++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::++++
::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~:~~~~~::~~~~~~~:::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++=++=============================================+++=============================: ~+++++++++++++::+++++++++++++++++:+++::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~------------------~~~~~~~~~~~~:::::::::::::::+++++++++++++++++++=+++++++++++++++::::+++++++::-.-+======+=++++++++====+=+====+======++===++=++=+++++==++=====================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::++++++
::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::~::::::::~:::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++=========================================++===+=++=+++=++=+=====================+..++++++=+++++++++++++++++++++++++++::::+:::::::::::~~~~~~~~~~~~~~~~~~~~~~-----------------~~~~~~~~~~~~~~:::::::::::::++++++++++++++++++=+++++++++++++++++::::::+++++:~..~+====+++++++++=++======++=+===+===+==+==+==++++=+===+=====+===============++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++:::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::+++++++++
:::::::::::::::~~:::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=================================================++++=++++++==+++======================~ :=+++++=+++++++++++++++++++++++++:::::+:~:::::::::~~~~~~~~~~~~~~~~~~~~~~-~~--------------~~~~~~~~~~~~~::::::::::::::++++++++++++++++=+=+++++++++++++++++:~:::+++++:~..:======+++=========+============++++++++++++++++++++======================++++++++++++++++++++++++++++=++======+==+==+++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::+++++++++
::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++================================================++++++++++++++=+++++++++++=+++++===========+.-+++++++=++++++++++++++++++++++++:::::++~:::::::::~~~~~~~~~~~~~~~~~~~~~~~~~--------------~~~~~~~~~~~~~::::::::::::++++++++++++++++=++++=++++++++++++++++:::::+++::~-~+=+++++++++=============++=++++++++++++++++++++++++++=+=================++++++++++++++++++++++++=+++=+++++==+==+=+++++++=++++=++++=++++++++++++++++++++++++::::::::::::::::::::::::::::~~~~~~~~~~~~~~~::~:::::::::::::::::::::::::::++++++++++
::::::::::::::::::::::::::::::::::::::::~~~:::~::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++========================================+++++++++++++++++++++++++++++++++++++++++++++==++======~-+++++==++++++++++++++++++++++++++++:::+::::::::::~~~~~~~~~~~~~~~~~~~~~~~~--~----------~~~~~~~~~~~~~~~::::::::::+++++++++++++++++++===+=+++++++++++++++++:+++++::~~~:::::::+++=======++++++++++++++++++++++++++++++++++++=================++++++++++++++++++++++++++++++++++++=+++++++=+=++++==+++=+++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++=+====++==========++====+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++=:~~+++++==++++++++=++++++++++++++++:+::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~--~-----~~~-~~~~~~~~~~~~~~~:::::::::+++++++++++++++++++++=+++++:::::::::::::::::::::~:::+++++++=======++++++++++++++++++++++++++++++++++++=================++++++++++++++++++++++++++++++++++++++++++++++=++=++=++=+++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++:::::::::::::::::++++++++++++++++++++++=++===+==+=+++=++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+:~::+++=+=====+++=++++++++++++++++++::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~--~~~-~~~~~~~~~~~~~~~::::::::+++++++++++++++++=+++++++::::::+:+++++++++++++++++++========++++++++++++++++++++++++++++++++++++++==================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++::::::::::::::::++++++++++++++++++++++++++==========================================+++++++++==++++++++++++++++++++++++++++++++++++++++++++++:::::::++++++++++===++++++++++++++++++::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::~~:::::::::+:+++++++++++++=+++++++++++++++++++++++++++++++++=====++++++++++++++++++++++++++++++++++++++++===============+=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++=====================================================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::++++++++++++++++++++++++++::::::::::::::::::::::::~::~:~~~~~~~~~~~~~~~~~~~~~~~~::~::::::::::::::::+:+:+:+++++++++++++++++++++++++++++++++++++==+++++++++++++++++++++++++++++++++++++================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++::+++:++:++++++++++++++++++++++==+========
:+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:++++++++++++++++++++++++++++++++++++++++++++++++++===========================================================+===++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::++++++++++++++:::::::::::::::::::::::~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::++++++++++++++++++++++++++++++++++++++++++++++++++===+++++++++++++++++++++++++++==================+=+++++++++++++++++++++++++++++++++++++++++++++++===+==+========++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=============
++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++=++++==+=++=+==============================================================+==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~------------------~~~~~~~~~~~~~~~::::::::++++++++++++++++=+++++++++++++++++++++++++++++++++++++=+++++++++++++=++==++=================++++++++++++++++++++++++++++++++++++++===+===========================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++==========
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::+:+++:+++++++:++++:::::::::::::++++++++++++++++++++++++++++++++++++++++=+++===+==++=====================================================================+==+++++++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++==++++=========================+++++++++++++++++++++++++++++++++++++====================================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++==+===+=++=++++++++++++++++++++++++++++++++++++++++++++++++++++===============
++++++++::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++::::::::+++++++++++++++++++++++++++++++++++++++++====================================================================================+====++===++=++++=+++++++=+++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::~~:~~~~~~~~~~~~~~:::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++==++++++==============+=++++++++++++++++++++++++++++++++++=====================================+=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++===================
++++++++::::+::::+::+:+:++:+++++:+++:+++++++++++++++++++++++++++++++++++++++++++++++++:+:::+++++++++++++++++++++++++++++++++++=++=++==++============================================================================================+==+===+=++==+++++=++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++==++====+++++++======+==+++++++++++++++++++++++++=++==========================================++++++++++++++++++++++++++++++++++=+===+====+++===++==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+=++=======+=======+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::++++++++++++++++++++++++++++++++++++++++==++========================================================================================++=+==+=++++++++++=++=++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::~:~~::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++=====+===++===============++++++++==================================================+====+=++++++++++++++++++++++++++++++++============+==++====+++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++==+
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::+++++++++++++++++++++++++++++++++++++++=+++=============================================================================================+=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++=++++++=============================================================================+++++++++++++++++++++++++++++++++============+======+==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::+++++++++++++++++++++++++++++++++++++++++=++=======================================================================================+==+=+++=+++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++==+++++++++=====+++==============================================================++++++++++++++++++++++++++++++=+=======+=====+=====+++=+++==++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++==+++++++========================================================================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++===++=========+===+++++++++++=======================================================+++++++++++++++++++++++++++++++++++++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++==++++====+==========================================++=+=+=+=+=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++==++=====+============+=+++=+=+++++=================================================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++========+=========================================================+=++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+:+++:+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++=+++=+=============++++++++++++++==================================++=+=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+=================================================================================================++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++=+=====+=====+==+++++++++++=========+===+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=======================================================================================================================================+++++++++++++++++++++++++++++++++++:+++++++++:::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++=++====++==++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++=*****=+++++++==++++++=+==*=*****+++**=+++++++++===**=++++++=*x=+++++++=*++++=*++++++++++++=*=++++++++=*x=+++=====x*=======**=========**=====Yx*=======*VY*======*x*=======*Yx=====xY**==========**xxYYY*====**xxYY*====Y*===*Y*===============================+++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++*YVVVVVY*+:+=*xVVx+:*YYYYYVVVYYYYY==YVVYx++++xxYYVVVVYx++++=xYVVY*+++++=YVY*++YVY=+++++++=xYYVY*:::++*xVVVY======*V$VV*====xVVV*======xVY==xY#%%8*=====x8@%8x+==*Y8%8x+===xV8@%$==+=$%%8#V*====Y$#8%%%%%8Yx$#8%%%%%8$=+=$%%$=+$%%V+======================================+++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++=+==================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++:+*VVx***YVY=+*YVYYVV=:+*x**YVV*=++=xYVY*xVVx++=YVVYxx*==+++=xVVVYYVx++++=YVVV*+*VVY+++++=xYVVYxx*=+++*YVVYYVV*=+=+*V$VVVx=*xVVV$$x====*VVY*=V%@@%@%Y+===Y%@@@@$=xV8@@@@V++*#%@%@@%*+==$@#Y$#8#x=+$@@%#$Yx*=+x%@@#$VY**=+=$@@@#=*%@%x++++++++++=================================++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:++++++++++++++=+================================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++xVVVYxYYVVx+*VVY=*VVx=++++xVVx++++*VVVxxYVVY=+=YVVYYYY*++=xVVY*==*YVx=+=YVVVY==YVV*++++xVVVx*=+++++=YVVx*=+*VV*++*VVVVVVVVVVVVVVV*===YVY*==V%@%YY%@#x==x%@@@@@%8%@%8@@%x+=#@@#x$@%V*=+V%#++=x8%x+V@@@888$*++*%@@888#Y++=$%@@%Y+V%@$+++++++++++++===============================+=+++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++=========================================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++=+++++++++++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++=YVVVYYYx*=+*VVVYxYVVVVx=+*VVx++++=YVVVVVYx*=+=YVVYxxxx*=+xVVx=+++=xVV*=YVVVVV*YVVY=+===Y$V*==+==++=VVV*=+++=YVV==YVVxxYVVVYx*xV$Y==xVVx==+Y%@%8$#@@@%$x8@@$Y8%%%#VxV%@8*=$@@%#$8@@%8Y=8@#=*Y$%%YY%@8$$$$Y=+*8@%$$$$Y*++V%@@@@VY%@%Y++++++++++++++====================================+++++++++++++++++++++++++::::::::::::::::::::::::::::++++++++++++++++=========================**=====*==================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+====================+====+=====+====+++++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++YVV*++++++*VVY*YYxYVVY=+=YVY=++++*VVVVVYx*===*VVY***xxx*=VVV***xxYVVV*xVVVxYVVVVV*=**==xVVYxxx***=*VVY**xxYVVVY*Y$$Y====*====Y$Vx=YVY====Y%@8Y####@@8=#@@#*+=***==+#@@V=$@@$V##$8@@$=Y%@88%%%$x=%@@$YYYV$V*$@@#YYYV$$xx%@@$V%%@@%$=++++++++++++++++===========================*============+++++++++++++++++++++++++:::::::+:++::++++++++++++++++++========================**==********************==========++++++++++++++++++=+++++++++++++++++++++==+==+=========================================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++=YVY+++++++xVY=+++=xVY*++=xVY=++++=VV**xYVVVVY*YVVVVVVVYx=*YVVVVVVYxx==*YV*+=xYYx*+*VVx+=*YYVVVVVY*=xVVVVVVVYYx==xVY==========xVY=x$Y=====$%8x+==*$%%V=V%8*+===+=+==V8$=*8%#=+==x8%8x+Y%%8#Vx*++=V%%%%%%%%#*x8%%%%%%%#Y=$%#=+x$8#Y=++++++++++++++++++++++++====================*=*=====================+++++++++++++++++++++++++++++++++++=+======================*==*******************************============+==++++++++++==+++++++++====================================++==++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++=*=++++++++==+++++=*=++++=**=+++++==+++==**x*===**=====+++==***===+++++==+++====++=**==+=====***=====******======**===============**=====*x*=====*x*===x*===========*===*x======*x====**==++++++=*xxx***==++=*xx***==++=*=++++==++++++++++++++++++++++++++++++++++=++=======================================================+==++=======================*=*************************************===========================================================+============++==++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++=+==++=+=+==========================================================+====+====++===+=+=+=+++++==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++=+=================*==*******=*=*==**===*==========================**********************************************===============================================+=====+=+==+=======+===========++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++++++++++++++++++++++++++==+=++=+============================================================+==+++++++++++++++++++=++++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+========================*=*********************=**==============*******************************************=**===============================================+===++==+=========================+++=====+=+++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++++++++++++++++++++++++++++=+=+=+==++======+=================================+=++++++++++++++++++=+++++++==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++=++++=+++==============================******************=*=*****=**==*******************************************===============================================+====+==================+===+=+===+==+==++===+++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++====++++++==++++==+++++++===+++++======++=====+==++===++==+++==+==========++=====+++=+=======+=*======================YY=+======+++==***=++===*=+++=*=+=+++++*$#=++===+++++=*=++++===+++++==+++===+++++++===**=+++===*=++==+++*=+++++=++++++=+++++++==+==+++=====+=====================================================******************************************=*=**==========================================+=+=+===+======+=========+==+=+++====+==+++++++++++++++++++++++++++++++++++++++++++++++++++++=+=+=+==========================+==+=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=====++===
+++++++++++*xxYYYYYx=++++*Y=+=xVYx=+++=*YYx++=*xYYYYYYYYYYYYxxY*++=YY*=xY*+*Yx=YYYYVYYYVV*=xVV*++==*YYVx====xYVY*====YVY*===xVY====*VVxYx===+Y#xY$##888#V$##88$==*#88V=+++=Y88Y+*Y#8V++++*#%$=++*$8Y++=x$8#=++V8$Vx=+=Y$###88Y*V$##88$=+$8V=*8$=+++=+++=+======+++++=++=++==++++=+++=====================================================*****************************************===================================+==+==+======+==========++=======+++==+==++++++++++++++++++++++++++++++++++++++++++==+=====================================================+=+++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++++=+==++========
+++++++++++*VVx===*VY=++=YV*xVVxY$x++*VVYVY=+=xVV*===YVV*====VV*+=YVV*=VV*=Y$Y=**xVVx==xVYYVY*===YVVYx**==xVVYYVY===Y$$$Y*YVV$V==*YVx=x%8*=+*8@8%@@8Y**Y@@#$V*=*#%8V8%Y++*#8$=+x8%8@8=++*8@@@VY#%@%#+*#%8%%Y++$%YY$#Y=$@%#$Y*=Y%@#$Vx==V%@#=$%$=+++++++==+++=++===+===++======+=========================================================*************************************===========================+===+=+=======++=====+===+==++=++++====++===+==+++++++++++++++++++++++++++++++++++=======================================================+======++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++===++==+==+===+======
++++++++++xYVVYYY=*VY==*YVx*VVVYYY*+*VVYxVVYxYYVVYYYYYVVYYx=xVY==YVVV*xVY=*VV*++=YVx+=+=YVVx====YVx=====*YVx===xVx=Y$YYVVVYxY$Y*xVY*=+V%8**Y8%$*xxY$%Y=$%8##$*+V@@88#$*=V8#x++x%@#V%@#Y*8@#8%%8#V%%Y=#@%V8%8V=$%*=Y88x8%8##V==$%8##$*=V%@@$x%%x+===+======================+=====+====================================================*********************************=================================================++=++===+++=+++++++++=+++++++++++++++++++++++++++++++++=================================================++==+=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++=+++=++++=++=++=+=++++==+==+==++===+======
++++++++++xVY***==*VVYVVY*+x$VVYx***VVxxYYVV*Y$Y***=Y$Y***=+xVx+xVVxYVVV*+*VY===*VY====*VV*=*x*=xVYxxxx=*$VxxxYVVxx$V*=***==VVxYVx====x%%8%%#x==xYV#%Yx%%$VV$V*8@%%8Vxx8%V=++*8%V$$#@%*$@#==**=+x%8*#@$V$$%@Y*%@#88$x$@8VV$$Yx%%$VV$VY%@$#%%%$===========================+==========+================================================*************************========================================================================+===========++++++++++++=+++==============================================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++++++++=++++++++++=+==+=+++==+=++====+=========
++++++++++=x*+++++=*xxx*=++*Y**xYYYYY*+==xY*+*Y=+==+*Y=+==+=*Y*+*Y*+=xx*===xx====Yx====xY*==xY*==*xYYYY*=xYYYYYx*=*Y*=======xx=Yx======Y$$Vx==+*$#$Y*==V##$$$Y=V$*xV$###V=+++*$Y+++Y$Y+Y$=++++++=Vx=$V=++*$V==$$Y*=++*$#$$$Vx=V##$$$Y*VV==YVY=+=========================++===++=+===========================================*===*====****************=========================================================================================================================================++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++++=+++++++++==++++=+=++=+==+==++=+==+===============
++++++===++===+====+=++++++==+=+================+========+==+=======+===============================================================================+=====+++++++++++==++++++++++++++++++++++++++++++++++++++++++++++++====++=+====++=+++++++++++++++++++++++++++++++++++++++++=========================================================*===========================================++==+=+++++++===+=++=++======================================================================+=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++==+++++++++=++++=++++++==+++==+==++===+===++========================
=++++==+=+========+==+====+==+=====+================================================================================================================+=++++++++++++++++++++++++++++++++++++++++++++++=+++======================+==++++++++++++++++++++++++++++++++++++++++=====================================================================================================+++++++++++++++++++++++++++=+=++=============================+=++++++++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++=+++++++++++++++++++=++==++==++===++====+=======+======+===============================
=======+========================================================================================================================================++++++++++++++++++++++++++++++++++++++++=+==================================++++++++++++++++++++++++++++++++++++++++++++++===========================================++++++====+===========================================+++++++++++++++++++++++++++=+++++=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++==+++=+=+==+==+=++++=++++++++=++=====+==+++===+==++=+=+====+====+=====+=========+=================================
============================================================================================================================================+++++++++++++++++++++++++++++++=========================================+=+++++++++++++++++++++++++++++++++++++++++++++++++++++=================================++++++++++++++++++++================================+=+=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++=++=+==+++++=+++++=+===+==+==+=+=+=====+======+=++===+===========++====+=============================================================
========================================================================================================================================+=+++++++++++++++++++++==+========================================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+=======+++++++++++++++++++++++++++++++++++++++===========+=+=+================++++++++++++++++++++++++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+====++++==+=++=++++++++++++=+=++++=====+=+==+==+=+==+=+=====+==+=======================+==========+===+===========+=========================================
=====================================================================================================================================+=++++++++++++++===========================================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=================++=++++==++===++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++++++++++++++++++++++=++++=++++++++++=+++====+++=++==+=+++++==+++++++++++++++====+====+======+===++========+=+==+=========+=================+==============++================+=========================================
==================================================================================================================================+=++==+++=+===============================================+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++====+=+++++++++++++++++++++++++++++++++++++++++++++++++=+++==========+==++=+=+=+==++=+==++===+++=++++=++++++++++++++++++++++++++++++++++++++++=++++++++++=++++++++=++++++++=++++=+++++++++++++++=+++++=+++=++++=+=++==+++=+=+=+==+++====++=+=++=++==+=+=++++==+==+=+=+=+====+=+==+==+====+==+===+=+===+============+=========+========++===+==+=+============+====================================================
54.236.58.220@honeybii.com ~
$ ls -l | tail -n 100 && echo "show last 100 asciis"