d8888 .d8888b. .d8888b. 8888888 8888888 d8888 8888888b. 88888888888
d88888 d88P Y88b d88P Y88b 888 888 d88888 888 Y88b 888
d88P888 Y88b. 888 888 888 888 d88P888 888 888 888
d88P 888 "Y888b. 888 888 888 d88P 888 888 d88P 888
d88P 888 "Y88b. 888 888 888 d88P 888 8888888P" 888
d88P 888 "888 888 888 888 888 888888 d88P 888 888 T88b 888
d8888888888 Y88b d88P Y88b d88P 888 888 d8888888888 888 T88b 888
......................................................................................... .. .... . .....................;..;=. ....;;. ++=;.;.;;.....=.......;=..=+=;=...=;=..=;.;==+;.;=....;...=;;....;..;......;.....;.....................;+.;.=.;.. ....... ... ..... . ;=.... .. ; ... .. ;;. . .==.;..;;=......;=.===......;==............;=.;............................;...................................
.......................................................................................... ..... ...;;........;. ...;;=......;..;+=. ;=;=;=;+=.;;..=..;;.;;=.;;.;.;;;...;=;..=;...;.;......+;.;;;+...;=;.=......=.;;..=................;;....;;+;.;=;. .. .;..= ...... . ... ...;... .. . . . . ; . .=.=. .; =====..==.;;;;.;;=;;;...;;..;=......;=;...;;=.+;...........................X...................................
.......................................................................................; ... ;. ... ....... ....;;..;;;;;....;;=;.;;.; .;;;=+.=.;;==.=;.;;.=+;..;.=..;=;...;;;;.=;;;=;=.;;....=.====.;;;;.........=......................;;....;;;;..;=.; .... .. =. .. . .. .. .... ... ;=. = ... .... ;.. . .;. ===;=..;...;=;;;;=;..;;.. ........;;;;.;;;..................................................................
.......................................................................................;.....;. ..;; ....;;....;....;;;;;....;;;; ;..===;.;==...;==+.;;;=;..;;.;=.;..;;;..=;;=;..;;=;...;=;...=.;;;=.;=....=....................;;;;.......;.;;;.;..==;.;. .;=. ..=. . . ........ . . ... = .;;;;;= .. .;.;=;=;.==.==;=. ;;=;.;.;;......... ;.;;......................................................................
................................................................................... ..............;;.....;; ;;.. ..........;;.;;..;;;;;;..;;=...;+=;.;;;; ;=..;===+.;;...;+=;;......=;...===;.==..;+....=+;=......;;.....=;;=;=.;+;;...;==;; ;.=;;=;===... ;==. .. . ...... . ; .. . ...; . .;..= ; . .;;.. =..;;.=;.;..=;;.=;.;; ..............;.................. .................................................
............................................. ................ ...................................;..... .. . . .....;; ...;.;....;;....;;=;.=.=+;=..;;..;;=.;;..;====;.=;=;;....;;;;.;+==+=.;=.=+;++..+=.........;.=;..;;==;+=.;=X;..;+=.. .;=;=..+... = .;=. .. . .;; .;= . ;. .. .= . . . ; ==; ;... =....; ;=; .=..;=..=..;;................=. ....=.............................................................
.......................................... ..................................... . ........ ....=;.....=;.........;=.;;..;;....;=...........=.;=;;.=..=+;=+; ==.;=;=+;.;=..=;........=;;.;=....+=.;;..;.+;+===+;;+.;...++;;+X+..;;=X=.;.=; X++;=X ;.. =;.. =. .= ;= = . . ..=. ;.;. . ;. = .. = =; ..=... . .=;==;.;..;;;;=. .=;.=;;..........;.. ...;.............................................................
................................ ..................... .......... ................ . ..... .=;.....=;.. ....;...;.. =..... . ...=..=;..=.;+=;.==;==;;.;;=..=;.;=;;..;=;;=+;;...=;.;;=;.X....+;..;..;.+....;.;+==..;;;+.=;.+X=..++X;==;=;+=.. ===.=; ; .;. ..; . .= .. = ; . ; .=. .. .=. .;;. ;. ..=;=;. ...;.....;;..; .... =;... .......................................................................
...................................................... .................. ....... .................;..=.....;... =;+....;;..;........;..;.;==;.;=.;==.==.;;;=;===X;;=;==+;+=.;;;=;==;..=;...;.;;=..=;.;;;.=;.==;;;++;+.=;;;=;;..==;;;;===.=..+; ;++ +.;; ;+.=. ; ;;. . . . .. ; .;.. .. ;...==... ;;.. ==;.;...;;........=.....;;;.......;;;.. ..............................................................
............ ......................................... . ........... ........... . .......... . ..;...... ;...;;=.. ;=+.;;.;;..;;.=;;+.;=;.=+=..;; =.;;=...;;==;;.;==;X;.;==;;....;.=...;=+=..;;.;===...=+=+=X;.;X=;.X=;;====.;=.+==;;;==++.;= .=;... = ;. =+ . .; .. . . .... ;. = .. .;.;=;;;..;;....;;.=;..;. .. .;;..;...... ..;;...=;..................................................................
............................... ........ ....... ..... ..... .............. ...;............ ... ;....;.;......;...;.;.=;.;;..=+==;;=;;===.==;..==;=...;.=;;;;=;;;;=+==;.;=;++=;==+=..;=;X=...;;...;;=;.X+=+==;=+XX===X+;=;=X;.;=XX====;.;X;+= ;===+..; ..; =; ; . . . = . ;;..; . =.. =.;;;;;= .;........;..;;. ...;;;.=;....;;......;............................+++=.....................................
................................. ........ .................. . .. . ..... .............;;. ... ... ......;;..;.;.;..;;;..;;.....==;;;..;==;;.=;=...+;;..;..++;;;;=;=;;=X.;.==;;=+=;;;=.;+====.;=;;.++;.+;.=+;+=+;XXX=;;+===;.==;..+XXXX=..;+==X+=.;;;===;.+ . . .;. .. . . .. .; ...;; ;=.;. ;;. .;;;. .; .......=;... ;=;..;=...;;...;...=..................+XXXXXXXXX###+.....................................
.............. ....... .;;...................... . ....... .... ..... .......=;. ;;.....;...=.... ...;; .....;..;=.;;..........;;.....;=;==.=;=; ;..;=;==;=+;==+=;;.=+=;==;.=;+;;=;...====+.;;;..;;==;+;XX=++X;X;=XXXX+;;=X=+ ..=XXX;X=. X ;;+;=X=.. .+ ;++; .= . . . .; . .. . ; ;..==;;... ; =.;; ..;=;...=;;..... ;; . ;....;...;.............XMMMM####X......=X;.....................................
............................................... .... ..... .. .... ... .. ........=. ........;=... .......= ........ .....;=;..... .=....=++ ..;..==..++;;;+;;+++=..=+;;;==;+;+===;=;.....=;.;=.+;X+..=X;X;==++XX;XXX=X;;+=;+;;=.. =X+;+. + . +;X=..=. ==.. . =;... . . . ;.. . . .== .=; ....=.== ;;;=;=......;=..=;....;........X;.......=.........XM.. .. . =+......................................
............................ ....... ..... ......... .... ..... ..... .......;.. .. .... .... .......... ...;.. ..;;...=;;.=;.;=.; ==;=.=;+;;...==;=;;;;;++==+==.;=;=;+.;+=.;.;;..;+.;=...;=+=;.X.;...+;.;...;+;+;X=X;;;=;+; .;==.... +;..=;=X = .;.. = ;;X ; . .= . . . . . ; ; .. .=. ;; =; .=;;. ;;. .=.;; ..;;;;........X......................;X#. .X.......................................
............... ......... ..................... .... ....... ................... .... . ... ..;....; ..;..........;=;;.; ;.=;=. ;;=;.;.;.=++==...;;+=;==+++=;==;;.;==;.=;;=+;=;===.+X.;;...=...=;=;=.;;.+;+..;X;..=X=X;==;+=;;.==== X;. =X.+ .... . +.+.;=.=X ;; =.. ... ; . . =; ;=.= ;;;.=. ...= .;;.=;..... ......... ....... .......; ..;;...;X#M. =X.......................................
............................................ ............ .. .;;........ . .... .. ...... .;;..;.=;;.;;..........;.;.=.;;;..;;;;;;.=;;.=+=;=;=;==+;;=;=+====++=.;=;;.=;=+=+;=.;=;.=;;;;.=.;;;X;=...;;;=.;.;=X;..;XX+==+===;=;==;+;+=+.=X=.; ;; .;===;.; = .;;; .;==; . ; .; .; ;;.;....;..;.......;. .;.;;.. .....; .; .... ...........;...;;...=#X. #X.......................................
........................................... ..................; ... .. . .. .. ...;.....;........;;..;. ..; .. .. ..=. .. +=.;;..=;..==.;==.;+;=....;==;===+====;=;=;;;==.=.;;;.====;.=.;+;=;=;=;;.;X=.;==X; ..=X+==.== .========XX=.;+.= . +==;;;;=;==;. . ... . .. . ;; =. . ..=. ;. .;.;;.; ==;.;;.;. ..;..;;.;..;.;.........;;; ;;........++=. =M=.......................................
...................................... ........... ..... .. .. ....... .. ......... .. .. ..=;.. ..;.... ;....;;.=......;....;;;;;;;.=.=;=;=..=+;=+;;=....++===;++=;=;;=+;;;;==;;===;;;==...+;+.=;..=+=;.;;;XX+= .;+=;=.=;=;.+===;;;.+X+=. ;.. ;;.;;== ..... . . .. =.. . .. = . . ; .;;= .. =. .; .;.;;.; .=...=;;= .;=. . ..... .;;;.=;... ;;= .;........M. +#=........................................
................. ........................... .... ........... .... .. .. ...... . = ..;......;= ;; .....;. ;=.. ....;;.;.. ;. .;.;=;=;.;==+;; ;=;==;+=;+;.=;;===;+;==;.;X;+=;+X;;+;.++;=;.;;.+;+;;...;++X;..;X=...;+;.+XX... =.X. =X = .;+; =.;. ;;+== .. + .+ . ; ; = ;==; = ; +;..;...=.;.;;; ..;.;;....;.; ... . =;=.........XM; M#.........................................
............ .... ..................... ...... ......... ... . .... .. ...... . . .. ..... .; ... . . ;; . ..=.=;.. ..=;;=.;;.=;+=;;..++=...=..;++;;;.=++;==;;=+;;+==+;;.;=+;;=;=;;;......=+;;===.=X=.===;;.;==;.;+...;XX+== .XX. =. .+=. == =X;. = . ; .; .. ; . . ; ... . . =; .... =;...=..;=; .=....;;..=;=.........;........=;....X=M +#;.........................................
....................... ... ................ . ..... ..... ... .. ... .. .... .. .. .. ... . . ....;... .......=;; =;.;; ..;=;;. .;=;.;.;=. ==;=+; ..==;;;;=..;+++=+;++=;;====...;.;=;;=;;;.=;;;=.=+;.;X=;;XX;XX=;;;=;;..XX.;X; .X+;;.+ === .+.= .+ +..; = + . . .. . ; ; ; . ;=;= .. ;; .;; ; ... ;;.=.;;...=.;=.......;=;==......... .....;XM XM;.........................................
.............................. ........... ..... ..... .... .... .... ......... . ...... .... . ..;...=... .. ;;; ....; =..;;. .;;;;=..;=.=;==;...=;=....;+====;.;;=;=;+=;=;.=;==;..;=.;=;+==..;+;=;...+;.;+=++X=..;X++=+==..=+;==;;;XXX;;..+;==. ==;= ;; ..;+...= ;=. = =; . ; ;; . . .. . . .;. ...;=.....=;...;.....;.;..;.. ..;...;..;...;;...........;X=. X;..........................................
............................... ................ .... ... .... . . .......;........ ...... ...;..; ... ...;=..;....;;.;;;;; ..=;;.;=.;=.==.;==; ;==;..=+======;====;;+;;===.=..;;.+=;;;===;..;+===;..=;...;===;=;==;.=;==;.=;+.=;;++X+.=..=;..= . ; .;;.== ..;. ;. ; ...= . . . = ;. ;;;;.;. ..;;..;;.....=.==;=;...;;...=.;=. ....;.........=M. .+;..........................................
............................... ... .... ................ .. ... . ..... ...;. .......... . . ... .;. .. . ;..... ...;; .==;=.;;++=.====;==..;;;..;;===+=;+====;+;;;;.;.=;.=;;X+;;..;.....;;;;+;..=;=...=.;=++==;X;==;==;;.=+.;X+++; .+;.;..= . .=.;.=; ..=. . . . . = . ; . =.;.. ;;..; ;;.;;;.=;;.. ;.;;;;....;;;......;.... ;.......;X+. +=...........................................
................................. ............ .... ............. . .;.... ....;=... .... . ;;.. ..... . ....... ....;...;; .;;.=;=.==;=;.+;;=;==+=;.==;=;+++;++=;;=+=;;;=;.=;==;==;;==;......=;+.;;=++==++;..+=+;;;.=+=+X=X+;++X==X==+;= ; ..= ..;;+=;+ ;X;; .= ;X+ . = .. .= . . ; =; ;. ;;; ; . . ;. .. ;;=;=.; ....... ..+;=......=.............=. ;M=...........................................
.................... ................ .... ....... ...... ... .. . .......... .... .. .. .. .. ....=..........;;. ;;.... .;=;... .;;.+..;.;..;=;;=;++;..;;=;.=++=+++=;=;;.;+===;=;;=;.;X=;;=;+...+;;+===;;;=;=XX;.;;;... =X=+;X=+;+X. ;==; X=. ;X. ;+=; .+. +. ==;.=;; . ..... ;.; ; = ..= . ; ...= ..;; . ....;=.= ;;... . ;; .;=;;;.=..;;..;.... ......X.. . =+;...........................................
............ .... .... ... .......... .... .... . ... ..... ........ . . .. ..... .=; . . ..... ... ;= ..=.....=. ;;....=.. . ...=;. =....=;;=..; =+=.=+;.;=... ..;++...;=.......==....;;=X;..=;.XX++.;.;X.=..;.+...;.+;;X=;X;.;.;;+X=== +..+ . .;+ . .=;= . . + .;. .;;.++.. ..;.. . = ;.. . ..=...........;;=;= ... . =;.... .;=..= .... .;=.........X; ;#+............................................
.................... . .......... .... .......... . ...... ............ ......... . ;... . . ... .... ... .. .......;;; .......=;;;==.;=.=;=;=;;=.+=.=;+;;;;.;;;.;++;..=;;.;;..;==;..;..;=+;.===.=+;=.+;+++;;+X;;;;.=;+X;.=;++;+.+;;=;;===X+; ;;=.=.;+=. =; . .. . .... +..; ... = . . ;;.; =. .; .....;. .;.;;;. . .;..;=;..;;; .....;;..=.;..;...........;=. ;M=............................................
..................... ..... ................. .................. ... .. ;... ... ;.. .... ...... .;; . .;;...;.... ;=;. ....=;.==;;.=.;...;.;===;;==+;.;==.;===;.;+=;=+;;=;;...=;;;..+;;...;...;+==+=;X;.++;==;;.++.=;=.=X===X=X==. ..==;..= ;;;X+.= ;+=; . ... . . . . .. ;;. ... . .. . ;;... ;;.. ;=....= ;=;...; ;..=...... .;;.;;;.........;XX. =X.............................................
........................................ ............. ..... .. .....; ..... . ;;.; ..... ...; .. ........... ..;.;.;.;.=;. ;;;;.=;.=;;; ......;;;;.;=.===;=.==;=;X==;;=;;;;+;.....;;;;=...====..;+; ==;;=;+;;=;;;.=XX===X=+;.. ;;;.+==; ==;;X= ;...; .; . . ... .. ;...;.;;;...... .. ..;...;..;=;.;.;.;;......;;;....;.;.......;+++.. +M=.............................................
............. ............................... ....... ... ........ .. .... ........... .. ...; .. .;.;..; ..;;=. ...... .......;;==;.=.;..;.=. ;=;....;..=;==;.;+.;==.;.;+.=;=.;====;+;;;==;..;=;;=;=;;=;=. =X+==+;=;.;+=++=; ;=;.;;++=..==;X;;.;XX XX; ; . . .=;. . . . .....= . ... ....;.; ..;;;;=. .... ...... .=....;.;;;;;.;.;;; ;;...;.....;;;.......;M. #X..............................................
..................... .................... ... ..... .. . . .......... .. . ... . .. ... ...... . ;.;.... .;..;.......;;==..; ==;=;=..;;;... ...=;.=;;..==;=..;;..;;.=;.;;=;.=.;==;.;..;+=;.=X=.=;.;;.+;;..;;+=.;;=;=;;;=+;;;++=.=.;== .=+; . ;. .===. ... ..=;.;......... .... ....; . . .; . == ;;. . . . ; ;;.=..... .............; ;;..... . .;.;=.....;MX M;..............................................
............................... ............ .. ...... .. ... . ....... . ... ..= .==... ....;;.......=;=.. ..=..... ....;. =+;..=;.;=...=== ;=;.==....=+.;;;;=.;+.=;==.....;..........;..;X;;==.....;..++.;;+X..+=;....==.XX;;==..=..XX. X+; =+ . .+;+= ... .... .... . .. . .=.. .. .. . .;.... .... ..=.;... .+. .; ...... .. ..=;=...=. ;;....;.....MM M...............................................
......... ............. ............ . ... . .................. ..;........... ........ +=... . ..=;. ..;.. .=;.. ;=;. .. ... +=..= =.;;..=.;==;=;;;=..=...;;.;;...;...;=..=;;.....==.;=X;..;+;...;+=X=...;;;..;+; .+;.;+X..;;.;;+;XXX==X .= =+X X=. +. .. ......;=. . ... ... . . =; .;. ;.;;.. . ; ;= . ..;....=.. .;...;=.. .. ... .;=;;.== ...;MMX . .................................................
................... ....... .......... ... .... .. ...... . .. ;; =.... . ... . ..;. ;. .;;..... =. ...=.;.;;=;.;;;..;=....=..=;=. .;;=;.=;;;...=;=;..;....;;;==..;=..;=+....=.;;;..=;=;;;;...;;...;X=+..===X;;X.+;;;...;=;.X+;=;+;..=XX+=.X== = . .=.= .;. . . .. ..+.. . .. . .... . . ;;. ....=. =; ;;.;; . = ......; ;;.=. .. ; ;=;; .;;.;;...;..;;.....;MM X#................................................
............................ ....... .... .....................;;..... .. .. .. ....... . ....;...... ;. =;; .. =...;=..;.;; ;.;...==;=;=.=;..;==;=;.;;.;;=;;;.;..;..=++;;;.=;;...==..=;=+...=;=.....=.;=.;;;+X;X=+;==;;=;.=;==.=;XX=X++=+XXX+;.=;=. ;;X;=......;. . .;; ...; .;.... .; . . . ;....... .. ... .... . ........==;;;. ;..;;..;. ......;XX. X#................................................
............................ .... .. .... ................... ... ........ ... ... . .;. .;. .....==....... .......;..==;.;.;=......=;.;==;=;.=;;===.;;.++=;...;;;;;..;+;=+;.=;..;=..;;......;;+;=.;;.+;=;.;.=X=;====X..=;;=;+=;=;==;=.+=.;=++=. = ..;===. .. ..; .. .; ..... .;..;;;. .. .; .. .. .;. ........ .;=;... .. . ;;.;;.....;;..;;=;.; .......;XX. ;M+................................................
................... ................... .... ...;=........ .. ........ . ... .. ... ..= .......=.. . ;; .. ..;. . .;;;;.;=... =.;;.==+;+=;;.;.==.;.===.. .....;=;.;;;;;..;;..;+..;=;..;=.+;+;;.===+;X;.;;=+;.=+=.====;==;X===;;=;=.+X..;+=... .;.. ... ..... ....... ..... ...;;... .; ;.. ... .. ....... .;=..;..;;. ..;....;. ..;;..;.;;....;....;M#= ++.................................................
.................................... ... ..... ;; ... .. . .. .......... . ... ... . ..... ..;=; . ..;; ....;..=; .;==;.;;;;...;....;..=;;.;.;;==. ==+;..+.;........;=;...=;..=+;=+;X;+=;.++=;.+;;.;=;==;.==;++;;===;+;;+=;==..=XX;+XX;;.;;+;==;....... .. .. .. ..;.....; .... . ..... . .. ..; . ;=.. ..... .;.=;; ; ..;;.=.=;... ...;;.........MX;. . . =M=.................................................
............................. ............ .. ... ..... .... .. . .. ..... ... . ... . ..;...= . ....=...=; ..;;.;..=.....;++; ..==......;=.;..=;;. =;.;+++;..=;;;. .=+;.=;++;=;+.;;=;;X;;=;+;+ ;.=+X;+;=;;.;X+.+;.;+=XXX;..;;.X;;..=;.;;+==........= .... .. . .... .... ... . ... . . .;= . . . =. . .......=... ... ...;;=.... ...........XMM =+..................................................
................... ........ .................... ..... ..... ... .. .. . .=. ;;...;.;;....;=........ .....;.. ..=;=..==...=.. ;.;...=;= ;===...=;+;.. .;..=+;;===. ;=...=;+=.;...;;==;..;.........;.... ;X;=..;.=;X;+;;+;;X+...X;;+....;.....;.;= =. .... .... ... .. .=; .....+..=.. ... ;..... . . . ;=;. +; ;; =.. ;;.;...;;... .........;.....MM . . . . . . ==..................................................
........................ .......... .......... ..... ......... . .. .... .... ..... ..=.......;;;.. ........=; .=;.;..=..==;;;=;=.;;..;=.;=.;=;..=;;..;.;=;;.===+==;.;;..;=;;=.=;.;+.;;...=;;....;..=;.=+..=..;+XX+=+====;;+X=;..XX.;;.==++....+ ......... ...;........ ...;.. .. .. =;.;; ..;.. ....;===....... . . =;;....;... .;. ..........=....;X ==..................................................
............. ..... ............. . ....... ..................................... . .. ... .. ...;....;.;..;.;;;..=...;;;......+;;;; =; .. ;;=+=;;.+;;;;=;=+;;;+;====;.==;==;.+;...;=..;;.;..;=.;;;=..;;.+.......;++==;+;.;=+==.;;.=M=+X============........... ;..;. .... .. . ....;..; .; ....;. .;;;. ..;;. .. ;..;;.;. . ;. ..; ......;;......;=M.. . . . ;+...................................................
........................ .............. ................... ............... .................... ...;..==;..=;.;=;. ;; ;;;;....;;+=;.....;.=;..=++;;.;;===;.;======;=...;..;=+=+;==;;;;.;=;;.;..;;.=;;=;===;;;=;;..;.=+==....;=;X...=++###############X............;... .. ;.. . ...;..; .. ...... ....; ...;;...;.;;; ;=....... ..;.......;;.....;X#X ;+...................................................
...................................... .... ....... . .. ....... . .. ..;;....... . ...;; =;;;= ......;..;;.= .;;;;=.....;+;;.... ...;;; ===;;...===;..;;==+;.;;;;.=.;+=;=;.;===..;;....=.;;....;=+;;;.;;==.+;=;;.;;=..=;.=;XXM################M=.... .. ..........= . .. ...... ;.=;.; ..... . ;;.=... . .;......;=;.. ..........;..;.....;M#X. ;+...................................................
............. ........................ ... . ......=... ...... .. . .. . .;.. .. . .......;.;=;. ....... =. ;..; . ..;. ;;.=.=;;....;.;=;..=;;+=;...;=;+;===;.;.;;=;;..;=;;..+=....X.==.=X;=;;.+;+.;=+.; ......;;=;..;M###################;....... ... .. ..;. .. =.. ... ;... .. . .=;.. .;=;=. ....=.;;. ..... . ;;.......;.=......;#X .+;...................................................
........................ .... .... ..... ....... . ...... ................. . ...=. . .. ... ....;...= .. .......;.;;;;. ......+=.;;=;.;=;;==.....=+=..=;=++=... =...=;.;=..=;X.......;++;..;+XX+;; ;X;=;.;+..=X;..==..;X=;...M###################;...... .. ... . ... +. . .. .. . ... . ;; .. . =. ;;= ..==.. .. ..;;........................;X. . . . . . . ;X....................................................
................................ .. . ............ .... .. ...... .. . .;. .... ...... ...;.=...=;. .. .....+;=.. .. .=;.=+=..=+. ;=;. ;=..;;..++==;;;= ;.;;.;=; ..+;;=;.+;;;=;+.;=;=;...;=;.X.;..;..+..;..=.;;==;+..;X####################M;.......... ..... ... ... . .... ... . .;; .. ..;...=.;....=.. ;;=.......=...=;==;;...............;MX .#X....................................................
.................... ................ ...... ........ .... .. . . .... .;... . ..;;.... .;.............= ...;;.+....; ;===. ==...=; ==;;;=+.;...;;==;..==.;;.+=.....=;=+=;;;.=+==;+..;==;..==;.;+=+..;;;...;;..=====+;;=X####################M=............ ...=.....;... .;. ..... .. .;. ;.. .. .. ... ...=;=;....... . . ...=.;;..;;...........;MX .#+....................................................
.................................................... ................... . .. .... . .;;.. .;... . . .;..=;.. ;;==+;.....;.=;... ..;+;;.;;++.==;;;;;.;;;;.;.;;..;=;;===;=;;;.=...;=..=;;.;==;;.;;=;.;=;=;=.;;...+#####################M=............... .......=....;; ..... .;. ....... . ;...;; ...;.;;.. ...... ;....; ;...............;MX. =M.....................................................
.................................................... ;. ..... ..... . .... ... .; .. ... .....;;... ..... ;...;..;;...;.;=.;.;;==... ..== .;;=++;=;;;;;=;===;.=;;;.==...;+=..;==;.;;;;=;......=.;;.;=;;;++;=;.....+X######################X........... .. . . ...=.... ... ;=.... . .;;..;; ;;..;;...;... ;.;;;=.;.................+X. #M.....................................................
..................... ...............................;...................... ...; ....; .... . .. ......= ..;... ..=;.. ...;=+;;==;. .;;.;=.;..;=....;.=;;;;;;= .;...;;;;.;==..;==;+;;==;......==.....;+.;;;..+.;XXX######################M=;........... ........ ;... ;.. . .. . ..;. .;. . =;. ...;...; .;... ....;;. .;;;; ...............;X=. . . . . . +M=.....................................................
............................... .. ................ .. .... .................. . .. .....=.... ..... .=;;...... =. ;;=. ....;;.;=.;;.=.;..;== .=;.;; ;=++=....===......;+=;.;...=;.;;=+;.+.;=.;;.=..;;.;;X=..+;MM#########################;...................... ;..;= . + . .... . .. ; .;.. ...;.;==. ...............................;MX. MM......................................................
................................... .......................... .. ......... ... .... ... .;.... ... . .;;.. = .. .;=.=;. ..... .= .=; =;......;. ...=...=;.;=;;..=...=;=..;;......;...;=;..;;.... ==....=;.;..X#############################.................. ..... .... .... . .=... ... . ...... . ...... . .. . ........................M#X. . . . M;......................................................
........... ....... .......................................... ............ . .... ... .............;=..;;=; =.. . ....=;;;.;.=;.. .=;.;= .;;+;=;;..;.;;=;=.;+=.+;..==.;...;=== .;;=;=..;=...X+.;.=;...;;+X.;;X############################M;................=.+;. .. . ... .. . . .. . . .. . ....... .. .. . =.;;. ;.;;...............;MX X#.......................................................
................................................ ........................................... ..... .=;. .... ..... . .. ==; ;;....;....;; ..;=.;;...=...;+;.;=;;.=..;;.=;;;=;;.;;=;.;;;;......=.=;.....;+===##############################M;........................ . ... ......... ..;;........; ; . . . . . ..;..;.... ..............;==;+X. . . . . . . XX.......................................................
.....................................................................;++++++++++++++==+;++++++;..........................;.........;......................;;.;;.....;;....+;=;..=;;....==;;;;....;....;+X#################################M=..................... ... .. .. ;. .. ........ .. .;.. .. ....... ..... .;..................;X#M; X;.......................................................
.......................... ...................................;XXXXXXX##############MM#X######XXXXXXXXXX=...........................................................;;....;.;;...;;......;;;;.......+XX###################################+.....................=;. ;;....... ...;=. . ;..... ;.........................................XM=; X;.......................................................
. ........................................................+XXXM####+++++++++++++++=++++=+==++=+===X#####MXXXXXXXXXXXXXXXXXXX+.....................................................................+X######################################+.....................;;..;=; ..........; ...... .;.......................................+XM; X;.......................................................
.......................... ...........................;MMM####======;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;===========#M=X+M##########MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM;X...............................;MMM########################################+............................ ..... ... ....................................................=M#;; X;.......................................................
............. ....... .........................;=##MM=;;=;=;=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;;;.;;.;;;.;.;=+XMMMMMM=..MMMMMMMMMMMMMMMMMMMMMM###############################;;##+XM#M;;;;;;;;;;;;;;.;............................................................;;;MMMX . . . . . . X;.......................................................
.............................................;;##MM+;==;=;;==;;=;;;=;;;;;=;;=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;;;;;.;;.;;;;;.;.;;;..;.....;.;;................................==+MMMMMMMMMMMMMMMMMMMMM#############;M##############M+#+;;;;;;;;;;;;;;;;;;;;..;............;.........;;;;;....;;;;+##MM. .. M;.......................................................
............................................;M##X;==;;=;=;;==;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;;;;;;;;;;;;.;.;;;;;;.;;;.;.;;..;;.;...;.;...;.........................................+XXXXXX#############################################X==M====;=======M=========X####====M####MX; +#;.......................................................
...........................................;M#XX========;;;;;;;;;;;=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;....;............................................................+++++++++++++++++++++++++M################+++M#######XM###X++++#####X#+=+++=+#####++=; +#;.......................................................
.........................................XXX++==;;==;;=;;;;;=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;=;;;=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;;;;.;;;.;.;;;.;;.;;;.;.;;;.;;.;;;.;.;;;.;;.;.;.;.;.;;...;......................................................................;================. .===;====;===. ====;.; ===;= . . . . . . . +#X.......................................................
........................................XM+======;==;==;=;;==;;;;;;=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;;;;.;.;.;;;..;;;.;........................................................................................................ .... ... . . .. . . . . .. . . . . . .M#.......................................................
.......................................X#============;;;;;=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;;;;;.;;;;;;.;.;;;.;;.;;;.;.;;;.;;.;;;.;.;;;.;;.;.....;........;.;........................................................................ . . .. .. . .. . . . . . . . . . X#MM+....................................................
......................................X###M============;=====;;=;;;=;;;;;=;;=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;;;;;.;;.;;;;;.;.;;;..;.....;..;............................................................................................................................ ....... . .... . .... ... . XMM#+;;.................................................
...................................;==X#####X+++=;==;;=;;;;;=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;=;;;=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;;;;.;;;.;.;;;.;;.;;;.;.;;;.;;.;;;.;.;;;.;;.;.;.;.;.;;;............................................................................ ..... ... . . . . . . . . . . . . .XXX#=;...............................................
..................................=+############M=======;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;;;;;;;;.;;;;;;;..;.;.;;;.;;.;;..;.;..........;..................................................................... ..... . .. .. . .. . . . . . . =#M...............................................
...............................=++##############M;==;;=;=;;==;;;;;;=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..;..;;;;..;.;;............................................................................................. . . .. . . . . . . . . +M...............................................
..............................=M################M;==;==;=;;==;;;;;;=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;;;.;;;;.;;;.;;....................................................................................................... . .. ... . . . . . . . . . #+..............................................
.............................=M#################M====;;;;;=;;;;;;;;;;;;;;;;;;=MMMMMM+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;;;;;.;;;;;;.;;;;;.;;.;;;.;.;;;.;;.;;;.;.;;..;;.;.....;..........;........................................................................ . . .. .. . .. . . . . #X..............................................
...........................;MM###################MMMMMMMMMMMMMMMMMMMMMMMMMMMM########MMMMMMMMMMMX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;;;;;.;;.;;;;;.;.;;;..;.....;..;............................................................................................................................ ....... . .... . .... ... . #X..............................................
......................;;X#########MMMMM=;=;;;;;=;==;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;;;;;.;;.;;..;.....;..;..XM....XMMMMMMMMMMMMMMMMMMMMMMMMMMMM########M;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.................................................................................... ..... ... . . . . . XM;;;;;;;........................................
.....................;+#######MMMM;;=;;=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;;;;;;;;;;.;.;;;;;;.;;;.;.;;;;;;.;;;;;.;;..;;.;.;.;.;;.;;......................XMMMMMMMXMXXM#MXMXMXXXMMMM##M#XM#MXM########X;;=;;=;;;=;=;;.............................. ..... . .. .. . .. . . . . . . X######M=========;..............................
...................==+######XX+==;=;;;;;;=;;;;;=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;;;;.;;;.;;;.....................................................+.........;==XX.+.=X;..XXXXXXXXXXXXXX########X====================;................. . .. ... . . . . . . . . . ;;;= +++X+++X########X=====;........................
..................=M######XX=====;=;;;;;;;;;;;;=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..;;;;..;.;;;................................................................................+++++++++++++################X+++++++++++=;+;=. . . .. . . . . . . X##M+=+=+=+; .====##########M+++++=..................
.................=M##+++++================;;=;;;X+++X=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+;;;;;;;;;;;;;;;;;;;;.;;;..;;..;.;...........................................................................................................============================;.=.= ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+XXX+X+XXX+XX+XXX+X+XXXXXX+XXXXX+ +##########M++++++++++++.++++++++;................======M+#M=======..................
.................X##;MMMMMMMMMMMMMMMMMMMMMMMMMMM##MM#M############################################MMMMMMMMMM;;X;;;XMMM+;.;.;;;;;;;MM++=.;=MMMM;;;++=XX;MMMMMMMMMM;XMX.............................................................. . ..... .. ..... . . . . . . ;;;..;.;.;.;..;;..;.;.;.;..;;;.;.;.;;;..;;;X#############################X .M#################+...;M###+====;......................;.=;.........................
.................X##M#######################X==============================;==;==;==;;;;;;;;;;;;;;+#+M######MM#MMM#####MMMMMMMMMMM#####MM#####MMM#####M##########M###MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM..................................................... .. . ..... . ... . MM X########M =MMMMM;;;.........................................................
.... ..........X+=====X+==M=++;=====;=;;=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;M=X;;.;MMMMMMMMMMMMMMMMMMMM;MMX+MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM######+;;;;;;;;;;;;;;;;;;;;;;;.;..;;..... . . . . . . . MM. XMM##MMMX ....##MMMM..............................................................
.................++====+++++++=+=+++++=++=+=+=+=++==++=+=+=+=++=+++=+=+=+=++==+============================;.;..;;..;.;.;.;..;======;;====================;...............................................+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX#####+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;; . .;;;;;;M#M;;;;;=##+;;;. ;XXXXX+..................................................................
....... .........XX++X####################################################################################X++=++++++++=+++=+X######XM####################X++======........................................................... .. .. . . ..+XXXXXXXXXXXXXX#######M++XXXX++X++X+++++X++++++++++++++++++MX++############=;;+#######X;M=;;;;;;;;;;;;M#######+++++M####MXXX+..........................................................................
..................X#############################################################################################################################MXXX+XX+XXMX#X#####+++++++++++;...;=................................................. ... . .. . . . =======; . . . ;. ====+===+=====+X=========================##X=== ====M#M++;..............................................................................
..................===########################################################################################################################X+++=;;;=;;;;====+++++++MX#######MXXXXMXXXXXXXXXXXXXXXXXXXXXXX.X+;=.+................... ... . .. . . . . . . . . .. . . ;;=XXXX#M=====.................................................................................
;=...................;+##################################################################################################################M====;=====;;;;;;=;;;;;;;;;;============;=====;=;====;=+#+=;=;==X#M##MMM#MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXMMMXMXM+ .XXXXXXX+;;;;;;......................................................................................
... ...................;;;;################################################################################################################X===;;=;;;;;;;;=;;;=;;;;;;;;;;;;;;;;;;;;;;.;.;.;;;..;;;.;.;..;;;;;;;;;;;;;;;;;;;;.;.;.....X############################################MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX.;;;;;;;;............................................................................................
.............................=MMMM############################################################################################################+=====;=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;;.;;;.;..;..;............................MMM#########################################################################################MMMMMMM=.........................................................................................................
. ... ............................XXM############################################################################################################M++=+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.;.;;;;.;;;.;.;.;;;..;.;.;........................;XXM#################################################################################MXXX+.................................................................................................................
............. ......................=XM###############################################################################################################X+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..................................=+###########################################################################XXXXX;.....................................................................................................................
................. ...................=++++++M#########################################################################################################MXXXXX+=;;;;;;;;;;XXXXXX=;;;;;;;.;.;;;..;.;.;.;..;;..;.;...;...........................=+++=M############################################################X++++++++............................................................................................................ ..............
........ ....... . ......... ................;=====X##########################################################################################################MM=;;;;;;;;=#####MXXXX=;;;X;;;;;;.;;;;;.;;;;.........................................;==#XX##################################################=====;...................................................................................................................... ..=;........
........ ........... ... . . ......................;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;=#########################################################MMM;;;;;;;==X#######MMMM#M+;;..;.;.;.;..;;..;.;...;..;................................;..X###########################################M;;;;;................................................................................................................ ......... ....;.........
..... .. ........ ........ ............................................................................;;;;;;;;;;;;;;;;;;;;;;++X###################################M#X;;;;;;;;;M#########X;;.;;.;;;.;..;..;..........................................;#######################################M;;;;;;;;...........................................................................;;............;;.................... .. .;;........................
.... ...... . ........ .=;... .. . . .... ........................................................................................................................;MMM+=====;;==###MMMM;.;==;;===;;.;..;;..;.;.;........................;;;;;;;;;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM;................................................................;.......;.................;.;;.=;....;;........;...... .;..=....;. ....=. ...=. ;=. ........
........... ....... ..... ... ........... .... ;............................ .. ....... ...;......;;.........;....;...................................................+XX#M++M#XX+;;;.;;X#######X=====;...;.;...;.....................;M##MXXXXX=...................................................................................................;;..... .;;..........;;..;;; ==;.;....== . .. ..;........;;.....;+;..... . ......... ..;;....
........ ......... . ......... . ...... ............ ;........... ..;........;;...... ; .;=.....;=.........;....;......;;............................................=+####XX;;;;;;;+X##############M+++++=..........................;M#X+......................................................................................................................;;.....;; .=;;...; . ....... .. .;;...;... ;.;;;.;=;. .;...;;.................
......... . . ..... .. . ............. =....... . ... ...; . .. .;. . ...=;.;...;;.;....;.;......;;..............;;..;;......................................;XXXXX#+++++;;;;;;+XX#M===M==+#############MXXXX+......................;==MX+.........................................................................................................;.......=..;;...=;==. ;;... ..... ; . .........=;.. . .;;..........=..... ..............
................ .; ....................;... .. .. ...=.. .... ;.. =..... .;......=...=;.; ......;;....... ...;;.;.=.....=...............................+XXM####++;;;;;;;;;;;X###X.. MXX+;;X################XX=......................;##+........................................................................................................;..... .;..;;=.=;;==;...==; ....;; ;=.==;... ...=;..... ..... . .....;;........;;.........
. ... . . ... ............. .. .. . ... ... ... ...= .. .. . ... ... . . ......;==; ;=; ..;=;......;=....;=......;...;...=;;...........................MMMM###=====;;;;;;;;;.=MM#+=;;....###MM##M..+#############MMMMMM+.................;=#MM;.....................................................................................................=;.......;==.;. ..;.;== ....;= ...; ... .....;. .. .. .. ... ... ;=;..;........;..........
.... . ........ . .. ... ...;; .... . .. ....... ... .. . . .... .;=; . . . = ....;.. ;....;.....=. .. ....;;........=........................;;;;###########+=;;;;;;;;;;;;;;####+;.;... ##########+ MMMM#################M;;..............+###;;......................................................................................... ...;=....=. .=;... ..=. .=.=+= ...=;.;=.=;= ;=;... . =.......... == ..... .... ... ..........=
... .... ......... ..... .. ... ;............... .; . .. ..=. ..;... .=.;=. . .;=;.;=;+;.=..;;..+.......................;;... .............;X#####MMMMMMMMM##+==;;;;;;;;;;M##X;;;;..... X############;.. ;XX#################X..............+MM#M====............................................................................................. .=.....= ;=... .....=;=..;;=..;==.=; =.; ;. =;;=;+....... .. .=;=.. . ... .......;=.......
... .... . . .......;............= ..... ....;... . .....;..=..;..=... ........ ...=.;;.=.. ;.;;;.;;.......;;..;. ...........;=..;;........;=XMM###X+=;;;;;;+X###M+=;;;;;;;;M##M+++=;... ..X#############M;; +X##############XX=................XX####+==;.......................................................................................... =..;;..;.;.;=..=.;;.....==+...;==;=.;.=; ;;;;;.; .. . . ...=..................=........
... ...... .........;..... ........... .. .;.. ;;.;.; . .;...;.. ;.;.... .;.;=..... .....=..= ;;...;;;;;...;;.. ...;..;..;;;.......;#M+M##+;;;=;;;=;;;+####MX++X=;;;+XXXXM##++++++ X###############X==.+X+++###M++++=.....++++++++++++...;+++++++++++++=................................................................................;.......;==;;..;. .;.=;;;..;.;;;.=.=;=;. ..===.;=;.. ...;;;.. .;. ................... ..... .
....;....... . ..... ;; . ...... . .... . .. .. ;;.;;...= . .+.. ; .;.;.... ;..;;. . ....;..;..;; ....;;...........;;.......;.......;#XX##X;;;;;;;;;;;;;#########M=;;;;;;;=+++X####++X##############X===..=XXX#==;........=X############XXX= ......==M##MXXXX........................................................................;...;;;. =..=;;;. ....;;..;;.... ..; ..;.;. ;;==;;. ; . ...;.;.. .............;........ ....... .
.....;.... .. . ...... ...... .. . ..=.... .... ... ... ;.;; .;...; . ..;.=.. . ;;.=;==;......................=...;;..;;;................M#X=M#=;;;;;;;;;;;;X#M+=+===+==;;;.;;;;;.;;===M##########X======;;..XXM##+=..........+M################MXXXX......;;;+####MMMM=...................................................................;;;=.;;..;..;...=..... . ;..=; . ..;.=; ;.=.;=;.. ....=. .;;...;; .. .;...=.;;;. ............;.
........... ... . .. ........ . . .. . . .. ... .. ...;.=== == =;=. ....... .. ..;... ..... ..=........;;... ...;....... ...;;.........##X=====;;;;;;;;;;;==;;;;;;;;;;;;;;;;;;;;;;;;;==###X;=;=;;;......+MM###+;............+######################MMMM=.....;;;M####MMMM.................................................................;.;;=..... .; .;=;=.... =;;..; .;. =;.;;;; . ... .... .;.. .=;. . ... .....;....... .... .;; ..
....... .... . .. .... ...... . .. ... ... ... ... .. =.;; =..;; . ..;;.... .=;;.; .=;=...... ;;.........;..=;.......;......... ...........##X==;;;;;;=;===;;;;;;;;====;;;==;;===;;.;.;;;..;.;.;.;..;;;;;=##MMMM.;..;;;;;X#########MMMMMMM####################M...... . =MMMMMMMM;;;;;;;;......................................................... .=;....=;;..;;..;+=;;...=. .==;=.. ..=;...;. .;;..=... ........ =.................. ......
.....;....... =... . ........... ...;;... ......=.. ..... .;;..;=;;.;.....;+=. .;=.;=;;;;;. .;.........=........;;.=...... .....;........####X;=;;;;;=##M;;;;;;;+####M;X##+=###X;.;.;;;..;.;.;.;===X###MM=;.;...;=M##############====;..MMMMM######################M;;;.. . .XXXXM###====;................................................ ....;....;..;= ;.;.==;=;;..; .=; ; .== ;;. =+=;==;. .; ...... ..;.... ;................. .
.....=........ ........;; ...... . ... . . .. ... ;.. ;......... ..;;..=...;;=;....;;;..;;;==;....;..;;........;...;;......;;.....;=;.......#####===;;;=M##X;;;;;;;+####M;X########X;;;;;;;;.;=+=++######X......===X##XXXXXXXX##########X=====..+XXXXM#####################======.=. ; ;X+XXMXMX====;................................................;...;;..=.;;;;.=....;. = ..;;.=. . . ;.. ..=... ; . .. ..;.. ...;;....;.........;;.. ... .
.............. .. ... . .. ..... .. ..;.;; .;; .;;;. .;. ... .. .....;.. .;;...;..;;...;....;..;;........;.;;;;......;;.....;;........X####XX;;;;M###X;;;;;;=M####M;X#########+++++++++X###########;...=+X###M++........X##############M+++++=.=++#########################X==.= = ;+M###M++++.......................................;........;;.;;.;;;.;.. ;;..;;;;. . .=;;..;. ;..;;. =.. .. ...=.... . . ..........;. .;....
.............. ..... ..... . . ....... .... ... . .;;. ;=...;; .;. . ;=; ....;.. .;;.. ...;.. . ;;.........=............ ..............;######XXXXM###M;;;;;;+#####M;X##############################+...X##M==;...........X###################M=...===X########################XX+++X. ;=;=+####XXX=............................=......;........;. ;. .===.....=; =.;=;. ..;.;.;. ; ..;.;....;... . ...;. .....; .............. ;;....
.. ......... ..... ... ......... ... . . .. .......;;;;.. . .=...=.... ;. .;;.....;=.;. .;;.... ;=;...;;...;........;;.....;;..........;+#############M;;;;;;+######MM#########+==========;;;;;;;..M#X;.;==;.;............;+#################M=;......;=======X######################MXXXXX.. ;;;..;;.+MMMMMM;....................;.......;=....=;=.;;.. ;.;.== .+=;=.;=;. .=;;;.=;.. =.=.;.... .;..;= . . .;...........;=. .. ...;...
... .... ..... ..... . .. .. .. .. ... ....= . .+;.;;..... .;.. .. ;; ... .;. ...... .......................;;.=..;; .=.;+;..........=##############MMMMMM#################+;;;;;;........ . M##MMMMMMMMMMMMMM+.......X###############=;................;;;;#########################MMMMMM.X ;###MMM........................= .;. ..;.;++..= =...;+= . ;;=.+=.. += . = . ;. ;=.....;; .;= . .... .... . . . .;.... .......
.. ...... . . .. .. .. . .......... . . ... .=...... .. . .= ..;; . . ;;.;...;;; . =.=+;........... ...;...........;................=###################################+=;;;;;.;....... ######################X;X##########MM+............................XMMMM########################M;X.. +MM###+;.................;;;..;;+;;==.=...=... .=. ... . ;===== +=. = ..= ... ... ..=.... ;; . .= ... .. ..... ....... ..
..... ... ...... .. .. ....;..... .... ... . . .... ;;... ...; ...;. . ...;;; ==...=.. ;;.;..............=.;;....;;..;.................=MMM############################MM#+;;;;;;;...... . . ##MMMMMM##########################X...................................=MMM##########################=. XXM##==.............. ..=;;=;;+=;;......;.; = ;.;=;. =.... ;;.;.; ...;.=.==;;. . .; .. = ;.. .. ... . . .... .....
.... ...... ..... ..... ... ..... ........;; .. .. .... ....;...;..; ...;==..;...; .....=.;;.;;................. .. .;...................XXXXXXXXXXXXXXXXXM##XXXXXXX+.+#+;;;;;;.......... #M=;;;;;XM#####MX+++X++++M#+X####X........................................+XXXXXM#####################==;;;;;;;;X###M=...................;=;=;;;.;;;;;==;.;. ...;. ; ..===... . ..=;=.;;. ... ...;.;...=. .... .. . ...... ........
.. . . . ..... ...... .. ..... ... ..... .; ...;... . .... .; ..;;; ..;;.. .....;;. .;.=;.....=;...;....;.... ......;....;;;..................................=++.........+#+=;;;;;;;..... . . #M=;;;;;;+####+=. ;== ==X#X..............................................=+++X##########################M+++++=.........;;=;;;.;=.;.;===;=;..;;;+==;........;= .;=+..... .;.;=;.;=;;. .; ...= .;.;=.;; . . ... ;.. ... ......
. .... ........ ...... .... . .. ...... .. ..=.;;;..... .. ..= ; .= .. .....=.. ;;.;;....=.....;....;=. .;;.=..;;.....;;.............................................;M#+;;;;;;;...... . . #M;;;;;;;;X##=... +; +##..................................................;===M+#############M=======;..............;;.+;=;.;;=;..=+..+=.;.==.;=. ...;;...;.;;; .=;.. .;=.. ...;.. =;... ; .;.....;;. .; . ..;= ..;.........
......... .. . ...... .. ...... ... .... .. .. .... . ..;;..... =;.. .=.;=;...=....=;.+=. ........;.... ......;...;;.=....... .... ...........................................=##+;;;;;;;........ . #M;;;;;;;.;;;...... +; +##......................................................;;==X###M======;.....................;;=;+.;.=..;;=;=. ..+...;= ...... .+;=. ;+= =. . ... ;.. ; ; . .;... ... .. ...... .;;..=.;..;. ... ....
....... ........ . . .......... ... .. . .... ...... . =; ;=.....;..... .....=....==.;; ......... ............ .....=.. ..............................................=###=M#MM+.;........ #M=;;M=.;;;;..... +M.. +; MX X#..........................................................;;;;;......................=;.......=;;=.=;=;+=..=. =;.=+;;;=;.= =;; =;. ..; = . . ;.;= .... ... .... .. .... .. ...... ;=.. ...... .
............... . ...... .......... ....... ......; . . ;;...;;.=..;....;;;;.. =.. ............;;.. .;;.. .;= .+.........;;.......;;;=;;.=;...................................=########X;....;;;;;########MX##############################............................................................................................=;.=...;; =++++.=;.;;;..=.;==+;.=.;; =.;=.; =.=.. . .. ...;;. . ;..... ...+= .... . .................
... .. . .. ....... ..... . .... . . .. ....;== ........ .; = .;....=. ;;. . .. ..;.... ...;;.......... .;;.=... ....;=;;......==+;==;.....................................=##########+.=+############################################M.........................................................................................;;;.;.;;;;=+=;=++=..=..;=. ...;.=== ;;;.+;. . ...=;;..= .; ... ;. . =... .;.. ;;;=....... . .................
............... ... .. . ... . =. ... . ..... ;..... .. ...........;..........;..=; . .;;; ... ..................;;.;;.;;. .....=..;;.....................................;M##########+##############################################;...........................................................................;.........;;..=;=;;;=;;====+===;;+..;;; . .. ;=......=+;; ..;;.;;;.;=. ..; =. ;;=;. =;; ..=... ;.... . .....;;........
............. ..... .. ... .. .. . ... ;;. . ; ..... .;.;;...... ;....... ...;... .=..... .........;=;;;................;;......................................+########################################################X;...........................................................................;.........;;.=.;+;...;.;===;;;.;=+.;...;=.;;;==....;..; ;;=;; .;.... .;; .; ; ... ;;;.... .;........;;...;....
.. ... ... ........ .. .... ... . .. .. ..... . ..; . ; .... =.;=;;... .......;;...... .;...; ;......=.......;=;;.=.....=..................................................+##################################################+=====;...............................................................;;........................;;====;=;.;;==.==;=++ ;=.;+; .;=.; .;;.;=. ;;=.. . .;= . ;.. .; . . . ... .............. ........;;. ..
.. ... . .. ... ..... .... . .. ... ... . ... ..... ..; . . ...;;=......;. ==..;... .=; .=.;;=...=;=;.=;;.=;.=.;...;.....;.....................;=...........................;X################################################+.......................................................................;..........................=;==;;=...=;=;==;;;== ;;;. ; === ;;;.==; == ; .. ;.;. .=.. . . . . .. . . ...... . ;=. ......;;..
......... . .... . . . .. . .. ...... ... =. . = = . .=.;=.... . ;= .;=; =.... =;++=+.== .==+;;=.=;..;=...=................;;....;=..................................;X##############################X;;;;;;;;;;;;;;;;......................................................................................... ...;;..=;+=....=.=.....;;+;.=;==;. .. . = .. . .==; = .. .. . .;=;. . ... .;; .. . . .... ................
... ... .... ...... . ... .. ... .... . . .. .... . . .. . .;=;. ; ;;;=..;;.. ;+ .;.. .=.;=;...;;;;;...;;..;...........;=.................=;..........................+MMMMMMMMMMMMMMMM#######M+...........................................................................................;......................;=;;..=;;.. .;;. .=.;=.=;.;.;;=;+===;.= +=;.;+;.;= ;. . . = ;; = .. . .;. ..... . .;. ..... .;.........
. .. .... ...... ... ..... ........ . . ;. . ..=. ;... .. . . . .... ;=+==;;.==;;..=; ..==;=.;.==..=;..=..... .=...........=;.........;;.....;;.;..;......................................;XXXXXXX.............................................................................................=.................;;......=;..=. =;;; ;;;+=;;;===;;;=;== ;;;=. ;; ;=; ..=.;.;.; . ; .; . .. . . .............. ;. .......=;.... ...
.......... ........ ...... ...... . ; ..... .. . ; .;.. ;. . ...... =;;;.;;;=.;=.....=;.;==.;+=..;.;;..;...........................;;........;.;;........................................................................................................................................................;....;;.;;.....;.;;;;==;;.==;=;=;==. .++=;;=.;...;.;=; . ; .;.. . .; .==. .;=; ...;.. . .... ............ ...
....... ... . ..... .. . ..;;. ...... .. . .; .. ; ...;.; ;; ...+;. .;.==;;;=.=+=;..+.;;.;;..;..;;......=........;.......................................................................................................................................................................= ....;.......;;.;;..+.;==+..;;;=;;..=.=;...;=;;+= . ...;;;..==; ... ; ;; ;; .;;..; .. ;... . . . .;. ...... .........
. .. .. ....... . .. .. . . . .... . . . ; ; .;.; . .;. ;=;.; .; =. .;;..;;;...;=;;=.;...........;.......;......=.;.;;....;;..................;;.......................................................................................................................................;;.;...........;;.;=;==;;..;;;.==.;;=;=.;..=;=;;. =.. ;. =;;.=.... ;..;.;. . . ... ;=. ; . = ;... . ; .. . .. . .........
. .... . .. ;; . . .... . =. .. .;. = .; . . ; =..=. .; .;;=;;=;;;; =;;;;.=......===....=............;...;.... .;...................;.......................................................................................................................................;.... .....=...;...;=;;= ..;;..;=;=.;..=..;;=..= ==; .. .; . = .. =;..;;.. =.. . . ..; .. . . ....; .... ... . ... .....
. .. ... ......... . .. .. .. .. .. ; .= = .=; ; . .; = ;=. =+= ..=+ =;.;; = .;.= ;=.......;......;.;;;=.....=......................................................................................................................................................................=;..;=....;=.......;+;........=......=.. ..+ . . ==.; ; = .; ..= .;...= .; . =....= .. = .. .. .;; .. ... .. ... ... ... . .
.......... ... ... . ... . . .= . ; . ;;.. . ;.=.=;.==. .;;===. ;;.;;===;;.;;=..=;==..;. ;..;.....;;.;..;;;.;..;..................;.................................................................................................................=..............................;;..=.....;.............==.....=...=..=.....=... . ...=; ==.. ; .;;=. ; . ..;=...... . .;; . . ;; . .. ............... .....
......... .. ... . . . . .. . . .. ; . ; . . ..; ;;;. . .;; . . ;.;;.=+..;;=;=.;;...;...=;.;..;;...;.;;=;;=;; =.;;............;.....=.......... ...............................................................................................................................................=;.;;........... . ;;.;..;;....==;.;=. ;. .; .;..;;=;.;.;.=; ;. . ; .. . . . . .... ... ...;........ ... ..
.... ....... . . .. . ; .; . . . .; ; . . .= ;.; .. .. .===;==;=; ;;;..;..;;.;.;;;;;..;;.;;.;;.;;;..............;;..;;..................................................................................................................................;;.........................;;..;.;=...............;.;.;;.;.;=+;;.+=....;... .=. .=.;;=;;. ;.; .. . . .; . .. ...... .... .;..... .;.. .. ..
.. . ... .. .. .. . . .. . ;. . ;; .; ..=.=.=..= ;.=;.. ;.==;.;. ==..;;. ..=.;;...+;;;;;..;;....=;;..;...........;;.......=.=............................................................................................................................;;.........................;;....;;..............;; .;;.==;==.. .;;=.; ... . ;;.. .;.;;;.+.;.. =... .. . .. . ....;. .. ....... .....;.....;.. ......
. .... . .. . . .. . ... .. .. .= .. .. =. .=;.. ..;+=.=...; = ;;;.=..;;;.== . ..+=..;;.+;=;;....;....;.;..;.....;;.............;.;............................................................................................................................................................;;....=...=;.....;.......=. ;;.= .. .;... .;. ; . ; ...==. .. ;;= .. ;. ; . . .. ..;; ...; ...... ... .. .. .....
...... .. .... .... ; .. . . . ; . . . .= . .; .=.; .;..; .= ;;=...;=...;;; .....+;..=;.;.;..=;....... ....=;==..;..........................................................................................................................................................................=;..;....;.;;=. .;;.=;..;=. .=....= . ;;= =..;. ==. . . = .. . . .. . ...= . ;;. .;... ... .... ................=......
....... . .... ..... ..... .. . .. . = = . .. =...===.==.. += ... . .. . ....==.....==.. ...++=.......=;....;;.;...=;........ ......................................................................................................................................................+=...........;..;+;.....=; . ...= .;;....;=;..==;=.. +=.; =...;;=. . =.. . ... . .;; .= =; ... .. ........ ;;.. ....... ....
.. ..... . . . . ;... . =. . .. ..;=. .; ; . .. .=;; .=;;==== ;.;..=....==...;; ;.....=..;.;....;..........=.;=;;....;;..=..;;...................................................................................................................................;..;;....................;..=.;...........;.;;;..;+;;;;;=..;.=.;;...=..;+. ;=.;;.=.;=. ; ..; ;... ..;. .. . .. . ;;..... ... ;...... ... ........
.... .. .... . .... .... . . . . ..... .; ..; . .=; =.;. .=;.;; .; ; . ....=; ;;;=.=.;.;;..;=;;;..;;....;...;;.........;;;;...;=;...................................................................................................................................=..;;..............;.....;;. ==.;.=.......=.;;;..;=.;+=.....;..; ;; .;..;;; .;.;=.; . . ;;... .. . .;... .. ... =... ;=....... ...... ...
..... . . .. .. .. . . . . .. . =; . . .+=; =;+=;;. =.;.;. .==;.;;.;;...;=;.;;..;=;..........=;..;;.........;;;=;..;;;;.....................................................................................................................................................;.......;.=;.;;;;;;...;....;..;;..=;...;=;. ..;.;..;;..;. ... .. ..... .. ;.. ... ;;.;... ... ...... .. ............. ....
..... ... .. . ... ... . . =. . . ;; .;; .;;;. ..=. .=+..;.;; ..;; ...;+;;=..;;==;;.;==....;;;..=.......;;;............;;.....;=;..........................................................................................................................................................;;=;......;;;;...+...;+;...;;;. .;;.......;=..;.;; =; ;;. .; . ...;. .;;. .. ...... .;.... ..... . ........ .........
. ..... .. .. .. . . . .. ...; .. ;..;.. ;.. . . =. =;..;===;==; =.;;=+;=;=;;...;==;....;=;.;........;;.. .........;;.....;;...=.....=.................................................................................................................................................;;;. ;;..........;. .;=. ..=; ..=;;;....;;=;=....;. ;;.. ;.. .... .. ;.......;;.=;. .. ..... ; .... .. ....................
.. . .... . . . .. .. ; .. . . . . . ; ... ;= =;;. ;=.. ...;;= .;;;.=;=.....=;;.......=;........=.;;.................;.....;...........................................................................................................................................=;...... ...;..=.....= ..... =.= =;..= ...=+...=; .... . .= ;; .... ...... . ...=;=...... . ........... ...... . ............. ..