.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
........................................................................................................,,,,.........................................
....................................................................................................,,,,,,,,,,.......................................
.................................................................................................,,,,,:::::::,,......................................
.............................................,,,............................................,,,,,::;:;;;;;;;:::,,....................................
.......................................,,,,,,,,,,..........................................,,,::;iii**iiiiiii;;:,,,..................................
................................,,,,,,,,,:,,,::,,,,.....................................,,,:;;i*++#+++++*****ii;::,,,................................
...............................,,,,::::::;;;;;;:::,,,.................................,,,,:i*+#zznnnz####+++***ii;::,,...............................
..............................,,,::;;;iiii**+++**i;:,,,,.............................,,,::i*+#zzzzzz#####+**+***ii;::,,..............................
............................,,,::;iiii**++##zzz##z#*i;;:,,..........................,,,:;i*+#z######++++*iii****ii;;:,,..............................
...........................,,::;i****++#####zznnnnnz#*i;:,,,,.....................,,,,::i*+####+##+*i;;;::;;;;;;;;;;;:,..............................
..........................,,:;;i++++#####+++#zznnnnnn+*i;:::,,,..................,,,,:;;i+##++++++*i;;;:::::::::;;;:::,..............................
.........................,,:;i*++#+++++++++####zzzzzz#++i;;:,,,,.................,,,:;ii*++++++++**ii;;;::::,,,::::::,,,.............................
.........................,,;i*++++++**i;;;ii**+#zz###z#+**i;:::,,,..............,,,:;ii*++++####++**ii;;;;::,,,,,,,,,,,..............................
........................,,:;i*++**ii;;;;:;;;i**+#zzzz###++**i;::,,.............,,::;i**+++##zzzzzz##++**i;;:,,,,,,,,,,...............................
........................,,:;iiiii;;:::::::;;;i*+##znnnz###+++*i::,,,..........,,,:;i*++###zznxxxxnnnzzz#+*i;:,,,,,,,,,...............................
........................,,:;;;;;;::::::::;;;i**+#zznnxnnnz###+*i;:,,..........,,:;i*+###zznxMxn#+*iii*+#z#+*;:::,,,,,,...............................
........................,,::::::::::::::;iii*+#zxxMMMMxxxnnzz##*i;:,,........,,::i*+#zzznxMxz+*iiii;;;;;i+##+i;::,,,,,...............................
.........................,,,,,,,::::::;;i*+#znnnnnnxxWWMxxnnnnz#*i;:,........,,:;i+#zzznxnz#++#nnnxxnz+*iii*zz*i;::,,,...............................
.........................,,,,,,,,,::;;i*+#nxn+*iii*++zxMWMxnnnnz#*i:,,.......,,:;*+#zznnz#+#zxW@@W@@WWMxn+ii*#n#*i;::,,..............................
..........................,,,,,,,::;ii+#nxz#++znxxxxzz##nxMxnnnnz+*;,,.......,,:i*+##zz#++#nxW@MzM+MWWMznxz#**+zz+i;:,,..............................
.............................,,,::;i*+nxn##zxW@@@@@@@Mxz###nnnnnz#*;:,.......,,:i*+++#**+#z+zMMMxWzMMMM+*#xxn+**++*;:,,..............................
.............................,,:;;i+zxxn#nxMW@@MnMzW@Mnnn#**#zzzz#*i:,.......,,:i*++*ii*#+i:#nnW@@@Wxnn*;*+zxxz+**i;:,,..............................
............................,,:;i*#nMxznxMnzMWWWxW#MMM#i+z#i;*####*i:,.......,,:;i*ii:i#*i:,*zzM@@@Mxz#;:ii#z#z#**i;:,,..............................
............................,,:i*#xMxnxxMn+#MMMW#@@Wxx+::i##i:i*++*i:,,.......,:;ii;;;+*::,,:#nnxMMxzz*,:;i******i;:,,...............................
...........................,,,:i+zzznxMxz+*+xxxM@@Wxnn;,,:;+#;:i***i:,,.......,:;;;;:;i:,:,,,izznxnnn#:,::::i*ii;;:,,................................
...........................,,,:;*+#znnxn+iiizxnxxMxnn#,..,,;*;:;i*i;:,,.......,::;;;;:;:::::::i*#+##+;,,,,:;ii;;:,,,,................................
............................,,:;i*+##+++*i;:*nnnnnnnz;.,,::;;::;ii;;:,,.......,:::;;;:,,,,:::,,,:::::::::::;;;:,,,,..................................
.............................,,:;ii*+*i;::;::*znnzz+;,::::::::;;ii;;:,,.......,,::;;;:::,:::;;;;;:;:;;;;;;::::,,,,...................................
.............................,,,:;;i**i;:::::,;i*i;:,,,::,,,,:;;;;;;:,,.......,,::::;:::::;;;iii;;;i;;;;;::::,,,.....................................
..............................,,,,:;;i;;;;;;::::::::::;;::::::;;;;;::,,.......,,,::::::,,,,::;;;;;;;;;;:::::,,,......................................
...............................,,,,,,::::;;;i;;i;ii;;;;;::,,::::;;;::,,........,,::::::,...,,:::::::::::::,,,,.......................................
..................................,,,,,::::;;;;;;;;;;;::,,,,::,:;;:::,,........,,,::,,,,,....,,,,:,:,,,,,,,,.........................................
...................................,,,,,,,:::::::::::,,,,.,,,,,:;::::,,........,,,,,,,,,........,,,,,,,,.............................................
......................................,,,,,,,:::::,,,,,....,,,:::::::,,,......,,,,,,,,,..............................................................
........................................,,,,,,,,,,,........,,,:::::::,,,.......,,,,,,,,..............................................................
............................................................,,,:::::::,,.......,,,,,,,...............................................................
............................................................,,,:::::::,,.......,,,,,,,...............................................................
...........................................................,,,,,::::::,,.......,,,,,,,...............................................................
...........................................................,,,,,::::::,,,......,,,,,,,,..............................................................
...........................................................,,,,:::::::,,,......,,,,,,,,..............................................................
...........................................................,,,,:::::::,,,......,,,,,,,,..............................................................
...........................................................,,,::::::::,,,......,,,,,,,,,.............................................................
...........................................................,,::::::::::,,......,,,,,,,,,.............................................................
...........................................................,,:::;::::::,,,.....,,,,,,,,,.............................................................
..........................................................,,::::::::::,,,.......,,,,,,,,,............................................................
..........................................................,,::::::::::,,,.......,,,,,,,,,............................................................
..........................................................,:;:::::::::,,,.......,,,,,,,,,............................................................
.........................................................,,:;;::::::::,,,.......,,,,,,,,,,...........................................................
.........................................................,,;;:::;::::::,.......,,,,,,,,,,,...........................................................
........................................................,,,;;;;;;:;;:::,........,,,,,,:,,,...........................................................
........................................................,,:;;;;;;;;;;::,,.......,,,,,::,,,,..........................................................
........................................................,,:;;;;;i;;ii;;:,,,....,,:::::::,,,..........................................................
.......................................................,,,:;;;iiiiiiii;::,,,,.,,:::::::::,,..........................................................
........................................................,,:;iii***iiii;;::::,,,::;;;ii;;:,,..........................................................
........................................................,,:;i**++zzz*ii;;::::,:::;*##+*i:,,..........................................................
.........................................................,,:;*+#zxxMMz*ii;;;::;;i#xnz#*;,,,..........................................................
.........................................................,,::i+zzznnxxz**i*iii;i#z##+*;,,,,..........................................................
..........................................................,,,:;*###++#z#++++***+*iii;:,,,,...........................................................
...........................................................,,,,:;;;;ii*++++++***;::,,,,,.............................................................
.............................................................,,,,,:::;;*+++++*i;::,,,,,..............................................................
...............................................................,,,,,:::;*+##+*;:,,,,.,...............................................................
...............................................................,,,,,,,::;i++*i::,,,,.................................................................
...............................................................,,,,,,,::::;;i;:,,,,..................................................................
................................................................,,,,,,,,,,,,::,,,,,..................................................................
................................................................,,,,,,,,,,,,,,,,,,...................................................................
.................................................................,,.,...,,,,,,,,,....................................................................
..................................................................,....,,,,,,,,,,....................................................................
................................................................,,....,,,,,,,,,......................................................................
...............................................................,,,,.,,,,,,,,,,,......................................................................
...............................................................,,,,.,,...,,,,,,......................................................................
................................................................,........,,,,........................................................................
.............................................................,,,,...,................................................................................
...........................................................,,,,,,,,,,,...............................................................................
...................................................,,,,,,,,,,,,,,,,,,,..........,,,,,..,.........,,..................................................
..................................................,,,,,,,,,,,,,,,:::::,,......,,:::::,,,,,,,,,,,,,,,.................................................
.................................................,,,::::::::::;;;iiiii;;::,,,:;;ii*iii;;:::::::::::,,................................................
.................................................,:;iii;;;;ii**+++++**+**i;;;i**+*+++****iii;;i*+*;:,................................................
.................................................,,:i+z#++++#zzzzzz####++***++++#++##zzzzz#####+*i;,,................................................
..................................................,,:*#znxxxxMMMxxxnzzzz########zzzzzzzzzzzz#+*;::,,,................................................
..................................................,,,:;i*#zzzzzz#+##zzzzzzzzzz###+*ii;;;;;ii;;::,,,..................................................
...................................................,,,:::;;;iiii;i;;;ii**++++*ii;:::::::::;:::::,,...................................................
.....................................................,,:::;;:;;;;;:,::,::::::,,::,,,::;;:::::::,,....................................................
......................................................,,::;;;;;;;;;:::,,,,,,:,.,,,,::;;:::::::,,.....................................................
......................................................,,,::;;;;;;;;;;;:;:,,.,,,,:::;;;;:::::,,,,.....................................................
.......................................................,,,::;;;;i;iii;;;;;:,::;;;;;;;::::::,,,.......................................................
........................................................,,,::;;;;;;iii;;;;;;;;;;;;;;;;::::,,.........................................................
........................................................,,,,:::;;iiiii;iii;;;;;;i;;;;;::,,,..........................................................
.........................................................,,,,,:::;ii********ii**iii;;:,,,,...........................................................
..........................................................,,,,,,,::;;i*++++++++*i;::,,,,.............................................................
..........................................................,,,,,,,,,,:::;iiiii;;;:,,,,,...............................................................
...........................................................,,,,,,,,,,,,,,::::,,,,,...................................................................
..............................................................,,,,,,,,,,,,,,,,,......................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
...................................................................................................................................................:.
...................................................................................................................................................*.
.....................................................................................................................................................