i i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i:i.
:                                                                                                                                      .     .   . .  
i i::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::::::::i:i:i:i:iii:i:, i:,:.:i,,:i 
: ::::,:::::,:,:::::::,:::,:::,:::,:::,:::::::,:,:::::::,:::::::::::::,:::,:::,:::::::,:,:,:::::::::::,:,:,:::::::::::,:,::.   ,...... :, ,, . .:. .i.
: :,:::,:::,:,:::::,:,:,:::,:::::::,:,:,:,:,:::,:::::::::,:,:,:,:,:,:,:,:::,:::,:::,:::::,:,:::,:::::,:::,:,:,:::,:::::,::: . , . . .. ,i   ...  ...i 
: ::::::::,:::::,:,:,:::::::::,:::::::::,:,:,:,:,:::,:,:,:::,:,:,:,:::::,:,:::,:,:,:::,:,:,:,:::::::,:::,:::,:,:,:::::,::::::i:::::i:::::i:i:i:i:i:i:.
i :::,:,:::,:::,:,:::::,:,:,:::,:::,:,:,:,:,:,:,:::,:,:::::::,:,:::,:::::::::::,:,:::,:::,:,:,:,:::,:::,:,:,:,:,:,:,:,:,:,:::::,:::::::,:::,:,:::::,i 
: ::::::,:::::,:,:,:,:,:,:,:,:::,:,:,:,:::,:::,:,:,:,:,:,:::,:,:::,:,:::,:::::,:::::,:::,:::::,:,:,:,:,:,:::,:::,:,:,:,:,:,:,:::,:,:,:,:::,:,:,::::::.
i :,:,:,:::::,:,:,:::,:,:,:,:::::::,:::,:::::,:,:::::,:::,:::,:,:::,:::::::,:::,:::,:::::::,:,:,:,:,:,:,:::::,:,:,:,:,:,:,:::,:::::::,:::,:,:,:,:,:,: 
: ::::,:,:::::::,:,:,:::::::,:,:,:,:,:,:::,:::::,:::,:,:,:,:,:,:,:::,:::,:,:,:::,:,:::,:::::,:,:::::::,:::,:::::,:,:,:,:::::,:::,:::::,:::,:,:,:::,::.
: i::::,:,:,:::::::,:,:,:,:::,:,:::,:::::,:::,:,:,:,:::::,:,:::,:,:,:,:::,:::,:,:,:::,:,:,:,:,:,:,:,:::::,:::::,:,:,:,:,:,:,:,:::::,:::,:,:,:,::::::i 
: ::::,:,:,:::,:::::::,:,:::::::,:,:,:,:,:,:,:::,:,:::,:::::,:,:::,:,:,:::,:,:,:::,:,:::,:,:,:,:::,:,:,:,:,:,:,:,:,:,:::::,:,:::,:,:,:,:,:,:::,:::,::.
i :::,:,:,:,:::::,:,:::,:::,:::::,:::,:,:,:,:::,:,:::,:,:,:::,:,:,:::::::::,:,:::,:::,:,:,:,:,:::,:::::,:,:,:,:::::,:,:,:,:,:::,:,:::,:,:,:,:,:::,::: 
: ::::,:,:::,:,:,:::,:,:,:,:,:,:,:::,:::,:,:,:::,:,:,:,:::,:::,:,:::,:,:,:,:,:::::,:,:,:::,:::::,:,:,:,:,:,:::,:,:,:,:,:,:,:,:::,:,:::,:,:,:,:::,:,::.
i :,:::,:::,:::,:,:::::,:::::::,:,:,:,:::,:,:,:,:,:::,:,:::,:,:,:::::::::::::,:::::,:,:,:,:,:::,:::,:,:,:,:,:,:::::,:,:,:,:,:,:,:,:,:,:::,:,:,::::::i 
: ::::,:,:,:::,:::,:::,:,:,:,:::::::::,:::,:,:::::,:,:,:,:,:::,:::::,:::,:,:::,:,:,:,:::::,:,:::,:::::,:,:,:::::::,:,:,:,:,:,:,:,:,:,:::,:,:,:,:,:::: 
i :::::,:,:,:,:::,:,:,:::,:,:,:,:,:,:::,:,:::,:,:::,:::,:::,:,:,:::::,:::::,:,:::,:,:::::::::,:::,:::,:,:,:,:,:::::::::,:::,:,:,:,:::::,:,:::::,:,::: 
: ::,:::::,:,:,:,:,:::::::,:,:,:::::,:,:::,:::::::,:,:,:,:,:::::,:::,:,:,:,:,:,:::,:,:,:,:,:::,:,:,:,:,:::::,:::,:,:::,:::,:,:,:,:,:::,:,:,:,:,:,:,::.
i :,:,:,:,:,:::,:,:,:,:::,:::,:,:,:,:,:,:,:::,:::::,:,:::,:,:,:,:::::::::::,:,:,:,:,:,:::,:,:::,:::,:::,:,:,:,:::,:,:,:::,:,:::,:,:::,:,:,:,:,:,:,::i 
: ::,:::::,:,:::,:,:,:::,:,:::,:::,:::::,:,:,:::::,:,:,:,:,:::,:::::::,:::,:::,:::,:,:,:,:::,:,:,:,:::,:::,:,:,:::,:::,:::,:,:,:::,:::,:,:,:,:,:,:,::.
i :,:::,:::::,:::::,:::,:,:::::,:,:,:,:,:,:,:::,:,:,:,:,:::,:,:,:,:::,:,:,:,:::,:::,:,:::,:,:,:,:,:,:::,:::,:,:::::::,:,:,:,:,:,:::,:,:,:::::,:,:,::: 
: ::,:,:,:,:,:,:::,:::,:::::,:,:::,:,:,:,:,:,:::::::,:::,:::,:,:::,:,:::,:,:,:,:::::::,:,:,:::,:::,:,:,:::,:,:,:,:::,:,:::::,:,:::,:,:,:,:,:,:,::::::.
i :::,:::::,:::::::,:::::::,:,:,:::,:::::,:,:,:::,:,:,:,:,:::,:,:,:::,:::,:,:,:,:,:,:,:::,:,:::,:,:,:,:::,:::::,:,:,:,:,:,:,:,:,:::,:,:,:,:,:,:::,:,: 
: ::::,:::,:::::,:,:::,:,:,:,:,:,:,:,:,:::::,:,:,:,:,:,:,:::,:::,:::,:,:,:,:,:::,:,:,:,:::::,:,:,:::,:::,:,:,:::,:,:,:,:,:,:,:,:::,:,:,:::,:,:,:::,::.
: :,:::::,:,:,:::,:,:,:,:,:,:,:,:,:,:::::,:,:,:,:,:,:,:,:::::,:,:,:,:::,:,:,:,:::,:,:::,:::,:,:::,:,:,:,:,:::,:::::,:,:,:::,:::,:,:,:,:::,:,:::,:,:,i 
: ::::,:::,:,:::,:,:::::::,:::,:::,:::,:::::,:::,:,:,:,:::,:::,:,:::,:,:::::,:,:,:,:,:,:,:,:,:,:,:::,:,:::::::,:,:,:,:,:,:,:,:,:,:::,:,:,:::,:,:,:,::.
i :::,:,:,:,:,:::,:::,:,:,:,:::,:,:,:::,:,:,:,:::::,:,:,:::,:,:,:::::,:,:::::,:,:,:::,:::,:::,:,:,:::,:,:::::::::,:::::,:::,:,:,:,:,:::::,:::,:::,::: 
: ::::,:::,:::,:::,:,:,:::,:,:::::::,:,:::,:::::,:,:::::,:,:::,:,:::,:::,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:::::,:,:::,:,:::,:,:,:::,:,:::::::,:::,:,:,::::.
i i::,:::,:,:,:::,:,:::::,:::,:,:,:::,:::::::::,,.,.,.,.,.,.,,,,,.,.,,,,,,:,,,,,,.,,,.,,,,,,,,,.,,,.,,:,:::,:,:,:,:,:,:,:,:,:::::,:,:,:,:,:,:,:,:::,: 
: ::::::::,:,:,:::,:,:,:::::,:,:,:::::,:,:,:,:,,                        ,,:.                           .,:,:,:::,:::,:,:,:::::,:::,:,:::,:,:::,:,::::.
i i::::,:,:::,:,:,:,:::::,:::,:,:,:,:,:,:::,:,: MMMMMM@@MMMW0MM0MMMMMMMX.,.;MMWWMMMMM@MMMWWM@MMBMMM@BMM;.::,:,:,:,:::::,:,:::,:,:,:::::::,:,:,:::,::i 
: ::::::::,:::,:,:,:::,:,:,:::,:,:,:::,:,:,:,:,.;XXXXSSXaZZa2ZZSSSX2aZZ7.:,:X77X7777r777;r;X7X7XSSSSX2a:.:,:::,:::,:,:,:::,:::,:,:::,:::,:,:,:,:,:,::.
i :::,:::,:,:::,:,:,:,:::,:,:,:,:,:,:,:::,:,:,:,                        :::,                           .:::::,:::,:::::::,:,:,:::::,:,:,:,:,:::,:,::i 
: ::::::,:,:::::,:::,:::::,:,:::,:::,:,:::,:::,:,,,,,,,:,:,,,,,,,,,:,,,,,:::,:,,,:,:,:,:,:,,,:,:,,,:,,,:,:::,:,:::,:::,:::,:,:,:,:,:,:,:,:,:,:,:,::::.
i :,:,:,:::::,:,:,:,:,:,:,:,:::::::::::,:::,:::,:,:,:::::,:::::,:,:,:,:::,:,:::,:,:::,:,:,:,:,:::::,:::,:,:::::,:,:::,:,:::,:::,:,:,:,:,:::,:::,:,::i 
: ::::,:,:::,:::,:::,:,:::,:,:,:,:,:,:::,:::::,:::::::::::,:,:::,:,:,:,:::::::,:::,:,:,:::,:::::,:,:,:,:,:,:,:::,:,:,:,:,:,:::,:,:,:,:,:::,:::,::::::.
: :::::::,:,:,:,:::::::,:::,:::::,:,:,:::,:::::::::,:,:::,:::,:::,:,:,:,:,:::::,:::,:::,:,:,:,:,:::::,:,:,:::,:::,:,:,:::::,:,:,:,:,:::::,:,::::::::: 
: ::::,:,:,:,:::::,:,:,:,:,:,:,:::::,:::::::::::,:,:::,:,:,:::::,:,:,:::,:,:,:,:::,:,:::::,:,:::,:,:,:::::,:,:,:::,:,:::,:,:,:,:,:,:::::::::,:::::,::.
: :::,:,:::,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:::,:,:,:::,:::,:::,:,:::,:,:::,:,:,:,:::::::::::,:::::,:,:,:,:,:::,:,:::,:::,:,:::::::,:,:,:::,:,:::,:::,::: 
: ::,:::,:,:::,:::,:::,:,:::,:,:,:,:,:::,:,:::,:,:::::::::::::,:,:,:,:::::,:,:::,:,:,:,:,:::::,:::,:,:::,:,:,:,:,:::,:::,:::::,:,:::,:::::,:,:::,::::.
: :::,:,:,:::::,:,:::,:::::,:::::::,:,:::,:,:,:,:,:,:,:,:::::,:,:,:,:,:::,:,:::::::::::::,:,:,:,:,:,:::,:::::,:,:::,:::::::,:::,:,:,:::::::,:::,:,::: 
: ::,:,:::,:,:,:,:,:::::::::,:,:,:,:::::,:,:,:,:,:::,:::,:,:::,:,:::,:,:,:,:,:::::,:,:::,:,:::,:,:::,:::,:::::,:,:,:::,:,:,:,:,:,:::,:::::,:,:,:,:,:: 
i :,:::,:,:::,:,:::::,:,:,:::,:,:,:,:,:,:,:,:,:,:,:::,:,:,:::,:::,:,:::,:::,:,:,:,:,:,:::::,:,:::,:,:::,:,:,:,:::,:,:,:,:,:::::,:,:,:,:,:,:::::,:,::: 
: ::::,:,:::::,:,:::::,:::::,:,:::,:,:::,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:::,:,:::::::,:,:::::::::,:::,:,:::,:,:,:::,:,:::::::::::,:,:,:::::,:,::.
: :::::,:,:::,:,:::::,:::,:::,:,:,:::::,:,:::,:::,:,:,:,:,:,:::::,:::,:,:,:::::,:,:,:,:,:,:::,:,:,:::,:,:,:,:,:,:,:::,:::,:::,:,:::,:,:,:,:,:::::::,i 
: ::,:::::,:,:,:,:::::,:::,:,:,:::::,:,:,:,:,:::,:,:,:,:,:,:,:::::,:::::::,:,:::::,:::::::::,:,:,:,:::,:::,:::,:::,:::::,:,:,:,:::::::::::::,:,:,::::.
i :::::::::::::::::::::::::::::::::,:::,:::,:,:,:::,:::,:::,:::::,:,:::,:::::::::::,:::,:::,:::,:::::::,:::,:::,:::::::,:::,:,:,:::,:::::,::::::::::i 
: :i:i:i:i:::::i:::::i:::::::i:::i:i:::i:::i:i:::::i:i:i:i:::::::i:i:::i:::::i:i:i:::::i:::::i:i:::i:::::::i:::i:::::i:::i:i:::i:i:i:::::::::::::::i:.
i .     .   .   .   . .   .   .               .     . .     . .   . . . . . .   .   .   .   . . .   . .   . . .   . . .   . . . .   . .   . .     . . 
